让 Codex 桌面版流畅调用国内大模型:codex-cn-bridge 实战配置指南
让 Codex 桌面版流畅调用国内大模型codex-cn-bridge 实战配置指南一句话总结Codex 默认调用 OpenAI 的 Responses API国内大部分代理网关只支持 Chat Completions API两者协议不兼容导致 405 报错。codex-cn-bridge作为本地协议转换桥完美解决这个问题。一、问题背景最近我在 macOS 上安装了 OpenAI 的Codex 桌面版想通过CC Switch接入国内大模型但一启动就报错unexpected status 405 Method Not Allowed: {detail:Method Not Allowed}, url: https://your-gateway.example.com/api/responses这个错误看起来很迷惑——URL 能通HTTP 状态码是 405说明服务器收到了请求但拒绝了这个 HTTP 方法。明明我配置了OPENAI_BASE_URL为什么还不行二、根因分析Responses API vs Chat Completions API2.1 Codex 的协议选择OpenAI Codex包括桌面版和 CLI底层调用的是Responses API端点为POST /v1/responses这是一个 OpenAI 专有的有状态协议支持computer-use-preview模型的工具调用特定的 reasoning 输出格式previous_response_id会话续传2.2 国内代理的现实国内绝大多数代理网关One API、New API、各类中转服务只实现了标准的Chat Completions APIPOST /v1/chat/completions当 Codex 把POST请求发到/api/responses时服务器回应405 Method Not Allowed——因为它根本没实现这个端点。这就是矛盾的本质Codex 说的是 “Responses” 方言国内网关只懂 “Chat Completions” 普通话。三、解决方案codex-cn-bridge3.1 工具介绍codex-cn-bridgeGitHub:git-liu835/codex-cn-bridge是一个开源的本地代理工具核心功能将 OpenAI Responses API 翻译为 Chat Completions API让 Codex CLI、桌面版、VS Code 插件都能无缝接入国内大模型。3.2 支持的主流模型模型适配器工具调用流式输出通义千问 (Qwen)qwen✅✅DeepSeekdeepseek✅✅Kimi (月之暗面)kimi✅✅豆包/火山引擎doubao✅✅智谱 GLMzhipu✅✅3.3 架构示意图┌─────────────────┐ Responses API ┌──────────────────────┐ Chat Completions API ┌──────────────┐ │ Codex 桌面版 │ ────────────────────→ │ codex-cn-bridge │ ────────────────────────────→ │ 国内代理网关 │ │ (以为在调OpenAI) │ POST /v1/responses │ (localhost:8765) │ POST /v1/chat/completions │ (中转服务) │ └─────────────────┘ └──────────────────────┘ └──────────────┘ │ ▼ ┌──────────────┐ │ 国产大模型 │ └──────────────┘四、安装步骤macOS4.1 下载安装包从 GitHub Releases 下载最新版本curl-L-o/tmp/code-cn-bridge.dmg\https://github.com/git-liu835/codex-cn-bridge/releases/latest/download/code-CN-Bridge-latest.dmg⚠️ 注意仓库名是codex-cn-bridge但早期 release 文件名可能含code-CN-Bridge带空格以实际 release 页面为准。4.2 挂载并安装# 挂载 DMGhdiutil attach /tmp/code-cn-bridge.dmg-nobrowse# 复制到 Applications具体卷名以实际挂载为准cp-R/Volumes/code CN Bridge*/code CN Bridge.app/Applications/# 卸载 DMGhdiutil detach/Volumes/code CN Bridge*# 清理临时文件rm-f/tmp/code-cn-bridge.dmg4.3 启动应用open-acode CN Bridge启动后代理服务会自动在后台运行默认监听http://127.0.0.1:8765。五、配置步骤5.1 配置 codex-cn-bridge打开 codex-cn-bridge 桌面应用进入「模型配置」页面添加 ProviderProvider 名称自定义如my-providerAdapter根据实际模型选择如kimi、deepseek、qwen等Base URLhttps://your-gateway.example.com/api/v1你的代理网关地址API Key填入网关的 API Key添加模型映射Alias别名自定义一个模型别名如my-model-aliasTarget填写网关侧实际配置的模型名称如xxx-xxx-codeProvider选择刚才创建的 Provider可选开启enable_thinking和thinking_budget配置会自动保存到~/.code-cn-bridge.yaml。5.2 配置 Codex 桌面版打开 Codex 桌面应用进入设置/API 配置配置项值Base URLhttp://127.0.0.1:8765/v1API Key随便填如sk-xxx真实 Key 由 bridge 管理关键点Codex 不再直接连 CC Switch而是连本地的 bridge。bridge 负责把请求翻译后再转发给 CC Switch。六、验证与排错6.1 检查代理是否运行lsof-i:8765看到code-cn-bridge在监听说明代理正常。6.2 查看日志codex-cn-bridge 桌面应用内有「监控日志」页面可以实时看到请求/响应状态码耗时错误高亮调试模式下可查看完整请求体和响应体6.3 常见问题Q1Codex 还是报 405确认 Codex 的 Base URL 是http://127.0.0.1:8765/v1不是直接指向 CC Switch。Q2模型返回空输出检查model_mapping里的target是否和 CC Switch 里配置的模型名一致。比如 CC Switch 里叫kimi-k2.7-codetarget 就不能写成kimi-k2.6。Q3工具调用报错 400这是 Responses API 和 Chat Completions API 的消息格式差异导致的。codex-cn-bridge 最新版v0.3.2已修复dangling tool_calls问题保持更新即可。Q4代理网关和其他 Agent 会受影响吗不会。codex-cn-bridge 只监听本地127.0.0.1:8765其他 Agent 仍然直接访问原网关地址两者完全独立共存。七、高级配置7.1 多 Key 轮换在 Provider 配置里支持填写多个 API Key逗号分隔bridge 会在流式重试时自动切换避免单 Key 限流api_key:sk-xxx,sk-yyy,sk-zzz7.2 模型别名映射Codex 默认请求gpt-5-code、gpt-5-code-light等模型名可以通过model_mapping映射到任意国产模型model_mapping:gpt-5-code:target:你的模型名provider:my-providergpt-5.5:target:另一个模型名provider:another-provider7.3 熔断保护v0.3.22 新增了 provider 级熔断器连续 3 次失败 → 断开 30 秒 → 半开探测避免上游异常时长时间挂起。八、总结问题原因解决405 Method Not AllowedCodex 调用 Responses API国内网关不支持codex-cn-bridge 协议转换模型名不匹配Codex 请求gpt-5-*网关不认model_mapping别名映射工具调用异常两种 API 的消息格式差异bridge 自动翻译修复codex-cn-bridge是目前让 Codex 接入国内模型的最省心方案有桌面 GUI不用手写 YAML开箱即用支持自动更新兼容 Codex CLI、桌面版、VS Code 插件如果你也遇到类似问题推荐一试。参考链接codex-cn-bridge GitHub 仓库OpenAI Codex 官方文档OpenAI Responses API本文基于 codex-cn-bridge v0.3.22 和 Codex 桌面版实测整理具体模型和网关信息已脱敏处理。