附录 A:源码索引 — 这套比较主要依据哪些文件
出处
来源:原网页 · 状态:已读 · PDF:book2-comparing.pdf p.44–45
一句话
这份索引不是源码副本,只说明各章判断依据哪些文件。作用是把比较钉在模块位置上,而不是承诺提供实现正文。
核心概念
边界与 Book 1 附录 C 相同:仅保留必要的工程性引用、模块定位和结构分析,不附 Claude Code / Codex 实现正文,也不大段转录源码。
A.1 Claude Code 侧主要依据
总体控制面与 prompt:
src/constants/prompts.tssrc/utils/systemPrompt.tssrc/utils/claudemd.tssrc/memdir/memdir.ts
运行时循环与恢复:
src/query.tssrc/QueryEngine.tssrc/services/compact/autoCompact.tssrc/services/compact/compact.ts
工具与权限:
src/services/tools/toolOrchestration.tssrc/services/tools/toolExecution.tssrc/services/tools/StreamingToolExecutor.tssrc/hooks/useCanUseTool.tsxsrc/tools/BashTool/prompt.tssrc/tools/BashTool/bashPermissions.ts
多代理、skills、hooks:
src/utils/forkedAgent.tssrc/coordinator/coordinatorMode.tssrc/tasks/LocalAgentTask/LocalAgentTask.tsxsrc/tools/SkillTool/SkillTool.tssrc/tools/SkillTool/prompt.tssrc/utils/hooks/hooksConfigManager.ts
A.2 Codex 侧主要依据
核心模块结构:
core/src/lib.rstools/src/lib.rsskills/src/lib.rshooks/src/lib.rs
instruction fragment 与用户注入:
instructions/src/lib.rsinstructions/src/fragment.rsinstructions/src/user_instructions.rsdocs/agents_md.md
工具、审批与执行策略:
tools/src/local_tool.rstools/src/agent_tool.rsexecpolicy/src/lib.rsdocs/execpolicy.mddocs/sandbox.md
线程与状态:
sdk/typescript/src/thread.tscore/src/thread_manager.rscore/src/rollout.rscore/src/state_db_bridge.rscore/src/message_history.rs
hook 事件引擎:
hooks/src/engine/mod.rs
A.3 各章对照
| 章 | Claude Code | Codex |
|---|---|---|
| 第 1 章 | query.ts、toolOrchestration.ts | core/src/lib.rs |
| 第 2 章 | prompt 拼装与 CLAUDE.md | fragment.rs、user_instructions.rs |
| 第 3 章 | query loop / QueryEngine | thread.ts、thread_manager、rollout、state_db_bridge |
| 第 4 章 | 工具编排、Bash 限制、permission 语义 | tools/src/lib.rs、local_tool.rs、execpolicy/src/lib.rs |
| 第 5 章 | skill / hook / memory 栈 | skills 栈、hooks engine |
| 第 6 章 | forked agent / 验证纪律 | agent-tool 集、thread / rollout / state |
| 第 7 章 | 综合上述文件,无额外路径 | 同左 |
关键洞察
Claude Code 的依据几乎都围着 query.ts 和工具编排转;Codex 的依据从 core/src/lib.rs 散到 instructions、execpolicy、thread、hooks 多个 crate。文件布局本身就是第 7 章的论据:一个把秩序压进运行时主文件,一个把秩序拆成可组合模块。
个人思考
对照 Book 1 附录 C:那边只列 Claude Code。这边多出来的 Codex 路径,正好是「显式控制面」这句话的落点。读章时若觉得某句判断飘,先回这张表看它钉在哪个文件上,不要凭产品名脑补。