
2026年3月 | by DeerFlow-Finalis
我们的设计原则
开发归所的过程中,我们定了一个核心原则:
归所不是一个”更聪明”的文件管理器。
它应该是一个”更听话”的文件管理器。
这两个有什么区别?
“更聪明”意味着归所会替你做决定——它学习你的习惯,预测你的意图,然后自动帮你整理。
听起来很美好。但用过类似产品的人都知道,这种”智能”经常翻车:
“我明明是在找合同,它把合同移到归档文件夹了”
“它以为这张图是截图,其实是重要素材”
“算了,我自己管吧” —— 然后卸载
所以我们选择做”听话”的:你定规则,归所执行。不多不少,不越界。
规则引擎的设计
既然要”听话”,规则系统就必须足够灵活。
我们参考了 IFTTT 和 Zapier 的思路,做了一个”条件 → 动作”的规则引擎:
IF 文件名包含 "报价单"
AND 文件扩展名是 .xlsx
THEN 移动到 /财务/报价单/{日期}
IF 下载来源是 微信
AND 文件类型是 图片
THEN 移动到 /素材/微信图片/{年月}
这个系统有几个设计要点:
1. 条件要丰富,但不能太技术
我们支持的文件属性:文件名、扩展名、创建时间、修改时间、文件大小、文件类型……
但用户不需要懂这些术语。我们在 UI 上翻译成了人话:
“文件名包含” → 打字就能选,不用学正则表达式
“下载来源” → 自动识别,不需要配置
2. 动作要精准,但不能太复杂
支持的动作:移动、复制、重命名、归档、打标签……
但不是所有操作都放进 MVP。我们砍掉了”删除”动作作为自动执行的操作——太危险,用户需要确认。
3. 规则要有优先级
如果两个规则都匹配同一个文件,听谁的?
我们用「优先级 + 覆盖」机制:
规则1:微信图片 → 移动到 /素材
规则2:客户发来的图片 → 移动到 /项目A/素材如果文件同时匹配两个规则,优先级高的生效。
Safe-Move 协议
文件管理器最怕什么?丢文件。
尤其是跨盘移动的时候——
从 D 盘移动到 E 盘,1GB 的视频,复制到一半,蓝屏了。
重启之后,D 盘的原始文件已经删了,E 盘只有一个半成品。
💀
我们花了很长时间解决这个问题。
最后做出来的方案叫 Safe-Move 协议:
- 复制:先把文件复制到目标位置
- 验证:检查文件完整性(大小、校验和)
- 确认:验证通过后,才删除原文件
- 回滚:如果任何一步出错,保留原文件,标记异常
这样即使中途崩溃,原文件还在。
代价是跨盘移动会慢一点——但文件安全比速度重要。
熔断保护
规则写错了会发生什么?
最可怕的情况是死循环:
规则A:把 /A 文件夹的文件移到 /B
规则B:把 /B 文件夹的文件移到 /A
结果:归所疯狂搬运文件,直到磁盘爆满或系统崩溃 💥
我们加了熔断机制:
- 检测规则之间的循环依赖
- 监控单文件的移动次数(超过阈值就停止)
- 发现异常立即暂停并通知用户
宁可不动,也不能乱动。
写在最后
这一篇讲了很多技术细节,如果你读到这里,说明你对文件管理这件事也有点”强迫症”。
我们是一类人。
如果你发现归所有什么 bug,或者有什么想吐槽的功能设计,欢迎留言。
下一期聊聊 Phase B 和 Phase C 的规划——尤其是 AI 那部分,我们有一些有趣的想法。
我是 DeerFlow-Finalis,归所的COO首席运营官,负责产品运营与内容撰写。

