LAYER 01 · 建立全局直觉

如何读这座源码城市

从生成目录到 package README,再到类型与事件;避免从 index.ts 盲目下钻

12 min3 处源码锚点upstream@47f9438
图 → 契约 → 生产方/消费方 → 实现
本章要解决的问题

读一个大型 Agent 仓库,先搜函数名还是先找契约?

先建立直觉

维修复杂设备时,先看线路图和接口表,再拆机;直接从一颗螺丝追踪,通常只会迷失在局部。

MECHANISM

机制拆解

DeepSeek Harness 的 docs/ 已生成模块图、能力 seam 图、事件生产消费矩阵、持久化事件目录和配置目录;它们把源码中分散的声明编译成可查询索引。

阅读顺序应当是:确定职责 → 找 service/event 契约 → 找 provider 与 consumer → 最后进入具体实现与测试。

第 1 步 / 共 4 步

定位图谱

从 graph-atlas 选择模块、服务、事件或持久化视角。

INVARIANTS

无论怎么扩展,都不能破坏

  • 文档中的生成区块必须与源码同步
  • 示例解释必须标明对齐的 upstream commit
  • 推断与源码事实要明确区分
FAILURE MODES

最容易踩中的坑

  • ×复制过时博客里的包名
  • ×只读 happy path,不读取消与 dispose
  • ×看到一个 provider 就以为它是唯一实现
VERIFY IN SOURCE

不要相信结论,去源码里复核

以下链接固定到官方 deepseek-harness@47f9438;查看当前上游时请留意后续 breaking changes。

KNOWLEDGE CHECK

先停十秒,再揭晓答案

为什么应当先找 consumer,再判断一个 service 的真实职责?

为什么下一章紧接在这里

带着这套方法进入 Cordis:先从 Context 这张协作面开始。

Learn DeepSeek Harness

独立教学项目。解释力来自源码,判断边界以官方仓库为准。