Orkas Orkas
首页 对比 Claude Code vs Codex vs OpenCode
诚实对比

Claude Code vs Codex vs OpenCode:
它们各自允许宿主向自己要什么

三个都是终端编程 Agent,三个都能绑定项目目录,三个都原生支持续接会话。真正要紧的差别,只有当有别的东西在驱动它们时才显现:一条常驻指令能不能活下来、Agent 能不能读写自己的持久记忆、运行中能不能被打断,以及哪些权限模式实际够得着。这几行是实测出来的,不是引用来的。

一览表

Claude Code、Codex、OpenCode 逐项对比

标着 “measured” 的行,来自 Orkas 为把它们当本地 CLI 后端驱动而维护的能力清单。它们描述的是每个 Agent 对外暴露的宿主契约——不是它写代码写得好不好。

能力Claude CodeAnthropicCodexOpenAIOpenCodeMIT,社区
谁做的,许可证是什么Anthropic;专有OpenAI;Apache-2.0社区;MIT
模型可选范围Anthropic 的 Claude 模型ChatGPT 套餐、API key、自定义供应商或本地模型几十家供应商、任何 OpenAI 兼容接口,以及本地运行时
你从哪里驱动它终端,或 IDE 集成终端、VS Code / Cursor / Windsurf 扩展,还有云端版本先是 TUI,桌面应用较新
从上次中断处续上 (实测)有原生续接操作有原生续接操作有原生续接操作
携带一条常驻指令 (实测)有原生指令字段,但作用域是单次调用——宿主每次运行都要重发有原生的 developer instruction 字段,且存活于会话内没有原生字段——指令作为第一条用户消息送达,存活于会话内
绑定到项目目录 (实测)
够得到宿主自己的工具 (实测)是——可挂载单次运行的桥接是——可挂载单次运行的桥接是——可挂载单次运行的桥接
读写持久的 Agent 记忆 (实测)否——桥接是挂上了,但记忆不在其中
运行途中接收新消息 (实测)是——通过它的流式 JSON 传输是——通过它的 app-server 传输否——得等这一轮跑完
宿主能施加的权限模式 (实测)沿用它自己的默认、每次询问,或完全放行沿用它自己的默认、每次询问,或完全放行只有自动模式——它的一次性运行传输没有审批回传通道

这里面有两行真正会改变决策。OpenCode 是三者中唯一没有审批回传通道的,所以宿主无法为它提供「每次都问我」的模式,只能按它支持的自动模式跑——选它时要挑那种可以接受这一点的活。另外,Claude Code 的指令字段作用域是单次调用而非整个会话;你自己在终端里敲的时候完全看不出来,但当有别的东西替你反复拉起进程时,这一点非常要紧。

本对比页最后更新于 2026 年 9 月 11 日;最新条款请以各厂商官网为准。

什么时候选哪个

按你动不了的那个约束来选

选 Claude Code,如果……

  • 你要的就是 Claude 模型,而且来自做它的那家厂商
  • 你在终端或 IDE 集成里干活,没有别的东西来驱动它
  • 你希望宿主能在动手之前暂停下来问你

选 Codex,如果……

  • 你已经有 ChatGPT 套餐,或者想要一次不在你机器上的云端运行
  • 你希望一条常驻指令在会话里活下来,而不是每次重发
  • 你的编辑器是 VS Code、Cursor 或 Windsurf

选 OpenCode,如果……

  • 许可证必须是 MIT,供应商清单必须够长
  • 你希望模型能跑在你自己的硬件上
  • 对你交给它的活来说,自动执行是可以接受的
数据来自哪里

实测那几行是怎么来的

Orkas 把这三个都作为本地 CLI 会话运行,所以每一个对外暴露的宿主契约,这个项目必须知道得精确,而不是大概。

1

这份清单是 Orkas 源码里的一处声明;一个后端在那儿声明好会话语义之前,根本无法被派发。

2

它一共覆盖五个后端——Claude Code、Codex、OpenCode、OpenClaw 和 Hermes。本页这三个,是其中会绑定项目目录的三个。

3

本页没有任何一句是在评判它们写代码的质量。少一项宿主能力通常是设计选择,不是缺陷。

证据

这一页,你可以自己核

标注「实测」的七行,2026 年 9 月 11 日从 Orkas 源码重新推导了三次,七行全部对得上。Claude Code 与 Codex 另外做了一次不依赖该源码的外部交叉核验:claude --help 里 --resume、--permission-mode、--append-system-prompt、stream-json 四项全部存在;codex --help 里 resume、--sandbox、app-server、exec 四项全部存在。核验时的版本:Claude Code 2.1.267、Codex CLI 0.153.4,系统 macOS 15.6。

有一个缺口,我们选择留着而不是糊过去:核验用的机器上没装 OpenCode,所以它那一列只有 Orkas 源码这一个来源,没有第二来源。补这个缺口的办法是下次核验前把它装上,而不是把那一行的措辞改软。另外,这些行都不涉及三者写代码的质量——少一项宿主能力,通常是设计取舍而不是缺陷。

下载原始证据文件(JSON)→

常见问题

大家真正会问的问题

一个桌面应用能同时驱动这三个吗?

可以。Orkas 在同一个窗口里把 Claude Code、Codex、OpenCode 作为本地 CLI 后端运行,另外还有 OpenClaw 和 Hermes。支持的就是这五个——没有 Cline 后端,也没有 Gemini CLI 后端。

为什么我在 OpenCode 上拿不到审批提示?

因为它一次性运行的传输通道没有办法把审批问题回传给宿主并等待回答。给它提供一个「每次都问我」的选项,等于暗示会有一个根本不会发生的暂停,所以它按它支持的自动模式运行。

这三个里,哪个能在多次运行之间保住 system prompt?

Codex 和 OpenCode 都把它留在会话里。Claude Code 的指令字段作用域是单次调用,所以只要宿主重新拉起进程,就得每次重发这条指令,它才仍然生效。

更多对比

接着读

一个窗口,三个都在

Orkas 免费、MIT 许可。它在你自己的机器上,把 Claude Code、Codex、OpenCode、OpenClaw 和 Hermes 作为本地 CLI 会话驱动。