Files.md归档机制详解:用archive目录优雅退役已完成的任务与笔记
【免费下载链接】files.md🌱 Private, quiet space for thinking. Simple app for .md files.项目地址: https://gitcode.com/GitHub_Trending/fi/files.md
Files.md 是一个面向纯.md文件的本地优先(local-first)笔记应用,主打"私有、安静的思考空间"。它的archive 归档目录是内置的文件结构设计之一:完成的任务会自动归档、删除的文件会先进入"回收站"、所有成果集中沉淀在archive/中,让你在零心智负担的情况下保持笔记库的整洁。本文带你看懂 Files.md 归档机制的完整工作方式。
为什么需要归档:先告别"删不掉的纠结"
用笔记工具的人都有过这样的经历:
- 任务做完了,勾选框一打勾,列表越来越长,越看越焦虑
- 笔记过时了,想删又舍不得,结果"垃圾桶笔记"越积越多
- 想统计"今天完成了多少事",却发现没有地方查
Files.md 的做法很克制:不引入数据库、不打标签,只用一个archive/目录解决以上所有问题——已完成即归档,删除即移入,统计即读目录。所有归档记录都是明文.md文件,随时可以用任何编辑器打开。
目录结构速览:archive 在哪里
Files.md 的文件结构是预定义的,archive/与journal/、media/、habits/并列,属于系统目录(见 web/AGENTS.md 的结构说明):
├── Chat.md ├── journal/ # 日记 ├── habits/ # 习惯 ├── media/ # 图片 ├── archive/ # 已完成/已归档的条目 │ └── Done.md # 完成任务流水账 └── config.json归档目录有三个"隐身"设计,源码位于 web/lib/sidebar.js:
- 始终排在侧边栏最底部——不干扰你的日常笔记流
- 空目录自动隐藏——archive 里没有内容时,侧边栏根本不显示它
- 只含诊断日志也算空——应用自身的
archive/Log.txt不计入"非空"判断
删除文件 = 移入 archive:两阶段安全删除
在 Files.md 网页端按Cmd+D(或Ctrl+D)删除文件时,实际发生的事是把文件移动到/archive/,而不是真正删除——这是一个"软删除"回收站。逻辑见 web/files.js:
- 文件在普通目录 → 移动到
/archive/同名文件.md - 文件已在
/archive/里 → 才真正执行永久删除
也就是说,误删是有退路的:后悔了把文件从 archive 移回来即可;第二次删除才会彻底清空。对"怕丢数据"的人来说,这套机制比一键删除安心得多。
每晚 23:50 的自动归档:完成任务自动退役
这是 Files.md 归档机制最核心的部分。服务端定时任务RemoveCompletedChecklistItems(源码:server/worker.go)会在你所在时区的每晚 23:50执行一次清扫:
- 扫描
Chat.md、Later.md、Inbox.md中的- [x]已完成条目 - 将这些条目从工作文件中移除
- 按日期标题(如
#### 31 August 2026, Monday)追加写入archive/Done.md - 每条完成的任务还会自动记入日记(
journal/下对应月份文件),格式为✅ 任务内容
整个过程无需你点任何按钮。早上打开应用时,Chat.md里只剩待办事项,昨天的战果已经安静地躺在archive/Done.md和日记里——任务"优雅退役",而不是一行行腐烂在列表里。
归档即成果:用 archive 目录做统计复盘
archive/目录还是你的成就墙。统计模块(server/stats/stats.go)直接读取它:
- 今日完成报告:找出归档时间(ctime)在当天内的文件,生成"✅ 今日完成任务"列表
- 累计完成数:
archive/目录下文件总数,以📊 X tasks done in total的形式汇报给你
由于归档文件保留了创建/移动时间,"今天完成了几件事"这种问题只需对目录做一次遍历就能回答——不需要数据库,也不需要额外配置。这正是 Files.md 反复强调的理念:数据就是文件,文件就是数据。
完成记录写进日记后,还会与习惯追踪、月度总结联动:
相关文件与延伸阅读
想深入理解实现,可以从这些文件入手(均为仓库内相对路径):
| 模块 | 文件 | 作用 |
|---|---|---|
| 系统目录定义 | server/fs/fs.go | 定义DirArchive = "archive",初始化时自动创建 |
| 软删除实现 | web/files.js | 删除 = 移动到/archive/,二次删除才永久 |
| 夜间清扫任务 | server/worker.go | 23:50 归档已完成条目并写入日记 |
| 成果统计 | server/stats/stats.go | 基于 archive 目录生成今日/累计完成报告 |
| 目录约定 | web/AGENTS.md | 完整文件结构与系统目录说明 |
| 机器人能力 | docs/bot.md | Telegram 聊天机器人如何操作归档 |
小结
Files.md 的归档机制可以浓缩成三句话:
- 删除不销毁——文件先进
archive/,二次删除才真正清空 - 完成即归档——每晚 23:50 自动把已勾选任务移入
archive/Done.md并记入日记 - 目录即统计——
archive/里的文件就是可量化的完成记录
一个目录、三个行为,没有任何数据库和插件。这种"少即是多"的设计,正是 Files.md 作为安静思考空间的第一原则。🌱
【免费下载链接】files.md🌱 Private, quiet space for thinking. Simple app for .md files.项目地址: https://gitcode.com/GitHub_Trending/fi/files.md
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考