Claude Code 中接入 OpenAI Codex 插件:双模型协同编程的完整实践

本文要回答的核心问题是:如何在 Claude Code 中安装并配置 OpenAI Codex 插件,让 Claude 和 Codex 两个模型协同完成编程任务?

答案很直接:通过 Claude Code 的插件市场添加 OpenAI 官方源,安装 codex 插件,完成本地环境检测与认证,即可在对话中自然语言委托 Codex 执行代码编写任务。整个过程不超过五步,全部在终端内完成。


为什么要在 Claude Code 里用 Codex?

本节要回答的核心问题是:Claude Code 本身就能写代码,为什么还要接入 Codex?

Claude Code 是 Anthropic 的命令行编程助手,而 OpenAI Codex CLI 是 OpenAI 官方发布的命令行编程工具,底层使用 GPT 系列模型,专为代码任务优化,支持读写本地文件、执行命令、调试代码。两者能力各有侧重。

OpenAI 为 Claude Code 发布了 codex-plugin-cc 插件,它的核心价值在于:允许你在 Claude Code 会话中直接将编程任务委托给本地运行的 Codex CLI,实现 Claude + Codex 双模型协同工作。Claude 负责理解需求、判断是否委托、以及事后审查;Codex 负责具体执行代码生成。

图像

实际场景中,你可以把 Claude 当成”项目经理”,把 Codex 当成”执行开发者”。Claude 分析你的需求后,认为适合外包给 Codex,就自动调用;不适合的,Claude 自己处理。这种分工不是必须的,但在某些任务类型下能带来不同的输出风格和思路。

命令行工具界面
图片来源:Unsplash

费用机制

使用 codex:rescue 会调用 OpenAI API,按实际 token 消耗计费,费率取决于所用模型。这笔费用与 Claude Code 的 Anthropic 额度相互独立,需要单独的 OpenAI API Key 或账号余额。简单说:Claude 的钱归 Anthropic 收,Codex 的钱归 OpenAI 收,两笔账分开算。

反思:双模型协同听起来很美好,但费用分开这一点容易被忽略。如果你是个人开发者,建议在 OpenAI 控制台提前设置用量限额,避免一次大批量任务跑下来才发现账单异常。这种”两个供应商、两套计费”的架构,在生产环境中需要特别注意成本管控。


安装前的准备工作

本节要回答的核心问题是:在动手安装之前,需要确认哪些前置条件已就绪?

有三个条件必须满足,缺一不可:

序号 前置条件 说明
1 已安装 Claude Code CLI 这是宿主环境,插件运行在它之上
2 已安装 Node.js(v18+)和 npm Codex CLI 依赖 Node.js 运行时
3 已有 OpenAI 账号且具备 API 额度 Codex 调用 GPT 模型需要付费

测试环境为 Windows 10。如果你使用 Mac 或 Linux,路径格式会有所不同——比如插件缓存路径是 ~/.claude/ 而非 C:/Users/你的用户名/.claude/——但命令和逻辑完全一致,后续会单独说明差异。

独特见解:这三个前置条件其实揭示了 Codex 插件的架构本质——它不是一个”云端功能开关”,而是一个在本地运行的桥接层。Claude Code 通过插件调用本地脚本 codex-companion.mjs,脚本再启动本地 Codex CLI,CLI 最后通过你的 API Key 调用云端模型。理解这条链路,后面排错时就不会茫然。


五步完成安装与配置

本节要回答的核心问题是:从零开始,具体每一步该做什么、输入什么命令、看到什么输出?

第一步:添加插件市场源

在 Claude Code 中运行:

/plugin marketplace add openai/codex-plugin-cc

预期输出:

Successfully added marketplace: openai-codex

这一步的作用是将 OpenAI 官方的插件市场源注册到 Claude Code 中。没有这一步,后续安装命令找不到插件包。

场景说明:这类似于在系统中添加一个新的软件源。比如你在 Ubuntu 里先 add-apt-repository,然后才能 apt install。逻辑完全一样。

第二步:安装 Codex 插件

/plugin install codex@openai-codex

预期输出:

✓ Installed codex. Run /reload-plugins to apply.

插件下载并安装到本地缓存目录。注意输出提示你还需要重载才能生效。

第三步:重载插件

/reload-plugins

预期输出:

Reloaded: 5 plugins · 7 skills · 6 agents · 3 hooks · 1 plugin MCP server · 0 plugin LSP servers

重载后,Codex 相关技能(codex:setup、codex:rescue 等)才会正式生效。这一步不可跳过,否则后续输入 codex 相关命令会提示找不到技能。

第四步:检查 Codex 本地环境

/codex:setup
图像

这个命令会自动检测本地四项环境指标,输出类似:

{
  "ready": true,
  "node": { "available": true, "detail": "v24.12.0" },
  "npm":  { "available": true, "detail": "11.6.2" },
  "codex": { "available": true, "detail": "codex-cli 0.117.0; advanced runtime available" },
  "auth": { "available": true, "loggedIn": true, "detail": "authenticated" }
}

各字段含义如下:

图像
  • ready:综合判断,全部通过为 true
  • node:Node.js 是否可用及版本号
  • npm:npm 是否可用及版本号
  • codex:Codex CLI 是否已安装及版本
  • auth:OpenAI 认证状态

场景说明:假设你在一个新机器上操作,codex 字段可能是 available: false。这时候不要慌,插件会引导你安装。

如果 Codex CLI 未安装

/codex:setup 会提示你安装,选择 Install Codex (Recommended),它会自动运行:

npm install -g @openai/codex

全局安装完成后,Codex CLI 就可在任意终端路径下使用了。

如果未登录 OpenAI

安装完成后,在系统终端(不是 Claude Code 内部)运行:

codex login

按提示完成 OpenAI 账号授权,然后回到 Claude Code 重新运行 /codex:setup 验证 auth 字段是否变为 loggedIn: true

可选:开启 Review Gate

/codex:setup 输出里有一条可选建议:

/codex:setup --enable-review-gate

开启后,每次 Codex 执行任务前会强制要求人工审核确认,然后再继续执行。

场景说明:这适合两种情况——一是你对代码修改非常谨慎,不想让任何自动化工具直接写文件;二是你在重要项目(生产环境代码库)中使用,需要多一层安全阀。如果你是在个人实验项目里快速迭代,不开启也可以,默认自动执行。

第五步:实测——委托 Codex 编写代码

本步要回答的核心问题是:配置完成后,实际使用体验是怎样的?

安装完成后,直接用自然语言描述任务即可,不需要手动输入 /codex:rescue。Claude 会自动判断任务复杂度并决定是否调用 Codex。

你也可以在描述任务时明确说”交给 Codex 处理”,Claude 会立即委托,不做额外判断。

示例任务

帮我写一个 Python 脚本,读取 CSV 文件并统计每列的均值,交给 Codex 处理

Codex 的输出结果

Codex 生成了一个完整的 Python 脚本 csv_stats.py,包含以下能力:

  • 命令行参数解析(指定文件路径)
  • 数值列自动识别(跳过非数值列)
  • UTF-8/GBK 编码兼容(适合 Windows 中文环境)
  • 多种异常处理(文件不存在、无权限、编码错误、空文件等)
图像

运行效果

文件:data.csv
共找到 3 列数值列

列名            均值
---------------------------
age            34.2500
salary      75000.0000
score           88.5000

场景解读:想象你在做数据分析,手头有一份 CSV 但还没导入 pandas 环境。你不需要切换到另一个工具,直接在 Claude Code 里说一句话,Codex 就帮你生成了一个可复用的脚本。脚本写好之后,你还可以继续让 Claude 审查、优化、甚至帮你写单元测试。

Python代码编辑场景
图片来源:Unsplash

学到的教训:第一次测试时我特意观察了 Claude 的判断逻辑。当我说”交给 Codex 处理”时,Claude 没有做任何犹豫,直接调用了 codex:rescue。但当我只说”帮我写一个脚本”而不提 Codex 时,Claude 有时自己写,有时委托给 Codex。这说明”自动判断”机制确实存在,但当前阶段的判断标准并不完全透明。如果你对输出有明确偏好,建议直接在指令中指定。


最佳实践:让 Claude 审查 Codex 的输出

本节要回答的核心问题是:Codex 生成的代码能直接用吗?需不需要额外把关?

Codex 是独立模型,Claude 不参与代码生成过程。这意味着 Codex 的输出质量完全取决于 GPT 模型本身,Claude 对此没有控制权。建议每次委托完成后,追加一句:

帮我 review 一下刚才 Codex 生成的代码

Claude 会从多个角度对代码进行审查。

以前面的 CSV 统计脚本为例,Claude 的 review 结论包括:

审查维度 结论
逻辑正确性 均值计算和数值列识别无误
异常处理 完整覆盖文件不存在、无权限、编码错误、空文件等场景
编码兼容性 UTF-8 + GBK 自动回退,适合 Windows 环境
安全性 只读文件操作,无命令注入风险
综合判定 可直接使用

场景说明:假设 Codex 生成的脚本中有一个潜在的除零错误(某列全为空时求均值会报错),Claude 在 review 时能发现这个问题并给出修改建议。这就是双模型协同的真正价值——不是让两个模型各干各的,而是让一个模型充当另一个模型的质检员。

这一步不是必须的,但养成习惯后能有效避免 Codex 输出质量不稳定带来的问题。

反思:这让我想到软件工程中的”四眼原则”(Four-Eyes Principle)——关键变更必须至少经过两个人审核。双模型协同本质上就是把四眼原则搬到了 AI 编程领域。Claude 和 Codex 来自不同厂商、基于不同架构,它们犯同样错误的概率远低于单个模型自我审查。这可能是目前 AI 辅助编程中最务实的一种质量保障策略。


工作流程全链路解析

本节要回答的核心问题是:从你说出一句话到代码文件落盘,中间到底发生了什么?

完整链路如下:

你的自然语言需求
       ↓
   Claude 分析(自动判断是否委托)
       ↓
  调用 codex:rescue 技能
       ↓
  codex-companion.mjs(本地脚本)
       ↓
  OpenAI Codex CLI(本地运行)
       ↓
  GPT系列模型处理(消耗 OpenAI 额度)
       ↓
  生成代码文件 + 返回结果

有几个关键点值得展开:

  1. Claude 是调度者:它决定”做不做”和”交给谁做”,但自己不写这部分的代码。
  2. codex-companion.mjs 是桥接层:这是一个运行在本地的 Node.js 脚本,负责在 Claude Code 的插件系统和 Codex CLI 之间传递消息。
  3. Codex CLI 在本地运行:不是远程服务调用,而是真正的本地进程。你的文件读写都在本机完成。
  4. GPT 模型在云端处理:本地 CLI 通过你的 OpenAI API Key 调用云端模型,这才是实际消耗 token 的环节。
  5. 结果文件直接写入当前工作目录:生成的代码文件就落在你当前项目里,不需要手动复制粘贴。

场景解读:假设你的项目在 /home/user/myproject/,你在该目录下启动 Claude Code 并委托 Codex 写代码,生成的文件会直接出现在 /home/user/myproject/ 下。这是本地运行带来的天然优势——文件权限、路径上下文、项目结构都自动对齐。


可用技能与参数速查

本节要回答的核心问题是:安装完插件后,我具体可以用哪些命令、传哪些参数?

安装插件后,Claude Code 新增以下技能:

图像

其中最常用的两个:

  • codex:setup:环境检测与配置,前面已详细说明
  • codex:rescue:实际的编程任务委托入口

codex:rescue 支持的参数:

图像

在实际使用中,大多数情况下你不需要手动调用 /codex:rescue,也不需要传参数。自然语言描述任务时说”交给 Codex 处理”就够了。这些参数主要供高级用户或插件内部逻辑使用。


跨平台注意事项

本节要回答的核心问题是:如果你不用 Windows,有哪些地方需要注意?

本文路径示例基于 Windows 10。Mac 和 Linux 用户的差异仅限于文件系统路径:

项目 Windows Mac / Linux
插件缓存路径 C:/Users/你的用户名/.claude/plugins/cache/ ~/.claude/plugins/cache/
Claude 配置目录 C:/Users/你的用户名/.claude/ ~/.claude/
命令语法 完全一致 完全一致
Node.js / npm 行为 完全一致 完全一致

所有命令(/plugin/codex:setupcodex login 等)在三个平台上完全相同。唯一的区别就是路径前缀不同。

独特见解:这说明 codex-plugin-cc 的设计者在跨平台兼容上做了充分考量。插件没有硬编码任何绝对路径,而是依赖 Claude Code 本身提供的路径解析能力。对于需要在多台机器、多操作系统间切换的开发者来说,这是一个很友好的设计。


常见问题解答

Q:/codex:setup 运行后提示 Codex 未安装怎么办?

选择 Install Codex (Recommended),插件会自动运行 npm install -g @openai/codex 完成全局安装。安装完成后重新运行 /codex:setup 验证。

Q:安装后提示未认证怎么办?

在系统终端(不是 Claude Code 会话内)运行 codex login,按提示完成 OpenAI 账号授权,然后回到 Claude Code 重新运行 /codex:setup 确认 auth.loggedIntrue

Q:任务结束后想继续追问 Codex 怎么办?

再次描述你的需求。如果 Claude 检测到可恢复的会话上下文,它会询问你是继续当前线程还是开启新线程。你可以根据实际情况选择。

Q:用了 Codex 会产生 OpenAI 费用吗?

是的。每次调用 codex:rescue 都会消耗 OpenAI API 额度,与 Claude Code 的 Anthropic 账单独立计算。建议在 OpenAI 控制台设置用量限额,避免意外超额。

Q:Mac/Linux 上路径不一样怎么办?

插件缓存路径为 ~/.claude/plugins/cache/,其余所有命令完全一致,无需额外适配。

Q:可以不用 Claude,直接用 Codex CLI 吗?

可以。Codex CLI 本身就是独立的命令行工具,安装后可以直接在终端使用。本文讨论的是”在 Claude Code 中通过插件调用 Codex”这一特定协同方式。

Q:Claude 和 Codex 会互相冲突吗?

不会。Claude 在委托任务给 Codex 时,自己不会同时修改相同文件。两者在任务执行层面是串行关系,不是并行竞争关系。


实用摘要与操作清单

以下是完成整个配置的最小操作路径,按顺序执行即可:

□ 确认已安装 Claude Code CLI
□ 确认 Node.js v18+ 和 npm 已安装
□ 确认 OpenAI 账号有 API 额度
□ 在 Claude Code 中执行:/plugin marketplace add openai/codex-plugin-cc
□ 执行:/plugin install codex@openai-codex
□ 执行:/reload-plugins
□ 执行:/codex:setup 检查环境
□ 如提示未安装 Codex CLI,选择自动安装
□ 如提示未认证,在终端执行 codex login
□ (可选)执行 /codex:setup --enable-review-gate 开启人工审核
□ 用自然语言描述任务,加上"交给 Codex 处理"
□ 任务完成后追加"帮我 review 一下刚才 Codex 生成的代码"

一页速览

维度 内容
是什么 Claude Code 的官方插件,允许在会话中委托 OpenAI Codex 执行编程任务
核心价值 双模型协同——Claude 做调度和审查,Codex 做执行
安装步骤 添加市场源 → 安装插件 → 重载 → 环境检测 → 认证
使用方式 自然语言描述任务 + “交给 Codex 处理”,或由 Claude 自动判断
费用 OpenAI API 单独计费,与 Anthropic 额度独立
前置条件 Claude Code CLI + Node.js v18+ + OpenAI 账号
跨平台 命令一致,仅路径前缀不同
质量保障 建议每次委托后让 Claude review Codex 输出
关键命令 /codex:setup(检测)、codex login(认证)、自然语言委托(使用)

终端与咖啡的工作台
图片来源:Unsplash

最后的反思:写完这篇实践记录后,我最深的感受是——双模型协同不是噱头,但它目前的价值更多体现在”质量交叉验证”而非”效率翻倍”。Claude 自己就能写代码,Codex 也能独立工作,把它们串起来的真正意义在于:两个不同架构的模型对同一个问题的理解差异,恰好可以互补。这跟团队里安排两个不同背景的工程师交叉 review 同一段代码,是同一个道理。工具在进化,但好的工程实践逻辑始终没变。