Claude Code 源码阅读路线
仓库
- 本地路径:
/home/nategu/.openclaw/workspace/claude-code-source-code - 来源说明:该仓库更像从 npm 包发布产物中提取、还原出来的 TypeScript 源码树,而不是官方完整开发仓库
阅读定位
这套代码更适合学习:
- CLI agent 工程结构
- tool system
- subagent / task orchestration
- context / permission / transcript / session 设计
不适合直接当成:
- 官方完整原始仓库
- 包含所有内部 feature flag 模块的全量源码
推荐阅读顺序
第一层:先看主干
src/main.tsxsrc/QueryEngine.tssrc/query.tssrc/Tool.tssrc/tools.ts
第二层:看 agent / task / tool
src/tools/AgentTool/AgentTool.tsxsrc/tools/AgentTool/runAgent.tssrc/tasks/LocalAgentTask/LocalAgentTask.tsxsrc/tasks/RemoteAgentTask/RemoteAgentTask.tsxsrc/utils/agentContext.ts
第三层:继续追执行链
src/services/tools/StreamingToolExecutor.tssrc/services/tools/toolOrchestration.tssrc/utils/forkedAgent.ts(重点看createSubagentContext)src/tools/AgentTool/agentToolUtils.ts
当前阅读结论
Agent是一个工具(AgentTool)- agent 调用最终仍然落回统一的
query()主循环 - 子 agent 不是独立的另一套引擎,而是“重新组装上下文后再次调用 query”
- 同步 agent / 异步 agent / remote agent / fork agent 是
AgentTool.call()内部的不同路由分支
建议做法
继续阅读时,每个模块单独建一页:
- 一页只回答一个问题
- 记录“它解决什么问题”
- 记录“它被谁调用 / 它调用谁”
- 记录“有哪些关键字段 / 状态 / 设计取舍”