OpenAI 官方 Claude Code 插件:把本机 Codex CLI、Codex app server、Claude Code slash command / hook / subagent 串成同一条工作流。

27.2k stars | JavaScript | Apache-2.0 | Claude Code Plugin Marketplace | v1.0.6

一句话定位

如果说 claude-plugins-official 解决的是“Claude Code 能装哪些插件”,那 codex-plugin-cc 解决的是“如何在 Claude Code 里直接把 Codex 当成第二个 coding agent 调起来”。

它不是独立 Agent runtime,也不是单个 Skill 包,而是一个完整插件:暴露 /codex:* 命令、注册 hook、附带 rescue subagent,并复用本机已安装的 Codex CLI / 配置 / 登录态。

为什么值得关注

  • 跨 harness 协作被产品化:不用手动切 terminal,也不用自己拼 prompt,Claude Code 内直接 review、delegate、resume Codex
  • 不是薄封装命令别名:仓库里同时包含 commands/、agents/、hooks/、skills/、scripts/,说明它把协作协议做成了完整插件面
  • 复用现有 Codex 环境:使用本机 codex 二进制、同一份认证状态、同一份 ~/.codex/config.toml / .codex/config.toml
  • 很适合研究 agent 间 handoff:比单纯看 agent-skill-loading 更进一步,能看到命令、hook、subagent、外部 runtime 如何拼成一条 delegation 链

核心命令面

README 暴露的主命令分三组:

1. 只读审查

  • /codex:review:标准只读 review,可针对当前未提交改动或 --base <ref> 分支差异
  • /codex:adversarial-review:可加 focus text 的挑战式 review,强调设计质疑、风险点、替代方案

这组命令的定位更接近 open-code-review 的“第二审稿人”,但背后跑的是本机 Codex,而不是单独托管服务。

2. 任务委托与上下文转移

  • /codex:rescue:把诊断、修复、继续上次任务等请求交给 codex:codex-rescue subagent
  • /codex:transfer:把当前 Claude Code 对话导入成持久 Codex thread,返回 codex resume <session-id>

其中 rescue 最关键。仓库自带 agents/codex-rescue.md,再配合内部 skill codex-cli-runtime,把 Claude 侧职责压到非常窄:

  • 只转发任务给 codex-companion.mjs task
  • 默认走 write-capable Codex run
  • 不让 Claude 侧自己再分析、grep、代做实现

这说明作者明确在控制“双 Agent 互相补刀”的边界,而不是让两个模型同时自由发挥。

3. 后台作业管理

  • /codex:status
  • /codex:result
  • /codex:cancel
  • /codex:setup

这组命令把长任务、后台运行、结果回收、环境探测都包装好了,避免用户自己追踪 session 和 job state。

关键架构点

从仓库结构看,插件核心不是 markdown prompt,而是一层运行时胶水:

plugins/codex/
├── commands/                 # /codex:* 命令定义
├── agents/codex-rescue.md    # 委托给 Codex 的子 Agent
├── hooks/hooks.json          # SessionStart / SessionEnd / Stop
├── skills/                   # 内部技能:runtime、result-handling、gpt-5.4 prompting
└── scripts/
    ├── codex-companion.mjs   # 主 runtime,负责任务委托/结果管理
    ├── app-server-broker.mjs # Codex app server broker
    ├── session-lifecycle-hook.mjs
    └── stop-review-gate-hook.mjs

几个有意思的设计点:

  • 插件市场是单仓库 marketplace:.claude-plugin/marketplace.json 定义 openai-codex 市场,再从里面分发 codex 插件
  • hook 参与生命周期:SessionStart / SessionEnd 用于会话生命周期处理,Stop 可选挂 review gate
  • 内部 skill 不是面向用户,而是约束插件行为:例如 codex-result-handling 专门规定 review 输出要 findings first,gpt-5-4-prompting 规定 rescue 场景的 prompt contract
  • review gate 有明显成本提醒:README 明确警告 Stop hook 可能形成 Claude/Codex 长循环,并快速消耗 usage limits

依赖与前提

  • Claude Code 可用插件能力
  • Node.js >= 18.18
  • 本机已安装或可自动安装 @openai/codex
  • Codex 已登录:ChatGPT 订阅(含 Free)或 OpenAI API key 都可

安装路径非常直接:

/plugin marketplace add openai/codex-plugin-cc
/plugin install codex@openai-codex
/reload-plugins
/codex:setup

适用场景

  • 在 Claude Code 主工作流里,加一个更便宜/更快/不同偏好的第二审查者
  • 把长时间诊断或修复任务后台丢给 Codex,Claude 侧继续别的工作
  • 需要把当前 Claude 会话无缝转移到 Codex TUI / App 继续跑
  • 研究跨 agent orchestration、插件化 delegation、hook-based quality gate

局限性

  • 强依赖 Claude Code 插件机制:不是通用 Codex 扩展,离开 Claude Code 就没有价值
  • 本质仍依赖本机 Codex 能力:如果 codex 没装好、没登录、模型权限不对,插件不会替你绕过
  • review gate 风险高:Stop hook 自动拦截虽然强,但很容易把一次普通会话变成长循环审稿
  • 更像 harness bridge,不是完整多 Agent 平台:和 openclaw 这种多通道、多宿主、多 provider 编排层不是一个层级

我的判断

这个仓库最值得记的,不是“Claude Code 里也能调 Codex”这件事本身,而是它把跨 agent 协作收束成了一个明确协议:

  • Claude 负责前台交互、路由和结果呈现
  • Codex 负责 review / rescue / long-running task
  • hook 和内部 skill 负责防止边界漂移

对做 OpenClaw、Skill 工程化、Harness 优化的人,这是一份很好的“产品级 agent delegation 插件”参考样本。

相关页面