Codex 不是「一个终端程序」,而是一个横跨四种产品的同一个 harness——那套 agent 循环与执行逻辑。差别只在外壳。
| 外壳 | 形态 | 如何接上 harness |
|---|---|---|
| Codex CLI / TUI | 终端界面 | 历史上同进程直连 Rust core;正在改造为 App Server 客户端 |
| IDE 扩展 | VS Code / Cursor / Windsurf / JetBrains / Xcode | 捆绑或下载平台专属 App Server 二进制,走 stdio |
| 桌面 App | macOS / Windows(Electron) | 捆绑固定版本的二进制,多线程并行编排 agents |
| Codex Web | 浏览器 + 云端容器 | worker 在容器里起 App Server,浏览器经 HTTP+SSE 收事件 |
开源边界:引擎开源,外壳不全开
CLI 与整个 codex-rs 工作区是 Apache-2.0 开源的;但桌面 App 的 Electron 界面本身是闭源、代码签名的。开源仓库里与桌面相关的只有 codex-rs/cli/src/desktop_app/{mac,windows}.rs——那是负责下载并拉起闭源 App 的启动器,不是界面源码(搜遍仓库没有 Electron/renderer 目录)。所以社区才需要 codex-app-mirror 这类「原样镜像安装包」的仓库。
模型的权重同样不开放:Codex 调的是闭源 Responses API;OpenAI 的开放权重产品线是另一支 gpt-oss,与 Codex 无关。
为什么值得看源码
2025 年 4 月 CLI 上线时它还只是一个终端程序;到 2026 年,它已经变成 JetBrains、Xcode 等第三方愿意依赖的平台级协议。这条演化路径的技术决策,大部分都留在了公开仓库与 PR 里——这是本文的主要材料。