Chapter 02

仓库地图:你应该按什么顺序读源码

目标不是背 API,而是建立能从顶层设计一路推导到源码细节的心智模型。读完本章,你应该能解释“为什么这样设计”,而不仅是“代码在哪里”。

1. 建议阅读顺序

阶段路径为什么
概念docs/architecture.zh.md先建立全图
框架docs/cordis-primer.md理解 Context/Service/Event/Effect
循环packages/core/agent-loop/README.zh.md知道 turn/step/inbox
状态packages/core/session理解事件溯源
能力packages/core/tools理解工具 schema 与执行
模型packages/llm/llm-deepseek理解 wire adapter
启动packages/boot/app-boot理解配置如何变成插件树

2. 仓库的“家族”思维

不要把 packages/ 当成几百个无关 npm 包。按职责看:core 是协议/运行时;llm 是模型 seam;session 是持久数据面;boot 负责装配;preset/context/tool 等家族围绕核心能力扩展;apps 则是产品外壳。

3. 读源码时的四个问题

  1. 它在 ctx 上提供什么 service key?
  2. 它 inject 哪些依赖?
  3. 它注册哪些可逆 effect / event listener?
  4. 它是 service definition、provider 还是 consumer?
源码定位:Development guide · docs/development.md
打开官方源码/文档