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
两者都喜欢 场景切换,互补使用

没有绝对更好的工具,只有更适合当前工作流的方案。两者的设计取向不同,覆盖的场景有交叉也有各自擅长的领域。

参考 链接到标题