本地 · Markdown 是唯一事实源
任务与代码,对一次账。
和 agent 一起推进一个仓库,任务清单很快就不是代码的样子了:做完的没勾,勾了的其实没做完,agent 读到过期的一行,把已经完成的工作再做一遍。Virgo 把项目里的 TODO.md 汇总成一个视图,用 Git 里的改动给每一项找物证,只报告差异——完成与否,还是你来定。
上线通知是一封邮件,不是订阅。
三十秒,把清单对回代码。
-
打开项目目录。
Virgo 找出目录里所有的
TODO.md(以及声明了todo-spec的 Markdown),按来源分开列出,不需要登录,也不需要网络。 -
看对账结果。
每一项旁边是 Git 里能找到的物证:哪些改动、哪个区间。没有物证的、物证和状态对不上的,标出来。
-
在原地写结局。
完成、部分完成(
◐)、失败(⚠)都在那一行写完,附一句说明。写回去的只有 Virgo 认识的那几个字节,文件里其他内容逐字节不动。 -
agent 读同一份文件。
todo hooks install --agent claude|codex|deepseek-harness,它在会话开始时读到的就是你刚对过账的清单。
它只报告,不替你改。
文件是事实,界面是视图。
SQLite 只是派生的索引,随时可以从 Markdown 重建。删掉 Virgo,你的
TODO.md还是一份普通的 Markdown,任何编辑器都能开。物证证明改动存在,不证明任务完成。
对账结果是「这一项在 Git 里有 / 没有对应的改动」,勾不勾永远是人的决定。
每次写入之前先建还原点。
.todo/history/默认保留 200 个。整文件改写(扫描导入、版本恢复)必须先看左右 diff 再确认;预览期间文件被别人改了,写入会被拒绝,提示你重试。不需要网络,不需要登录。
本地模式打开目录就能用。语义对账默认关闭;打开它需要你自己的 LLM key,请求从你的机器直接发到你选的服务商,不经过我们的服务器。
匿名使用统计可以关。
桌面端默认发送打开了哪个视图、用了哪些功能,以及版本号和系统;不发送任务内容、文件路径或项目名。在「设置 → 使用统计」关闭。
个人随记不进仓库。
速记窗口(⌘⇧Space)记下的东西存在
~/.todo/inbox.md,不受项目还原点保护,也不会被提交。
四个视图,一份文件。
- 目标
- 推进中、待办、已完成在同一个工作区;推进中默认展开 1 项,最多 5 项。
- 象限
- 按
!1–!4拖进四格,写回的只是那一行的!标记;没定级的留在托盘。 - 随记
- 个人收件箱与分拣;⌘⇧Space 随时记一条,⌘⏎ 保存。
- 扫描与历史
- 全仓扫描未跟踪的工作,导入前看 diff;查看与恢复还原点。
- [ ] 任务 !2 ◐ ↳ 说明 🔗 a1b2c3..d4e5f6 <!-- id -->——优先级、部分完成、说明、物证、稳定 ID 都是文件里的普通字符。CLI todo 和桌面端读写同一套。
还没到发布那一天。
macOS 版在做 Developer ID 签名与公证;签好之前不放安装包,也不放「先用着」的未签名版本。其他平台等 macOS 之后再说,现在不承诺。
留一封邮件,上线那天我们回信告诉你。不需要注册,也没有邮件列表——就是一封信,正文空着也行。
| 平台 | 状态 |
|---|---|
| macOS · Apple Silicon | 即将推出 |