用 CC Switch 把 DeepSeek 接进 Codex:一条本机路由的事
Codex CLI 只认 OpenAI 的 Responses API。这条规矩把不少国产模型挡在门外——哪怕上游能力不差,只要接口还是 Chat Completions 的形态,直接写进 config.toml 的结果往往是模型列表对不上、请求 404/400,或者流式响应根本解析不了。
DeepSeek 从今年 8 月起给 deepseek-v4-pro 开了 Codex 的原生集成,3.19.1 之后的 CC Switch 预设也直接走 Responses 直连,所以新用户基本不用管这一层。麻烦的是另一拨人:用聚合平台(硅基流动、ModelScope、千帆这类)的,或者供应商卡片是更早之前存下来的——它们仍然带一个「需要路由」的徽章,少一步就通不了。
下面这趟流程,就是把这个中间层补上。整套东西都在本机跑,不碰外网中转。
先看清你属于哪种情况
判断方法只有一个:打开 CC Switch 的 Codex 标签,看供应商卡片上有没有「需要路由」的小徽章。带徽章的走 Chat 格式,后面每一步都得做;不带徽章的已经是 Responses 直连,直接就能用,本文的路由步骤对它没有意义。

还有一种卡片会标「不支持路由」,那是官方供应商。CC Switch 会拦住不让它走本机路由——用代理去访问官方 API,账号风险不小,这条线本来就不该乱碰。
要准备的东西
三样:装好能启动的 CC Switch;装好 Codex CLI 并且至少跑过一次,让 ~/.codex 目录结构先存在;再有就是目标供应商的 API Key。
各家兼容接口的 base URL 写法挺乱,有的带 /v1,有的路径更长。CC Switch 的预设已经按官方文档配好了地址和默认模型,能用预设就别手动去拼接口路径。
第一步:在 Codex 里加供应商
切到顶部的 Codex 标签,点右上角的加号。预设列表里选中目标供应商,填 Key 保存,卡片上就会冒出那个「需要路由」的标记。

想自己配也行:填 Key 和 base URL,展开表单底部的「高级选项」,把「上游格式」选成「Chat Completions(需开启路由)」。就这一个下拉决定命运——「Responses(原生)」直连不转换,另外两项都要靠路由接管。
如果你只是想把一个旧的 DeepSeek 卡片改回直连,不用删掉重建,把「上游格式」改成「Responses(原生)」就行。下次切换到它,CC Switch 会认出地址并套用官方模型目录。
第二步:开路由,接管 Codex
进设置里的「路由」页,展开「本地路由」,动两个开关:先开「路由总开关」,把本机服务拉起来,默认地址 127.0.0.1:15721;再在「路由启用」里打开 Codex。只想让 Codex 走路由的话,Claude、Gemini 保持关闭即可。

接管之后,Codex 的 live 配置会被指向本机路由,用占位符管理认证。真实 Key 还留在 CC Switch 的供应商配置里,转发时由路由注入,不必让 Key 出现在 Codex 的配置文件里。
第三步:切供应商,重启 Codex
回到列表点目标供应商的「启用」。如果它带「需要路由」标记而路由没开,CC Switch 会弹提示提醒你。切换后建议把当前 Codex 终端会话重启一下——Codex 可能已经读过旧的配置,模型目录生成后,/model 菜单通常也要新进程才刷新。
进 Codex 用 /model 看一眼当前模型是不是来自对应预设,然后随便问个小问题,确认路由面板的请求数在涨,或者用量日志里能看到这条 Codex 请求,就算通了。
几个会踩的坑
Codex 报 404 或找不到 /responses:多半是没开接管,或者手动把上游的 Chat base URL 直接写给了 Codex。检查 ~/.codex/config.toml 是不是指到 http://127.0.0.1:15721/v1。
上游反过来报 404:用内置预设的话,先确认当前供应商确实来自预设、Codex 路由确实开着;只有自定义供应商才需要复核 base URL——填服务端点,别把 /chat/completions 这种完整路径塞进去。
/model 里看不到供应商的模型:保存供应商后重启 Codex。CC Switch 会生成 cc-switch-model-catalog.json,并把路径写进 model_catalog_json,但正在运行的进程不一定热加载。
还有一条容易忽略:供应商改走直连后,请求不再经过本机代理,按请求计费的用量统计就看不到它了。用量本身没丢——Codex 的会话日志照常导入——只是这拨用量会一起归到「Codex (Session)」名下,想区分得看每条记录自带的模型 ID。
