macOS 菜单栏应用本地运行

下载,按天归位。Downloads, day by day.

DayDrop 静静待在菜单栏,等每个下载真正完成,再把顶层文件按日期归位;同时用只读索引覆盖整个「下载」目录,让你直接存进子文件夹的文件也能随时找到。

macOS 13 Ventura+ Apple Silicon / Intel 通用二进制 Developer ID 签名 · Apple 已公证 递归文件查询 · 不读取内容
DayDrop
自动整理已开启
今日下载 4
DayDrop-1.1.0.dmg 14:30
季度复盘-最终版.key 14:06
design-tokens.json 13:34
museum-tickets (2).pdf 12:38
登录时自动启动
整理完成通知
~/Downloads
Archive Rules

一套不用维护的日期归档#

没有规则引擎,不用学语法。DayDrop 只为每个它经手的文件夹记录完整日历日期,并按文件「年龄」把它放进三层结构里——超过 14 天自动升入月层,跨年再升入年层。

下载 — /Users/you/Downloads
名称大小修改日期
Day 2026-08-12今天 今天 14:30
Day 2026-08-11 昨天 18:02
Month 2026-05月层 5月12日
Year 2025年层 3月21日
发票-2026-08.pdf刚完成 2.4 MB今天
事件监听中 · 空闲 CPU ≈ 0
0 – 14 个自然日
Day2026-08-11

最近两周的下载停留在顶层,以带 Day 前缀的完整日期命名,抬手就能翻到。第 14 天仍算「最近」。

超过 14 天 · 年内
Month2026-05
Day2026-05-12

越过 14 天的当天,DayDrop 把这一天升入「月层」,同一个月的日子聚在一起。

跨自然年
Year2025
Month2025-03
Day2025-03-21

另一个年份的日期进入完整「年 / 月 / 日」结构——年份从不靠目录名猜测,而是来自完整日期记录。

试一试 · 选一个文件日期
归档路径
Downloads/Day 2026-08-12/
距今天 0 天,属于「最近」——停留在顶层的完整日期文件夹。
Pipeline

保守,是刻意的选择#

从文件系统事件到归档落位,每一步都有明确的「不做什么」:无法证明完成的文件不动,证明不了安全的目录不碰。

01

事件唤醒与扫描

顶层整理由 Dispatch 事件唤醒;整个「下载」目录的只读索引由递归文件事件触发重新扫描。事件负责提醒,实际目录状态才是判断依据。

event → scan
02

完成判定

隐藏与临时文件直接跳过;候选文件的大小须在两次检查间保持不变,且未被协作进程独占加锁。无法证明完成,就延迟重试。

size ×2 · lock
03

日期路由

实时下载记完成当天;手动整理的旧文件取创建日期(回退修改日期),映射到唯一的归档路径。

Day / Month / Year
04

安全移动

全程持有咨询锁,校验卷与 inode 身份。重名追加序号、绝不覆盖;任何一步失败,源文件原样留在原地。

name (n).ext
05

记录与刷新

整理记录永久保存在本地 SQLite;文件索引同步记录发现、重命名、移动与修改,查询界面随扫描结果刷新。

local index · SQLite
Features

菜单栏里的一件小工具#

一眼看整理状态,一键进入今日文件夹;需要找旧文件时,再打开覆盖整个「下载」目录的文件查询。

今日下载,一点即达

「今日下载」模块既是状态面板,也是访达入口——点标题、空白态或文件列表,都会创建(如需要)并打开今天的归档文件夹。创建即写入完整日期标记,纳入受管记录。

~/Downloads/Day 2026-08-12/

暂停与继续

随时一键暂停自动移动;只读索引不会停,文件查询仍会继续跟上目录变化。

立即整理现有文件

首次授权后由你明确选择:把已堆积的顶层文件按创建日期一次性归位。应用启动时不会自作主张。

全下载目录文件查询

递归索引任意深度的文件:无论是 DayDrop 归档的,还是你直接存进二级、三级目录的,都能按名称、路径和类型查找;当前文件与已不可用记录统一呈现。

变化识别,保持克制

发现、重命名、目录内移动和修改会更新索引;复制件按新文件记录。文件消失时统一标记为「移出或删除」,不会在无法证明时猜测它究竟被删除还是移到了下载目录之外。

永久整理记录

成功与失败操作永久保存在本地,可搜索、按文件类型筛选、导出 CSV / JSON,并在访达中定位。

登录时自动启动

macOS 13 登录项 API,面板与设置页里的开关绑定同一运行时状态。

整理完成通知

默认关闭。开启后每批整理完成发一条系统通知,授权与否都如实反馈。

绝不覆盖

目标重名时自动追加 (n) 序号;移动失败时源文件原样保留。

Release Notes

更新日志#

1.1.0 让 DayDrop 从“整理下载”进一步走向“找回下载”:自动归档仍然谨慎,查询范围则覆盖整个目录。

DayDrop 1.1.0 当前版本 下载 1.1.0

新增覆盖整个「下载」目录的只读文件索引与查询,并识别常见的文件位置、名称与修改事件。

Search

子文件夹里的文件也能找到

递归扫描任意目录深度,按名称、相对路径和文件类型搜索;用户直接保存到二级目录的文件同样会被记录。

Changes

跟踪发现、重命名、移动与修改

文件系统事件会触发重新扫描,以目录当前状态为准更新位置、名称和修改信息,并保留不可用记录供后续查询。

Separation

查询范围扩大,整理边界不变

自动整理仍只处理顶层普通文件,不会因为建立索引就移动已有子目录内容;暂停整理也不会暂停只读索引。

History

查询与本地记录更完整

现有文件、不可用文件和操作历史进入统一查询入口;整理历史永久保存在本机,并支持筛选、搜索和导出。

安全边界:索引只读取文件元数据,不读取内容;软件包按一个项目记录,符号链接不会被跟随。复制件作为新文件记录;无法确认来源或去向时,不猜测“从哪里复制”或“删除 / 移出”中的具体一种。
1.0.3

整理记录改为永久本地保存,新增文件类型分类、搜索与筛选、CSV / JSON 导出,以及在访达中定位相关文件。

1.0.2

新增应用内版本显示与签名自动更新,完善设置页、今日下载入口和发行版交付体验。

Privacy & Security

你的文件,不出这台 Mac。

文件整理、递归索引和查询始终在本机完成;只有检查软件更新时,才会访问 DayDrop 官方网站,且不会上传文件名、文件内容或操作记录。

文件处理完全本地

整理逻辑、文件索引、元数据与操作记录全部留在本机。网络权限只用于从官网获取签名更新清单与安装包。
local file processing

App Sandbox 最小授权

仅持有你亲手选择的「下载」文件夹读写权限,并通过安全作用域书签持久化,重启后依然有效。

不读文件内容

整理判断与递归索引只使用路径、名称、时间、大小、文件类型等元数据,以及文件是否被独占打开;内容本身,从不读取。

公证过的发行版

DMG 以 Developer ID 签名并通过 Apple 公证,票据已装订,Gatekeeper 直接放行。
Notarized Developer ID · stapled

FAQ

常见问题#

不会。候选文件必须大小在两次检查间保持不变、且未被协作进程独占加锁,才算「完成」。无法证明完成时,DayDrop 延迟重试,绝不动它。这是产品的验收红线之一。
绝不。目标位置已有同名文件时,会在最后一个扩展名前追加 (n) 序号;任何一步移动失败,源文件都原样留在原地,并写入一条失败记录。
不会被自动整理。DayDrop 的自动移动仍只处理顶层「普通文件」,不会导入既有文件夹;但 1.1.0 的只读索引会递归扫描其中的文件,让这些文件可以被查询。自动迁移只触碰带身份与日期标记的受管文件夹,不会只凭相似名称认领你的目录。
会。只要文件仍位于已授权的「下载」目录内,无论嵌套多深,都会进入本地只读索引并可按名称、路径和类型查询。它不会因此被移动;“能查询”和“会整理”是彼此独立的能力。
下载目录内的重命名、移动和修改会更新同一文件的索引;复制件按一个新发现的文件记录。文件从目录中消失时,DayDrop 会保守标记为“移出或删除”,因为仅凭目录现状无法可靠区分它被删除,还是被移动到了下载目录之外。
文件整理与查询不需要联网,也不会上传任何文件名、文件内容、索引或操作记录。启用更新检查时,DayDrop 只访问官方网站,获取经过签名的版本清单与安装包;索引、受管文件夹信息和永久操作历史仍只存储在这台 Mac 的应用容器内。
macOS 13 Ventura 或更高版本,Apple Silicon 与 Intel 通用二进制。发行 DMG 经 Developer ID 签名与 Apple 公证,下载后拖入「应用程序」即可。
DayDrop 图标

让「下载」文件夹
自己保持整洁。

自动整理顶层文件,也让整个下载目录随时可查。所有处理都留在你的 Mac 上。