基于Codex协议实现Claude Code与Codex协作
速览
用户开发了codex-collab skill,基于Codex App Server协议使用JSON-RPC 2.0消息实现Claude Code与Codex丝滑协作,解决了MCP阻塞和命令行交互不优雅的问题。支持Windows、macOS和Linux,安装简便。Claude可自动触发调用Codex进行代码审查与反馈,提升开发效率。
AI 深度解读
背景
在 AI 辅助编程领域,Claude Code(简称 CC)与 Codex 是两款各有特色的工具。用户在日常开发中主要使用 Claude Code 进行代码编写,同时偶尔借助 Codex 的 /review 命令进行代码审查与反馈,发现 Codex 能覆盖一些 Claude Code 遗漏的问题。然而,两者之间缺乏顺畅的协作机制。官方提供的 MCP(Model Context Protocol)集成会阻塞 Claude Code 的执行流程,而社区开源的大多数 skill 仅通过命令行方式调用 Codex,交互方式受限且不够优雅、鲁棒。为此,作者决定基于 Codex 官方提供的 App Server 协议,手搓一个能让 Claude Code 自然驱动 Codex 的协作 skill——codex-collab。
核心内容
该 skill 的核心思路是绕过传统基于 tmux 模拟终端交互的脆弱方案,直接采用 Codex App Server 协议(基于 JSON-RPC 2.0)与 Codex 通信。首先,作者参考了一些开源 skill 的实现,它们使用 tmux 来操作 Codex 的 TUI 界面,但这种方式需要手动键入指令、轮询检测 tmux 界面中的文本来判断任务是否完成,稳定性差。而 Codex App Server 协议提供了标准化的 API,支持使用 JSON-RPC 2.0 消息进行双向通信,能够精准地发送指令并获取响应,避免了模拟终端带来的不确定性。
实现上,skill 脚本利用 Bun 运行时(需要系统预先安装 Bun 和 Codex),通过 JSON-RPC 2.0 调用 Codex 的各种 API。同时,作者根据自身使用经验逐步微调了 skill 的提示词文件 SKILL.md,使得 Claude Code 在遇到适合 Codex 参与的代码审查或需要第三方意见的场景时,能自动触发调用 Codex。
快速上手流程:
- 确保系统已安装 Bun 和 Codex。
- 克隆仓库代码后,运行
install.sh(Linux / macOS)或powershell -ExecutionPolicy Bypass -File install.ps1(Windows),脚本会自动将 skill 安装到 Claude Code 对应的路径下。 - 在 Claude Code 中提及“Codex”即可自动触发 skill;此外,当 Claude 认为需要参考第三方意见时,也会自动调用 Codex 进行协作。
该技能已在 Windows 环境下经过验证(标题标注“已支持 win”),作者分享了自己的使用体验,并邀请社区反馈问题。
关键要点
- 核心协议:基于 Codex 官方支持的标准 Codex App Server 协议(JSON-RPC 2.0),提供稳定、规范的通信机制,避免了 tmux 模拟终端的脆弱性。
- 运行环境:依赖 Bun 运行时和 Codex 自身,系统需提前安装这两者。
- 安装方式:提供跨平台脚本,Linux/macOS 使用 shell 脚本,Windows 使用 PowerShell 脚本,一键安装到 Claude Code 的 skill 路径。
- 触发条件:既可以通过在 Claude Code 对话中显式提及“Codex”触发,也可由 Claude 根据上下文判断需要第三方审查时隐式自动触发。
- 提示词优化:作者根据实际使用经验逐步微调了
SKILL.md中的提示词,使 Claude 能更自然、有效地利用 Codex 的能力。 - 多平台支持:明确支持 Windows(原 skill 标题标注“已支持 win”),并通过 PowerShell 安装脚本实现。
意义与影响
该 skill 弥补了 Claude Code 与 Codex 之间缺乏原生协作接口的空白。过去用户需要在两个工具间手动切换,或依赖不够稳定的 MCP/终端模拟方案。codex-collab 通过官方协议实现了“丝滑”的驱动,使得 Claude Code 可以在执行代码任务时自动调用 Codex 进行代码审查、反馈或第三方意见参考,形成互补。这不仅提升了开发效率,也展示了基于标准协议(JSON-RPC 2.0)集成 AI 编码工具的可行性。对于社区而言,这种基于 App Server 协议的 skill 模式为其他 AI 工具链的集成提供了参考范例——用标准化通信替代模拟终端的行为,从而获得更高的稳定性和可维护性。随着更多开发者尝试并反馈,该 skill 有望进一步迭代,成为 AI 编程协作工作流中的一个实用组件。
