Claude Code源码泄露后,官方 sourcemap 里包含了完整 TypeScript 源码。neural_avb 花时间整理出了最值得读的源码路径——不是盲目翻目录,是5条有目标的阅读路线。

核心文件架构

Claude Code 的主要源码组织:

src/ ├── constants/prompts.ts ← 28个系统Prompt节 ├── tools.ts ← 工具注册表 ├── Tool.ts ← 工具基类 ├── query.ts ← 主循环 + API调用组装 ├── QueryEngine.ts ← QueryEngine实现 ├── services/ │ ├── compact/ ← 上下文压缩 │ └── SessionMemory/ ← 会话记忆 ├── tools/AgentTool/ ← Agent工具(含子agent) └── utils/ ├── forkedAgent.ts ← Forked agent编排 └── permissions/ ← 权限系统

5条阅读路径

路径1:Claude Code 基本是怎么工作的?

起点:src/constants/prompts.tssrc/tools.tssrc/Tool.tssrc/query.tssrc/QueryEngine.ts

这条路径覆盖了 Claude Code 的核心循环:从 Prompt 组装、工具注册、执行引擎到 API 调用的完整链路。

路径2:工具和权限系统是怎么运作的?

起点:src/tools.tssrc/Tool.tssrc/services/tools/toolExecution.tssrc/utils/permissions/permissions.tssrc/utils/hooks.ts

这条路径揭示了 Claude Code 如何决定哪些命令可以执行、哪些需要用户确认、以及工具调用失败时的降级策略。

路径3:子Agent是怎么工作的?

起点:src/tools/AgentTool/prompt.tssrc/tools/AgentTool/AgentTool.tsxsrc/tools/AgentTool/runAgent.tssrc/utils/forkedAgent.tsbuilt-in/ 目录下的 agent 文件

包括 specialAgent.tsspecialAgent.tseAgent.tsplanAgent.tsgeneralPurposeAgent.tsverificationAgent.ts 等专门用途的 agent 实现。

路径4:长会话的上下文是怎么保持的?

起点:src/query.tssrc/services/compact/autoCompact.tssrc/services/compact/compact.tssrc/services/SessionMemory/sessionMemory.tssrc/services/compact/sessionMemoryCompact.ts

这条路径是整个 Claude Code 架构里最复杂的部分——当上下文窗口快满的时候,系统如何决定保留什么、压缩什么、以及何时触发压缩。

路径5:索引和文件搜索

起点:src/hooks/fileSuggestions.tssrc/native-ts/file-index/index.tssrc/utils/codeIndexing.tssrc/tools/LSPTool/LSPTool.ts

这部分处理 Claude Code 如何建立和维护代码库的索引,包括 LSP(Language Server Protocol)集成和外部索引工具的检测。

最佳单文件起点

如果只读一个文件:src/constants/prompts.ts

这是所有 Prompt 的源头。28个系统 Prompt 节全部在这里定义,Claude Code 的行为从这里开始。

如果读两个文件:src/constants/prompts.ts + src/query.ts

第一个文件告诉你 Claude Code 被告知了什么,第二个文件告诉你它实际上是怎么运转的。配合阅读,能建立对整个系统最完整的 mental model。