中文 | English
C2X(Codex to X)是面向 OpenAI Codex App 的本地代理工具,让第三方模型在 Codex 中像原生模型一样工作。
Codex 使用私有的 Responses API 协议与模型通信,而大多数第三方模型(MiMo、DeepSeek、智谱、千问等)只支持标准的 Chat Completions 协议。两者之间的核心差异在于工具调用格式:Codex 要求模型输出结构化的 function_call,而第三方模型在协议转换后可能"想继续工作"却只能输出纯文本。Codex 将纯文本判定为"任务结束",智能体循环就此异常中断。
C2X 作为本地中间层,部署在 Codex 和第三方 API 之间:
Codex App → C2X 代理 (localhost:7861) → 第三方 API
← ←
Responses API Chat Completions API
协议转换层:双向转换 Responses API 和 Chat Completions 协议,包括消息格式、工具定义、reasoning 字段、流式事件等。支持 40+ 预设服务商,自动适配不同模型的 reasoning 参数(thinking/enable_thinking/reasoning_split)。
AI 裁判系统:当模型输出纯文本而非工具调用时,裁判系统作为独立的评估层介入,语义判断模型是否真正完成了任务。如果判定未完成,自动注入合成工具调用维持循环继续。
插件与环境管理:通过 CDP 协议解锁 Codex 插件市场限制,一键部署高级插件(computer-use、browser、chrome),管理工作区信任目录。
- 协议转换:Responses API ↔ Chat Completions 双向转换,支持 40+ 预设服务商,自动适配 reasoning 参数
- AI 裁判系统:独立评估层,语义分析 + 自动注入,支持自动/手动触发、截取全部/首尾两种模式、文本循环检测、think-only 分级恢复
- 插件解锁:通过 CDP 协议解锁 Codex 插件市场限制,支持插件强制安装
- 高级插件一键部署:computer-use、browser、chrome 三个插件一键注入到 Codex 共享工作区
- 工作区信任管理:自动扫描历史会话,一键信任/移除工作区目录
- JS REPL 启用:自动启用 Codex 的 JS REPL 功能(高级插件依赖)
- Token 统计:实时追踪主模型和裁判模型的 token 消耗,分工作消耗和裁判消耗
- WebUI 管理界面:浏览器可视化配置所有功能,支持中英双语
- 一键启动脚本:自动检测依赖,缺失则提示下载安装,首次使用零门槛
git clone https://github.com/jishubaichi/C2X.git
cd C2X点击仓库页面绿色 Code 按钮 → Download ZIP,解压后即可使用。
双击 start.bat,脚本会自动:
- 检测 Node.js(缺失则提示下载)
- 检测项目依赖(缺失则提示安装)
- 启动 C2X
npm install
npm start启动后打开 WebUI:http://127.0.0.1:7860
启动 C2X 后,打开 WebUI(http://127.0.0.1:7860):
- 选择服务商,填入 API 密钥
- 点击"获取模型"并选择模型版本
- 点击"保存配置"(C2X 会自动写入 Codex 配置,无需手动修改)
C2X 启动时会自动应用上次保存的配置,关闭时自动恢复 Codex 原始配置。
Codex 通过检测模型响应是否包含工具调用来判断任务是否继续。原生模型(GPT 系列)能正确输出 Codex 要求的工具调用格式,但第三方模型(如 MiMo、DeepSeek 等)在协议转换后,可能"想继续工作"却只能输出纯文本——因为它们不了解 Codex 的工具调用协议。Codex 收到纯文本后认为任务完成,智能体循环就此中断。
裁判系统是一个独立的 AI 评估层,在模型输出纯文本时介入:
- 读取用户指令和模型响应
- 语义判断模型是否真正完成了任务
- 如果判定未完成,自动注入合成的工具调用指令(
update_plan),维持循环继续 - 如果判定已完成,正常放行
- 触发模式:自动识别(默认)/ 手动标记(
/jg前缀) - 截取模式:截取全部(更准确)/ 截取首尾(省 token)
- 安全机制:最大连续判定次数限制、短文本跳过阈值、重复尾部检测、文本循环检测
- 插件一键部署:computer-use、browser、chrome 三个插件一键注入
- 工作区信任管理:自动扫描历史会话,批量信任工作区目录
- 自定义系统提示词:可自定义裁判提示词和智能体循环提示词
C2X/
├── src/ # 后端源码
│ ├── server.js # 入口
│ ├── proxy.js # 代理核心
│ ├── judge.js # 裁判系统
│ ├── config.js # 配置管理
│ ├── webui.js # WebUI API
│ ├── streaming/ # 流式转换
│ ├── transform/ # 协议转换
│ └── providers/ # 服务商预设
├── public/ # 前端文件
├── cj-setup/ # 插件部署脚本及文件
├── docs/ # 文档
├── start.bat # 一键启动脚本
├── config.json # 配置文件
└── package.json # 依赖声明
- Node.js + Express
- WebSocket (ws)
- Winston 日志
- Chrome DevTools Protocol (CDP)