一套不用维护的日期归档#
没有规则引擎,不用学语法。DayDrop 只为每个它经手的文件夹记录完整日历日期,并按文件「年龄」把它放进三层结构里——超过 14 天自动升入月层,跨年再升入年层。
最近两周的下载停留在顶层,以带 Day 前缀的完整日期命名,抬手就能翻到。第 14 天仍算「最近」。
越过 14 天的当天,DayDrop 把这一天升入「月层」,同一个月的日子聚在一起。
另一个年份的日期进入完整「年 / 月 / 日」结构——年份从不靠目录名猜测,而是来自完整日期记录。
保守,是刻意的选择#
从文件系统事件到归档落位,每一步都有明确的「不做什么」:无法证明完成的文件不动,证明不了安全的目录不碰。
事件唤醒
基于 Dispatch 文件描述符监听「下载」根目录与当日文件夹,没有轮询,空闲时 CPU 趋近于零。
event-driven完成判定
隐藏与临时文件直接跳过;候选文件的大小须在两次检查间保持不变,且未被协作进程独占加锁。无法证明完成,就延迟重试。
size ×2 · lock日期路由
实时下载记完成当天;手动整理的旧文件取创建日期(回退修改日期),映射到唯一的归档路径。
Day / Month / Year安全移动
全程持有咨询锁,校验卷与 inode 身份。重名追加序号、绝不覆盖;任何一步失败,源文件原样留在原地。
name (n).ext记录与刷新
成功或失败都会写入本地操作记录(保留最近 50 条),今日列表在相关事件后两秒内刷新。
≤ 2s UI refresh菜单栏里的一件小工具#
所有功能都在那块 340 点的面板里:一眼看状态,一键进文件夹,两个开关管住日常。
今日下载,一点即达
「今日下载」模块既是状态面板,也是访达入口——点标题、空白态或文件列表,都会创建(如需要)并打开今天的归档文件夹。创建即写入完整日期标记,纳入受管记录。
暂停与继续
批量导入、整理桌面周——随时一键暂停,新的下载立刻不再被动;状态实时反映在面板头部。
立即整理现有文件
首次授权后由你明确选择:把已堆积的顶层文件按创建日期一次性归位。应用启动时不会自作主张。
最近 50 条整理记录
每一次移动——无论成功还是失败——都留下一条本地记录,含源与目标。出问题有据可查,记录只存在应用容器里。
登录时自动启动
macOS 13 登录项 API,面板与设置页里的开关绑定同一运行时状态。
整理完成通知
默认关闭。开启后每批整理完成发一条系统通知,授权与否都如实反馈。
绝不覆盖
目标重名时自动追加 (n) 序号;移动失败时源文件原样保留。
你的文件,不出这台 Mac。
文件整理始终在本机完成;只有检查软件更新时,才会访问 DayDrop 官方网站,且不会上传文件名、文件内容或操作记录。
文件处理完全本地
整理逻辑、文件元数据与操作记录全部留在本机。网络权限只用于从官网获取签名更新清单与安装包。
local file processing
App Sandbox 最小授权
仅持有你亲手选择的「下载」文件夹读写权限,并通过安全作用域书签持久化,重启后依然有效。
不读文件内容
判断一个文件只依靠元数据与打开状态:大小是否稳定、是否被独占加锁。内容本身,从不打开。
公证过的发行版
DMG 以 Developer ID 签名并通过 Apple 公证,票据已装订,Gatekeeper 直接放行。
Notarized Developer ID · stapled
常见问题#
(n) 序号;任何一步移动失败,源文件都原样留在原地,并写入一条失败记录。