2.1.233 · 源码深读

Claude Code 源码分析笔记

现行行为以 2.1.233 为准。slash、工具、hook 的现行表看 versions/2.1.233-appjs/artifacts/。架构主线按 main → init → setup → query 讲。

恢复 4756 文件 · src 1902 终端代理平台 16 篇专题
一句话结论

Claude Code 是一套已经产品化、平台化的终端代理系统:它不只是“聊天 CLI + 一批工具”,而是把 REPL、headless SDK、slash 命令、模型主循环、工具协议、后台任务、多代理、MCP、插件、权限治理、远程桥接、记忆、设置托管、遥测和自研终端 UI 串成完整运行时。

运行链路总览

main.tsx
  ├─ entrypoints/init.ts        全局初始化、安全环境、遥测延后初始化
  ├─ setup.ts                   会话、cwd、worktree、hooks、memory、预取
  ├─ commands.ts / tools.ts     用户命令与模型工具集合
  ├─ QueryEngine.ts / query.ts  headless/SDK 与交互主循环
  ├─ components/App.tsx         AppState + Stats + FPS 顶层 Provider
  └─ bridge/* / remote/*        远程会话、远程控制、session ingress

最短阅读路径

只想快速理解整体,按这个顺序读源码入口:

  1. src/main.tsx — 启动入口与模式分流
  2. src/entrypoints/init.ts — 全局安全与遥测边界
  3. src/setup.ts — 会话准备、hooks、worktree
  4. src/context.ts — 系统与用户上下文来源
  5. src/query.ts — 模型循环、compact、工具执行、恢复
  6. src/QueryEngine.ts — headless/SDK 怎么包 query()
  7. src/Tool.ts + src/tools.ts — 工具协议与总表
  8. src/commands.ts — slash 命令总表
  9. src/state/AppStateStore.ts — 运行时状态控制面
  10. src/services/mcp/client.tssrc/services/api/client.ts

架构主线#

从“一次输入后发生什么”出发,读这四篇。

机制专题#

按问题直达的深挖专题:Hooks、上下文、记忆、权限、稳定性、扩展与代理。

05 · 机制专题

Hooks 机制

运行时生命周期拦截器:配置模型、31 个 HookEvent、输入输出协议、执行链路、与权限衔接、async/HTTP/prompt/agent hook、安全治理与常见妙用。

阅读 →
06 · 机制专题

上下文、压缩与 checkpoint

上下文来源、auto compact 阈值、compactConversation、prompt-too-long 兜底、microcompact、session-memory compact、三类 checkpoint 边界。

阅读 →
07 · 机制专题

Memory 机制

auto / session / agent memory,以及 2.1.233 的 memory_* project store 工具:写入触发、存储位置、读取时机。

阅读 →
08 · 机制专题

权限审核机制

useCanUseTool 决策主链路、规则来源与语法、路径/Bash 安全检查、ask 后的多路审批竞态、六种 permission mode。

阅读 →
09 · 机制专题

长运行兜底与稳定性

compact circuit breaker、预计算 compact、PTL retry、memory 提取合并、后台任务落盘、permission resolve-once、MCP reconnect、post-compact cleanup。

阅读 →
10 · 机制专题

Skill、Subagent、ToolSearch

skill 多来源发现与三类触发、Agent/subagent/fork/worktree/remote 隔离、ToolSearch 延迟工具加载、Claude Code 初始工具集合。

阅读 →
11 · 机制专题

Agent Team / Swarm 原理

多代理团队如何通信、执行与协作:把文件系统当 IPC,文件锁 mailbox、消息类型协议、两个 poller、in-process runner 执行循环、任务认领、权限/计划/关闭协商。

阅读 →
12 · 机制专题

Rewind / Checkpoint 机制

/rewind 的两个正交维度:对话截断与文件快照回滚,由同一 messageId 锚定;file history 三阶段防 race 写入、copyFile+hash 命名、resume 用 hard link 迁移备份。

阅读 →
14 · 版本对照

Auto Mode 深度解析

2.1.78 静默引入到 2.1.233:分类器架构、fail-closed、HARD/SOFT BLOCK。2.1.233 起 auto mode 将成为默认模式,分类器不再额外收费。

阅读 →
15 · 版本对照

Todo / 任务工具门控

TodoWrite 是 v1,Task 四件套是 v2。2.1.16 起默认 v2;2.1.233 起新模型两套都不给。三层门:isTodoV2Enabled、isTodoToolsEnabled、isTaskListToolsEnabled。

阅读 →
16 · 机制专题

跨会话 SendMessage

两个独立 Claude 会话互发消息:本机 UDS inbox、跨机 Remote Control / cloud 桥、按名字路由、inbound hold、权限洗钱防护。

阅读 →

企业级模式#

把 demo agent 推向生产时最容易被忽略、也最值得借鉴的工程设计。