Skip to content
目录

Codex 开源仓库深度解析(进阶向)

本文档基于 openai/codex 仓库源码与仓内设计说明,系统梳理 Codex CLI / TUI / app-server / MCP 的架构、关键设计决策、实现依据与可观测优化点,面向有经验的前端/全栈工程师做深度学习与进阶学习。

分析侧重:为何这样分层协议与状态如何流转安全边界如何落地终端 UI 与流式体验如何权衡

目录

  1. 仓库与架构总览
  2. 分层设计:核心 Crate 职责
  3. 协议、Op 与 Thread/Turn/Item 模型
  4. 沙箱、执行策略与安全边界
  5. apply_patch 与自举执行路径
  6. 上下文管理、Token 与 Compact
  7. ModelClient、WebSocket 预连接与重试
  8. TUI:自适应流分块、退出与 Shutdown
  9. App-Server、JSON-RPC v2 与背压
  10. Skills、系统技能缓存与 AGENTS.md
  11. Arg0 多路复用:单二进制多角色
  12. Hooks、ExecPolicy、观测与优化清单
  13. 高频问答与追问链

源码与文档范围

  • 语言栈:Rust 工作区(codex-rs/),npm 包(codex-cli/),Python/TypeScript SDK 等。
  • 工作区版本号codex-rs/Cargo.tomlworkspace.package.version0.0.0(发布版本以 GitHub Releases 为准)。
  • 分析时间:2026 年 3 月。

阅读建议

  1. 先读 0102 建立 mental model。
  2. 再读 030405 覆盖「对话—工具—文件—进程」主链路。
  3. 前端/IDE 方向重点 0809;基础设施方向重点 0411

参考资料

  • Codex 官方文档
  • 仓库根目录 READMEAGENTS.md(Rust 贡献与规范)
  • 仓内设计文档:docs/codex-rs/docs/codex-rs/app-server/README.md
  • Model Context Protocol
  • 相关 Issue / PR(文中引用处):例如退出流统一设计见 docs/exit-confirmation-prompt-design.md(提及 PR #8936)

MIT License.