Codex 接入 DeepSeek Chat API: CC Switch 本地路由攻略

本文根据仓库内文档与代码整理,以 DeepSeek 为例演示 OpenAI Chat Completions 兼容接口的配置方法。截图数据已脱敏,不展示真实 API Key。

为什么需要本地路由

新版 Codex CLI 只认 OpenAI Responses API,但 DeepSeek、Kimi、MiniMax、SiliconFlow 等供应商提供的是 OpenAI Chat Completions 接口(/chat/completions)。两种协议在请求体、流式事件和返回格式上不同。直接把 Chat 接口填进 Codex,最常见的结果是模型列表失败、请求 404/400,或流式响应无法解析。

CC Switch 的做法是让 Codex 连本机路由,继续按 Responses API 发送请求。路由层识别供应商是否使用 Chat 格式,把请求改写为 Chat Completions 发给上游,再把响应转回 Responses 格式返回给 Codex。

Codex 接入多家 Chat API 架构图
CC Switch 本地路由的协议转换链路

路由转换链路

整个转换过程分四步:

  1. Codex 接管时,本地配置写为 http://127.0.0.1:15721/v1,强制保持 wire_api = "responses"。
  2. Provider 的 meta.apiFormat = "openai_chat" 告诉路由:上游是 Chat Completions。
  3. 路由把 /responses 重写到 /chat/completions,将 Responses 请求体转为 Chat 请求体。
  4. 上游返回后,路由再把 Chat 响应转回 Codex 能理解的 Responses 格式。

准备工作

  • 已安装并能启动的 CC Switch
  • 已安装 Codex CLI,至少运行过一次(确保 ~/.codex/config.toml 已创建)
  • DeepSeek 或同类供应商的 API Key

DeepSeek 官方文档写明兼容 base URL 是 https://api.deepseek.com。CC Switch 的 DeepSeek 预设已按此配好,优先用预设,不需要手动拼路径。

第一步:添加 Codex 供应商

打开 CC Switch,切到 Codex 标签,点击右上角加号添加供应商。选择内置 DeepSeek 预设:

  1. 填入 DeepSeek API Key
  2. 保存供应商
CC Switch 添加 DeepSeek 供应商界面
选择内置 DeepSeek 预设,填写 API Key 后保存

预设已内置请求地址、默认模型、模型菜单、thinking/reasoning 参数,并自动开启本地路由映射。按需调整默认模型即可。

第二步:开启本地路由并接管 Codex

CC Switch 本地路由设置页面
开启路由总开关,并在路由启用中打开 Codex
  1. 打开路由总开关,启动本地服务(默认 127.0.0.1:15721)
  2. 在路由启用中打开 Codex(可选关闭 Claude、Gemini)

接管后,真实 DeepSeek Key 保存在 CC Switch 的 Provider 配置里,由路由转发时注入,不需要暴露给 Codex live 配置

第三步:切换供应商并重启 Codex

回到 Codex 供应商列表,点击 DeepSeek 供应商的启用。看到"需要路由"标记说明必须在路由运行时使用。

切换后建议重启 Codex 终端会话。旧进程可能已读取过旧配置,/model 菜单需要新进程才能刷新。

进入 Codex 后,用 /model 查看当前模型。目前 Codex app 不支持多模型选择,默认使用第一个模型。

其它 Chat 供应商

DeepSeek、Kimi、MiniMax、SiliconFlow 等已有预设,优先用预设。预设没有的供应商选自定义配置,填 API Key、base URL 和模型,API 格式选 OpenAI Chat Completions (需开启路由)。

上游直接支持 Responses API 的,不需要开启路由映射,CC Switch 可以直连。

常见问题

Codex 报 404 或找不到 /responses
没开 Codex 接管,或手动把 Chat base URL 写给了 Codex。检查 ~/.codex/config.toml 是否指向 http://127.0.0.1:15721/v1。
DeepSeek 上游报 404
确认供应商来自预设且路由已启用。自定义供应商时检查 base URL 是服务根地址,不是带 /chat/completions 的完整路径。
/model 看不到 DeepSeek 模型
保存供应商后重启 Codex。正在运行的进程不会热加载模型目录。
开了路由但请求走错供应商
确认三处一致:当前供应商是 DeepSeek、路由服务运行中、路由启用里 Codex 开关已打开。
可以用官方 OpenAI Codex 账号走本地路由吗?
不建议。CC Switch 会阻止切到官方供应商,代理访问官方 API 有账号风险。路由用于第三方、聚合或协议转换场景。

参考链接