AI 简明手册
DeepSeek Harness 源码解读 · 工具系统为什么编辑文件前必须先读

为什么编辑文件前必须先读

先设定故障

观测账本记录文件版本。edit 未读被拦,外部改动被拦。判定只看账本。防线可拔,工具本身零权限代码。

失败如何传播

  1. 账本状态为未见、present@vN、absent

    账本状态为未见、present@vN、absent。工具发 fs/observed 事件记账。写入前分发 intent 事件,单槽瀑布独占决策。后端原子临界区先验版本再替换。write 新建无需先读,覆盖需版本匹配。

    [repo]

  2. edit 未读报 FSNOTOBSERVED

    edit 未读报 FS_NOT_OBSERVED,记 absent 报 FS_NOT_FOUND,版本过期报 FS_STALE_VERSION。匹配须恰好一次,多处报 FS_AMBIGUOUS_EDIT,无命中报 FS_EDIT_NOT_FOUND,除非 replace_all。卸插件后退回裸提供方行为。

    [repo]

恢复与防线

  • 读 10 行能授权后续整个文件 edit 吗: 可以。授权只看版本凭证,不分整读还是窗口读。

  • write 新建不需要先读,为何 edit 必须: 新建无覆盖风险;edit 需预期内容与版本凭证,防止覆盖外部改动。

仍会失效的地方

  • 本页结论对应 revision 0a53fb55bea101816fa226bb964ae2bed71c343b。文件位置、命名和默认行为可能随版本变化,引用实现细节时应同时记录 commit。

来源与核验

  1. [repo] DeepSeek Harness 官方源码(固定 revision)
  2. [official] DeepSeek Harness 官方介绍

Revision:0a53fb55bea101816fa226bb964ae2bed71c343b · 核验日期:2026-08-31