> https://router.one/zh/blog/claude-code-vs-codex-cli 的 Markdown 镜像，供 AI 助手与爬虫使用。Router One 是 OpenAI 兼容的统一 LLM API 网关。
> 发布：2026-08-02 · 修订：2026-09-19 · 作者：Router One Team

# Claude Code vs Codex CLI：终端编码 Agent 按工作流怎么选

_从协议、模型家族和执行姿态对比 Claude Code 与 Codex CLI，讲清如何用一个 Router One 钱包同时跑两个终端 agent、各设消费硬上限。_

Claude Code 和 Codex CLI 是 2026 年国内工程师真正会放进候选名单的两个终端编码 agent。远看很像——都活在终端里、读你的仓库、改文件、跑命令——但它们说着不同的协议、够得着不同的模型家族、适配不同的工作方式。这篇是面向日常工程工作的对比，结论按工作流给，不加冕赢家。它还会讲清多数对比文跳过的实操部分：通过一个 Router One 账号同时跑两个工具，一个钱包按量计费，不用同时养两份境外订阅、也不用挂 VPN。

先框定范围：这两个都是终端 agent，不是编辑器。如果你真正的问题是「终端 agent 还是 IDE 里的 AI」，先读 [Cursor 对比 Claude Code](https://router.one/zh/blog/cursor-vs-claude-code)——本文假设你已经选定了终端。候选名单里想再放一个终端 agent 的话，[OpenCode vs Claude Code vs Codex CLI](https://router.one/zh/blog/opencode-vs-claude-code-vs-codex-cli) 在同一套对比里加入了 OpenCode。

## 两个 agent，两种哲学

**Claude Code** 是 Anthropic 的终端 agent。在仓库里跑 `claude`，描述任务，它就自己探索代码库——读文件、改文件、跑测试、修失败、继续迭代。它的默认姿态是「先干完活，再给你看 diff」：工具调用边界上会请求许可，但整个产品是为一口气改十几个文件的长时间自主作业设计的。

**Codex CLI** 是 OpenAI 的终端 agent，两个特质定义了它。第一，它原生说 Responses API 线协议——OpenAI 为 agent 式工具调用设计的新协议，而不是经典的 Chat Completions；这也是为什么很多通用中转接不动它，而实现了 `wire_api = "responses"` 的网关可以直接用——见 [Codex 与 Responses API](https://router.one/zh/codex-responses-api)。第二，它的执行模型是沙箱优先：命令默认在沙箱里跑，有明确的审批模式，agent 想越权必须先问。缰绳天生更短。

一句话的诚实总结：Claude Code 为自主性优化，Codex CLI 为可控性优化。哪个「更好」，完全取决于眼前的任务配得上一个代理人，还是需要一个受监督的执行者。

## 各自真正擅长什么

**Claude Code 的长处：**

- **深度多文件 agent 式编辑。** 它能把一个计划横跨整个 module 持续执行——动 15-30 个文件的重构、跑测试直到全绿的循环、需要同一个思路处处一致落地的迁移。
- **Hooks 和 skills 生态。** Hooks 在生命周期节点（工具调用前后）触发 shell 命令，skills 把仓库特有的工作流打包成可复用命令，`CLAUDE.md` 给每个 session 常驻的项目上下文。肯在这里投入的团队，会得到一个像是已经入职过的 agent。
- **终端原生、编辑器无关。** 它在文件系统层操作，Vim、VS Code 都能搭配；review 就用 `git diff`。

**Codex CLI 的长处：**

- **Responses API 原生。** 结构化工具调用和推理摘要是协议里的一等对象，不是叠在 Chat Completions 上的 prompt 约定。
- **沙箱式执行风格。** 审批模式让它在「误删一个目录或者误推一次代码都很贵」的代码库上跑起来更安心，也是更容易交给谨慎同事的那个工具。
- **一份配置用遍 GPT 系列。** GPT-5.5 是能打的全能选手；GPT-5.6 Terra 目录单价更低，适合边界清晰的小改动；GPT-6 Astra 是这一系列的最高档——切换只改一行 `model`。

## 模型边界，先说清楚

这是厂商爱含糊、我们不含糊的部分。通过 Router One，**一个账号、一个钱包、一把网关 key 同时服务两个工具——但每个工具只能调自己协议支持的模型。**

Claude Code 走 Anthropic Messages 端点，可调当前在售 Claude 模型。Codex CLI 走原生 Responses，可调当前在售 GPT 模型，包括 GPT-6 Astra 与 GPT-5.6 家族。截至 2026-09-05，DeepSeek V4 Pro 和 Flash 已不在目录，历史上兼容两个端点不代表今天仍可调用。配置前请核对各模型的端点列表。

真正共享的是调用之外的一切：同一个钱包给两边供血，同一个仪表盘看两边用量，每请求 trace 记下每个工具各花了多少。「一个网关跑两个工具」的实际含义就是这个。

## 对照表

|  | Claude Code | Codex CLI |
| --- | --- | --- |
| 厂商 | Anthropic | OpenAI |
| 协议 | Anthropic Messages | OpenAI Responses（`wire_api = "responses"`） |
| 经 Router One 可调模型（2026-09-19 目录） | Claude Opus 5、Claude Opus 4.8、Claude Sonnet 5、Claude Haiku 4.5 | GPT-5.5、GPT-5.6 Sol 与 Terra、GPT-6 Astra |
| 执行姿态 | 默认自主，长时间无人值守作业 | 沙箱优先，明确的审批模式 |
| 扩展面 | Hooks、skills、`CLAUDE.md` | `config.toml` profiles、`AGENTS.md` |
| 最擅长 | 多文件重构、跑-修-再跑循环 | 边界清晰的任务、谨慎环境、小改动快出手 |
| 经 Router One 计费 | 共享钱包按 token 扣费 | 同一个钱包、同一套 trace |

## 通过 Router One 把两个都配好

两边配置各约两分钟，[一键安装命令](https://router.one/zh/docs/guides/cli-setup)可以全帮你做完。手动配的话，Claude Code 是一对环境变量——base URL 加上你的 key 作为 bearer token：

```bash
export ANTHROPIC_BASE_URL=https://api.router.one
export ANTHROPIC_AUTH_TOKEN=sk-your-api-key
```

Codex CLI 是在 `~/.codex/config.toml` 里声明一个自定义 provider，用 `env_key` 机制——配置里写的是环境变量名，Codex 从那个变量读你的 Router One key：

```toml
model = "openai/gpt-5.5"
model_provider = "router"

[model_providers.router]
name = "Router One"
base_url = "https://api.router.one/v1"
wire_api = "responses"
env_key = "ROUTER_ONE_API_KEY"
```

然后在 shell profile 里 `export ROUTER_ONE_API_KEY=sk-your-api-key`。两份配置的完整版本（含 Windows）见 [CLI 配置指南](https://router.one/zh/docs/guides/cli-setup)。第三个终端 agent OpenCode 也指向同一把 Key——配置见 [OpenCode 接入指南](https://router.one/zh/integrations/opencode)。

## 成本：一个钱包，而不是两份订阅

原生跑这两个工具，你要维护两个厂商关系：两个计费页面、两种境外支付、两个地方对账。走 Router One，两边都变成对同一个预充值钱包按 token 计费，实际改变了三件事：

- **两个都试很便宜。** 每个工具建一把 key，各设一个 `maxSpend` 消费硬上限——比如 $10——然后用真实工作各跑一周。key 撞到上限就停，钱包和另一把 key 毫发无伤。
- **核对每条请求的成本。** Dashboard → Logs 记录模型、请求 ID、token、花费、延迟和状态。在客户端或应用日志里保存请求 ID 与工具名称的对应关系，再核对工作负载成本。字段范围见[成本追踪](https://router.one/zh/llm-cost-tracking)。
- **费率就是公开的 token 价位。** 部分模型最低可到官方公示价的 1 折（最高省 90%），实时单价见[模型页](https://router.one/zh/models)。想要固定月费的话，钱包之外还有 Pro/Max/Ultra 订阅（见[定价](https://router.one/zh/pricing)）。

一条对两个工具都适用的可靠性说明：当上游出现符合条件的错误——5xx、超时、429 或 529——Router One 可以把请求在提供同一个所请求模型的另一个健康 provider 上重试。不是所有错误都可重试，这也不是零宕机保证；长 agent session 仍应容忍偶发的失败调用，并对重试做有上限的指数退避。

Codex 侧这套账的完整版——为什么一个编码 CLI 根本不需要消费级聊天订阅——见[不用 ChatGPT Plus 也能用 Codex CLI](https://router.one/zh/blog/codex-cli-without-chatgpt-plus)。

## 国内使用：这里差异最大

对国内开发者，这一节往往是决定性的。两个工具原生调用的厂商端点，在三大运营商网络上不挂 VPN 都不稳定；两家厂商的计费也都默认你有境外卡。这不是选型差异，是两边一样高的墙。

Router One 把墙整个拆掉：端点大陆直连、无需 VPN；钱包充值走一个托管收银台，支持支付宝或银行卡，也支持 6 条链上的 USDT/USDC（Tron、BSC、Ethereum、Polygon、Base、Arbitrum），全程不需要美国信用卡。换句话说，国内选 Claude Code 还是 Codex CLI，可以真正回到工作流本身，而不是「哪个的网络和付款我搞得定」。两个工具的国内专属配置页：[Claude Code 国内使用](https://router.one/zh/claude-code-china)、[Codex CLI 国内使用](https://router.one/zh/codex-china)。

## 常见问题

**Claude Code 能通过 Router One 调 GPT 模型吗？Codex CLI 能调 Claude 吗？**
不能。Claude Code 经 Messages 调当前在售 Claude 模型，Codex CLI 经 Responses 调当前在售 GPT 模型。两个工具共享账号、钱包、Key 和每请求 trace；同一网关不意味着 Claude 可以走 Responses，也不意味着 GPT 可以走 Messages。

**能在同一个 Router One 账号上同时跑两个工具吗？**
能。一个钱包可以给两个工具供血。每个工具创建独立 API Key，分别设置 maxSpend 上限；需要按工作负载归因时，保存请求 ID 与工具名称的对应关系。

**用这两个 CLI 需要 Claude 订阅或 ChatGPT Plus 吗？**
不需要。通过 Router One，两个工具都从预充值钱包按公开的模型费率按 token 扣费，两边都不需要消费级订阅。重度用户也可以选 Router One 自己的 Pro/Max/Ultra 订阅作为固定月费的替代。

**怎么知道哪个工具花了多少钱？**
Dashboard → Logs 记录模型、请求 ID、token、花费、延迟和状态。把这些请求 ID 与客户端或应用日志中保存的工具名称对应起来，再归因成本。

**两个工具在国内都能用吗？**
指向 Router One 后都能用：端点大陆直连、无需 VPN，钱包通过托管收银台用支付宝或银行卡充值，也支持 6 条链上的稳定币。国内专属配置指南在 [Claude Code 国内接入](https://router.one/zh/claude-code-china) 和 [Codex CLI 国内接入](https://router.one/zh/codex-china)。

## 结论：按工作流选，不按品牌选

没有该加冕的赢家，硬要加冕的人评的其实是自己的习惯。诚实的映射是：

- **默认选 Claude Code**，如果你的工作以成熟代码库里的多文件改动为主、想把「跑测试-修-再跑」循环整个交出去、或者团队愿意在 hooks、skills 和 `CLAUDE.md` 上投入来固化自己的规范。
- **默认选 Codex CLI**，如果你看重沙箱优先的执行模型、任务多数边界清晰，或者 GPT 系列——通用任务用 GPT-5.5、小改动用单价更低的 GPT-5.6 Terra——更合你的节奏。
- **两个都跑**，如果条件允许。它们不冲突；一个 Router One 钱包、各一把带上限的 key，这场实验的成本就是 trace 里写的那个数。

到 [router.one](https://router.one/zh) 建一把 key，用[一键配置命令](https://router.one/zh/docs/guides/cli-setup)装上任意一个，让两周真实工作——而不是一张 benchmark 表——替你做决定。

## 相关页面

- 本页规范地址：https://router.one/zh/blog/claude-code-vs-codex-cli
- Codex CLI 中国：https://router.one/zh/codex-china
- 全部博客文章：https://router.one/zh/blog
- 模型与每模型 token 价格：https://router.one/zh/models （markdown：https://router.one/zh/models.md ）
- 定价：https://router.one/zh/pricing
- API 文档（markdown）：https://router.one/zh/docs.md
- 公司事实（markdown）：https://router.one/zh/facts/company.md
