这是一套面向初学者的中文学习教材。它不假设你已经理解 Agent、事件溯源、依赖注入或插件框架,也不要求你从 packages/ 的第一个目录开始逐个阅读。
教材的目标不是让你记住所有包,而是帮助你建立一张稳定的心智地图:用户的一句话怎样进入 Agent,模型怎样收到上下文,工具怎样执行,结果怎样写入日志,以及不同实现为什么可以互相替换。
推荐阅读顺序
第一阶段:先能看懂项目在做什么
- 如何使用这套教材
- 先看全景:DeepSeek Harness 到底是什么
- 读源码前需要懂的 TypeScript 与 Node.js
- Cordis:插件、Context、Service、事件和 Effect
- 配置与组合:Profile、Bundle 和 cordis.yml
第二阶段:追踪一次完整对话
- Agent 如何完成一轮对话:Turn、Step 与 Inbox
- Session:为什么对话是一份事件日志
- System Prompt、LLM Adapter 与模型请求
- Tool:从模型调用到执行结果的完整管线
- Capability Seam:为什么 Bash、FS 等能力能替换实现
第三阶段:理解可靠性与扩展方式
- 持久化、恢复、Fork、Replay 与 Compaction
- Subagent、Job、Workflow、Goal 和 Skill
- 测试体系与完成一次真实改动
- 面对大型仓库时怎样阅读源码
- 常用概念词典
- 分阶段练习与验收题
一条最重要的主线
第一次阅读时,只追踪下面这条链,不要同时研究 Web UI、数据库、沙箱和子 Agent:
用户输入
→ Agent Inbox
→ turn/start
→ step/start
→ 组装 System Prompt 和 Tool Schema
→ 调用 LLM Adapter
→ 记录 assistant/message
→ 执行 Tool Call
→ 记录 tool/result
→ 如果需要,再开始下一个 Step
→ turn/end
当你能用自己的话解释这条链时,仓库里大多数包就不再是孤立目录,而是这条主线上的扩展点或可替换实现。
每篇文章的使用方法
每篇文章都按同一结构组织:先给一个具体场景,再讲通俗模型,随后映射到正式术语和真实源码,最后给出练习与验收问题。
建议每次只读一篇。阅读后必须完成文章末尾的练习;如果只能复述文章原句,却无法判断一个新包属于哪一层,说明还没有真正理解。
官方资料与本教材的关系
本教材负责教学顺序和通俗解释。准确的类型、配置、事件模式和包级限制仍以仓库内的正式文档与源码为准。
- 总体架构:docs/architecture.zh.md
- Cordis 教程:docs/cordis-tutorial/index.zh.md
- 子系统参考:docs/subsystems/README.md
- 配置目录:docs/config-catalog.md
- 工具目录:docs/tool-catalog.md
- 开发与测试:docs/development.zh.md · docs/testing.zh.md