OpenAI 去年发布了 Codex CLI,加上社区早已熟知的 OpenCode(SST 团队从零构建,受 Claude Code 启发,与 OpenHands/OpenDevin 无关),两者代表了终端 AI 编码代理的两个不同方向。这篇文章记录实际使用和社区反馈的综合对比。
架构 链接到标题
| 维度 | Codex CLI | OpenCode |
|---|---|---|
| 实现语言 | Rust(97.4%) | TypeScript |
| 模型支持 | 仅 OpenAI GPT 系列 | 75+ providers,含 Ollama 本地模型 |
| 子代理 | Subagents + Goals 持久化 | Build/Plan 双代理 + Scout 后台代理 |
| 桌面端 | macOS 原生 | Tauri(Mac / Win / Linux) |
| 终端 UI | Rust TUI | Bubble Tea TUI |
Codex 是 Rust 实现,OpenCode 是 TypeScript。前者在启动速度和资源占用上有天然优势,后者的跨平台和模型自由度则是卖点。
速度 链接到标题
Codex 明显更快,这是社区共识。原因有二:
- 系统提示仅 ~3K tokens,GPT 模型几乎直通,首句响应极快
- Rust 实现无运行时开销,TypeScript + Vercel AI SDK 多了一层适配
实际测试效果:相同模型、相同 prompt,Codex 「秒出」而 OpenCode 「要等半天」。长任务跑 300M+ tokens 时,Codex 全程只需一次人工介入,OpenCode 跑几个子任务就可能卡住。
Terminal-Bench 2.0 的数据也佐证了这一点:
- Codex(GPT-5.5):82.0%
- OpenCode(Claude Opus 4.5):51.7%
OpenCode 的跨模型灵活性以性能为代价,选型时需要权衡。
权限控制 链接到标题
这是 OpenCode 的优势,也是 Codex 最明显的短板。
OpenCode 支持 per-tool / per-command 级别策略配置:
{
"bash": {
"git *": "allow",
"rm -rf *": "deny"
}
}
还可以按 agent 模式(build / plan / explore)分别设定权限。
Codex 的 permission profile 机制(default / permissive / suggest)粒度较粗,没有命令级别的 deny/allow 规则。实际使用中,这意味着某些敏感操作只能靠人工确认拦截,无法通过配置固化安全策略。
如果你的团队有严格的安全审计需求,OpenCode 的权限模型更匹配。
上下文管理 链接到标题
长对话下上下文漂移是 AI 编码工具的常见痛点。
Codex 使用 hooks 式压缩策略,社区反馈「压缩好几次都不会漂移」,长任务可靠性很高。即使单次 session 消耗大量 token,指令跟随保持稳定。
OpenCode 的 auto-compact 机制在短任务场景下表现正常,但长对话存在退化现象。社区报告「同样模型在 Codex 上表现正常,在 OpenCode 上就改无关内容」。
生态与灵活性 链接到标题
OpenCode 的优势在生态系统:
- 172K GitHub stars,社区最活跃,插件和第三方工具丰富
- 75+ 模型提供方,可以接入本地 Ollama、国产模型等
- 配合 oh-my-opencode 插件能进一步扩展功能(但 omo 本身 bug 也不少)
Codex 的优势在集成深度:
- 与 OpenAI 模型原生优化,无兼容层损耗
- Chrome 浏览器扩展 + 内置浏览器支持(可渲染 SPA 页面)
/goal持久化命令适合多日跨 session 任务- 上下文压缩优秀,长任务漂移极小
价格 链接到标题
- Codex CLI:$20-200/mo 订阅制(含 GPT 额度)
- OpenCode:免费 BYOK / $10 Go 方案 / $200 Black 方案
Codex 的订阅费包含模型调用成本,OpenCode 需要自备 API key。总成本取决于使用量,但如果已持有 OpenAI API 额度,OpenCode 的 BYOK 模式可能更经济。
选型建议 链接到标题
| 场景 | 推荐 |
|---|---|
| 日常以 OpenAI 为主、跑长任务多 | Codex CLI |
| 需要多模型切换、本地模型 | OpenCode |
| 团队安全审计严格、需要细粒度权限 | OpenCode |
| 多日长周期任务(goal 持久化) | Codex CLI |
| 两者都喜欢 | 场景切换,互补使用 |
没有绝对更好的工具,只有更适合当前工作流的方案。两者的设计取向不同,覆盖的场景有交叉也有各自擅长的领域。
参考 链接到标题
- GitHub: openai/codex
- GitHub: sst/opencode
- Terminal-Bench 2.0
- LINUX DO、Reddit、Dev.to 社区讨论