DSHarness 系统拆解 固定基线 47f943859b · 36 已复核 / 0 撰写中 / 36 章
English
导论·第 00 章

阅读入口与研究地图

如何阅读已完成的研究及其证据索引

已复核上游 47f943859b范围: 给出最终报告结构、完成定义、阅读路径与研究边界。

Developer Preview 源码考古 · 固定基线

不是功能清单,而是一张可验证的系统语义地图

DeepSeek Harness 的表面是一套 coding agent;更值得研究的是,它试图把 Agent 产品拆成可组合、可卸载、可重放的能力网络。本报告从实际入口、状态变化、失败分支和持久化落点出发,逐层回答“它真的怎样运行”。

分析基线 47f943859bef60e4160492346772ded9b24f765a 查看固定源码

完成快照

发布快照

固定基线下的 36 章现已全部复核。第 35 章索引 1,094 条证据记录、533 条不同目录路径和 48 个策展术语。第 00–34 章共出现 1,350 次证据引用,覆盖 1,092 个不同目录 ID:目录触达率 99.8%,目录路径触达率 100.0%。这些是导航指标,不代表架构完整性或证明质量已经穷尽。

网站仍是可导航版本,默认英文,并可逐章切换中文。仓库同时提供完整的单文件 Markdown:English简体中文

这份拆解要回答什么

运行时

插件树怎样启动?Agent、turn、step、模型请求和工具批次由谁驱动?各类事件何时写入?

上下文

系统提示词、工具 schema、动态上下文、历史消息、Skill、压缩摘要如何共同决定模型所见?

持久性

内部会话究竟保存什么?JSONL、SQLite、projection cache、checkpoint、fork、resume 和 replay 各自保证什么?

执行与治理

工具从 schema 到执行经历哪些拦截层?并行、审批、单调 guard、沙箱、文件观察和超时怎样组合?

编排

多 Agent provider、continuation、后台 job、workflow worker 和 Ralph loop 如何共享一套底层原语?

设计取舍

“Everything is a plugin”解决了什么,又引入了哪些认知、配置、验证与兼容成本?

先掌握三个不变量

源码事实

模型 adapter、工具注册表、session log、agent loop 都作为插件挂入共享 Cordis context;仓库明确宣称不存在必须被 patch 的特权核心。ARCH-PLUGIN-CORE

源码事实

任何真正进入模型请求的内容都必须能从 session log 重建。日志因此不仅服务 UI 展示,也是模型上下文、恢复、fork、遥测和重放的共同事实源。ARCH-LOG

机制推导

DeepSeek Harness 的“核心”不是某个稳定不变的循环类,而是一组更难被替换的系统不变量:作用域、事件顺序、可逆注册、模型可见输入的日志化,以及能力定义/提供者/消费者三方闭合。具体插件可替换,但这些组合语义构成了事实上的架构宪法。

推荐阅读路径

  1. 第一次阅读:设计哲学 → Turn/Step/Loop → 提示词 → 会话事件 → 工具管线。
  2. 关注 Agent 平台:持久化 → checkpoint → 压缩 → Plan/Goal/Todo → 多 Agent → Workflow。
  3. 关注安全执行:工具原语 → 权限审批 → Sandbox/FS → Shell/Terminal/Jobs → 安全模型。
  4. 关注工程质量:可观测与重放 → API/SDK/ACP → 测试与不变量 → 设计取舍。
  5. 反向查找:术语与证据目录 → 证据 ID、Package、路径、已文档化符号、持久化事件、实时事件或 Host Service。

完成状态怎么读

状态含义能否当作结论引用
待研究范围已列入,正文可能只是问题清单。不能
撰写中已有部分源码事实和推导,覆盖审计尚未完成。只能引用带固定源码证据的局部事实
已复核入口、控制流、状态、失败面、持久化和关键测试均完成抽样或全量复核。可以,仍须附带本页固定基线

我的学习体会

内容仅自动保存到当前浏览器,不上传、不进入仓库。你可以导出 Markdown 自行归档。