跳转至

Codex 源码分析

状态:OpenAI 官方 Apache-2.0 开源 CLI;研究快照:2026-09-26。

它是什么

OpenAI Codex CLI 是运行在本机终端的 coding agent。官方仓库公开了 Rust 核心、CLI、SDK、文档和构建配置;产品还存在 IDE、桌面和云端形态,本页只分析开源 CLI,不把云端 Agent 的内部实现写成已公开源码。

入口:openai/codex、Codex 文档。

源码地图

目录 研究用途
codex-rs/ Rust Agent 核心、事件、工具执行和安全边界
codex-cli/ CLI 入口、参数、交互和发布包装
sdk/ 供其他程序调用的接口边界
.codex/ 仓库内开发与 Agent 约束
docs/ 安装、构建和行为说明
patches/ / tools/ 工具与工程辅助,不等同于 Agent 业务核心

阅读顺序建议:先看 README 的权限/安装说明,再跟一条“用户请求 -> policy/sandbox -> tool call -> patch -> test -> final event”的调用链,最后读 SDK 和扩展边界。

安全心智模型

Codex 的工程价值不只是模型调用,而是将本地执行风险显式化:

用户目标
  -> policy / sandbox / approval
  -> read-only inspection
  -> patch or command
  -> result / test / diff
  -> user-visible event and rollback surface

实际安全性取决于运行模式、配置、操作系统和调用者批准。不要把“有 sandbox”当成自动安全证明;要测试文件范围、网络、进程、软链接、密钥环境变量、超时和取消。

适用条件、代价、验证

适用条件

需要本地执行、代码修改和测试,且希望把沙箱、审批、diff 和退出结果纳入审计的团队。

代价

Rust 核心和多种运行模式提高了学习与构建成本;OpenAI 模型能力和 CLI 安全策略还会随 release 演进。企业自定义 provider、模型路由或业务工具要通过公开接口扩展,不应改动内部假设。

验证方式

  1. 在临时仓库测试读、写、shell、网络和删除操作的边界。
  2. 检查批准前后命令、环境变量、工作目录和退出码。
  3. 让 Agent 修改代码并执行测试,核对 diff 与最终摘要一致。
  4. 中断长任务,检查子进程、锁文件和后台任务是否清理。
  5. 用同一 workload 对比不同模型和 reasoning effort,分离 harness 与模型效果。

和其他 Agent 的差异

对比 Codex dsh pi OpenCode
首要重点 本地执行安全与 coding workflow 全能力插件化 极简可嵌入 runtime 多 provider 的团队工作台
扩展方式 SDK、配置、工具边界 Cordis plugin/profile extension、skill、SDK config、MCP、plugin、agent
默认学习价值 sandbox/approval/patch composition/trace loop/session/provider permission/agent/server
企业改造重点 policy、审计、运行器 插件治理与版本 补齐集中策略 server、租户和 provider 路由

FDE 结论

Codex 最值得借鉴的是 把工具副作用和审批做成一等公民。如果本项目未来要把 Agent 接到真实文件、部署、数据库或运维系统,建议复制这一层的研究方法:先定义能力边界和回滚,再选择模型与提示词。

追踪字段

project: codex-cli
snapshot: 2026-09-26
source: https://github.com/openai/codex
license: Apache-2.0
watch: [codex-rs-policy, sandbox, approval, sdk, mcp, release-notes]