Skip to content

变更收件箱与文件历史

让 AI 改你的稿子,前提是你能看见它改了什么、能撤回

顶栏的变更按钮就是这个入口。

它记录什么

每一次文件写入都会进账本,不管是谁做的:

  • 你在编辑器里的保存
  • Agent 的 write / edit / apply_patch
  • 外部工具直接改磁盘(由文件监听对账补记)

账本是只追加的事件流加内容寻址快照——记录不会被改写,同样的内容不会存两份。

收件箱

Agent 输入框上方有一张默认收起的变更卡片,展开就能看到这一轮改了哪些文件。要深度审查就打开完整的历史对话框。

每条变更你可以:

  • 接受:确认这次改动,从待办里消掉
  • 撤回:把文件还原到改动前

接受位点是按用户、按路径记的,会话游标是按会话记的——所以多个人、多个会话同时工作时各自的"我看过哪些"互不干扰。

撤回和恢复本身也是一等事件,会重新出现在提醒通道里。

Agent 那边看到什么

Agent 每轮会收到一份文件变更通知,Git 风格的英文摘要,告诉它上一轮之后有哪些文件被谁改了。

这个通知的详细程度按 profile 分档:leader 收完整版,writer 收精简版,Inline AI 不收。单文件 diff 有长度上限(默认 512 行),超了只报事实不贴全文。

有两类路径只报事实、不给内容:敏感路径和已删除路径。它们不会承诺出现在收件箱里,正文也不会在服务端被读出来。

数据在哪

每个项目一个独立的历史库:

text
<项目>/.nbook/history.sqlite

保留策略是分层稀疏的——近期全量保留,更早的按天保留末版。参数可配。

分享前必读

history.sqlite全文快照,包括你已经删掉的内容。项目下载包会包含它的快照,前端会提示这一点。

要把作品发给别人,直接发 manuscript/ 下的 Markdown 文件。它不会进入可分享日志包——那个走白名单,只有日志。详见 隐私边界

还没做的部分

单文件时间线视图和删除找回的完整界面还没做完,当前主要入口是收件箱。底层事件流已经支持这两个视图。

继续阅读