在 Claude Code 中使用 Codex:安装与使用指南

·11 分钟阅读

这是什么

codex-plugin-cc 是 OpenAI 发布的 Claude Code 插件。装上之后,你可以在 Claude Code 会话中直接使用 Codex 的能力:

  • 代码审查——让 Codex 审查你的代码变更
  • 对抗性审查——让 Codex 挑战你的设计决策和实现方式
  • 任务委托——把 bug 调查、修复等工作交给 Codex 处理

所有操作都在 Claude Code 内完成,不需要切换到 Codex CLI。


前置条件

  • ChatGPT 订阅(含免费版)或 OpenAI API key——插件使用会计入你的 Codex 用量限制
  • Node.js 18.18+

安装

在 Claude Code 中依次执行:

# 添加 marketplace
/plugin marketplace add openai/codex-plugin-cc

# 安装插件
/plugin install codex@openai-codex

# 重新加载
/reload-plugins

然后运行环境检查:

/codex:setup

/codex:setup 会检测 Codex CLI 是否已安装并登录。如果 Codex 未安装且有 npm,它会提议自动安装。你也可以手动装:

npm install -g @openai/codex

如果 Codex 已安装但未登录:

!codex login

安装成功后,你会看到新的斜杠命令,以及 /agents 中出现 codex:codex-rescue 子代理。

快速验证一下:

/codex:review --background
/codex:status
/codex:result

命令详解

/codex:review——标准代码审查

让 Codex 对你当前的工作进行只读审查,效果等同于在 Codex 内直接执行 /review

适用场景:

  • 审查当前未提交的改动
  • 审查当前分支相对于 main 等基准分支的差异
# 审查当前工作区
/codex:review

# 审查相对于 main 的分支差异
/codex:review --base main

# 后台运行(推荐,多文件审查可能耗时较长)
/codex:review --background

多文件变更的审查可能需要一些时间,建议使用 --background 在后台运行。

这个命令是只读的,不会修改任何代码。

/codex:adversarial-review——对抗性审查

一种可引导的审查模式,专门用来质疑你的实现选择和设计决策。不只是找 bug,而是压力测试你的假设、权衡取舍和潜在风险。

适用场景:

  • 发版前挑战整体方向,而不只是代码细节
  • 聚焦设计选择、隐含假设和替代方案
  • 针对 auth、数据丢失、竞态条件等特定风险区域做压力测试
# 基本使用
/codex:adversarial-review

# 针对特定方向审查
/codex:adversarial-review --base main challenge whether this was the right caching and retry design

# 后台运行,聚焦竞态条件
/codex:adversarial-review --background look for race conditions and question the chosen approach

/codex:review 不同,这个命令可以在 flags 后面附加自由文本来引导审查方向。同样是只读的。

/codex:rescue——任务委托

把任务交给 Codex 的 codex:codex-rescue 子代理来处理。

适用场景:

  • 调查一个 bug
  • 尝试修复
  • 继续之前的 Codex 任务
  • 用更小的模型做一轮快速检查
# 调查问题
/codex:rescue investigate why the tests started failing

# 尝试修复
/codex:rescue fix the failing test with the smallest safe patch

# 继续上次的任务
/codex:rescue --resume apply the top fix from the last run

# 指定模型和 effort
/codex:rescue --model gpt-5.4-mini --effort medium investigate the flaky integration test

# 用 spark 模型快速处理
/codex:rescue --model spark fix the issue quickly

# 后台运行
/codex:rescue --background investigate the regression

你也可以用自然语言让 Claude 委托任务:

Ask Codex to redesign the database connection to be more resilient.

说明:

  • 不传 --model--effort 时,使用 Codex 默认配置
  • spark 会映射为 gpt-5.3-codex-spark
  • 省略 --resume--fresh 时,插件会询问是否继续该仓库最近的 rescue 线程

任务可能比较耗时,建议使用 --background 或在启动后将代理移到后台。

/codex:status——查看任务状态

/codex:status
/codex:status task-abc123

查看当前仓库中正在运行和最近完成的 Codex 任务。

/codex:result——获取任务结果

/codex:result
/codex:result task-abc123

查看已完成任务的完整输出。如果可用,还会返回 Codex session ID,你可以用 codex resume <session-id> 在 Codex 中直接继续这个任务。

/codex:cancel——取消任务

/codex:cancel
/codex:cancel task-abc123

终止正在运行的后台任务。


典型工作流

发版前审查

/codex:review

收到一份完整的代码审查报告,确认没有遗漏。

把问题甩给 Codex

/codex:rescue investigate why the build is failing in CI

让 Codex 去调查 CI 构建失败的原因,你继续做其他事。

后台长时间任务

# 启动后台任务
/codex:adversarial-review --background
/codex:rescue --background investigate the flaky test

# 随时查看进度
/codex:status

# 任务完成后获取结果
/codex:result

在 Codex 中继续工作

通过 /codex:result/codex:status 获得 session ID 后,可以在 Codex 中直接恢复:

codex resume <session-id>

这样你可以在 Codex 里审查或继续插件发起的工作。


配置

插件使用你本地的 Codex CLI,因此会沿用已有的 Codex 配置。

如果需要为特定项目指定默认模型和推理强度,在项目根目录创建 .codex/config.toml

model = "gpt-5.4-mini"
model_reasoning_effort = "xhigh"

配置加载优先级:

  1. 用户级:~/.codex/config.toml
  2. 项目级:.codex/config.toml(需要项目被信任)

Review Gate(可选)

Review Gate 是一个退出拦截机制。启用后,每次 Claude 尝试结束会话时,插件会自动触发一次 Codex 审查。如果发现问题,会阻止退出让 Claude 先处理。

# 启用
/codex:setup --enable-review-gate

# 禁用
/codex:setup --disable-review-gate

注意:Review Gate 可能导致 Claude/Codex 之间的长循环,快速消耗用量限制。建议只在你主动监控会话时启用。


FAQ

需要单独的 Codex 账号吗?

不需要。如果你已经在本机登录过 Codex,插件直接使用同一份认证。如果从没用过 Codex,需要用 ChatGPT 账号或 API key 登录一次(!codex login)。

插件用的是独立的 Codex 运行时吗?

不是。插件通过本地 Codex CLI 和 app server 工作,使用同一份安装、同一份认证、同一个仓库和环境。

已有的 Codex 配置会生效吗?

会。插件沿用你现有的 config.toml 配置,包括模型选择、base URL 等。

可以继续用现有的 API key 或自定义 base URL 吗?

可以。插件使用本地 Codex CLI,你现有的登录方式和配置直接生效。如果需要将内置 OpenAI provider 指向不同的端点,在 Codex 配置中设置 openai_base_url 即可。