使用Codex 接入 DeepSeek V4 Pro

AI3天前发布 涂山苏苏
12 0

围绕 CC Switch 的本地路由,把 DeepSeek V4 稳定接进 Codex,并快速判断常见 404、模型列表和路由问题。

如果你已经在用 Codex 写代码、改文件、跑命令,想把默认模型换成 DeepSeek V4,最省事的做法通常不是自己手改 ~/.codex/config.toml,而是直接交给 CC Switch 来管。

这样做的好处很实际:

  • 不用自己反复改配置文件
  • 不容易把接口地址和协议格式配混
  • 出问题时更容易判断是供应商问题,还是路由没开

这篇只讲一件事:怎么把 DeepSeek V4 接进 Codex,并确认它真的已经跑通。

开始前先准备

先确认下面三样都已经有了:

  • 你已经安装好了 Codex
  • 你已经安装并打开了 CC Switch,如果还没装,可以先去下载 CC Switch
  • 你手里有可用的 DeepSeek API Key

还有一点最好提前做:先把 Codex 至少运行过一次。

原因很简单。Codex 第一次启动时,通常会先生成自己的本地配置目录。如果你一次都没开过,后面 CC Switch 接管配置时,排查起来会更绕一点。

为什么 Codex 接 DeepSeek 要管本地路由

这个点和 Claude Code 不太一样,最好一开始就讲清楚。

现在的 Codex 主要走的是 OpenAI Responses API 这一套;但 DeepSeek 这类上游,常见提供的是 OpenAI Chat Completions 兼容格式。两边虽然都属于 OpenAI 风格接口,但请求体、流式返回和接口路径并不是一回事。

所以如果你把 DeepSeek 的 Chat 接口直接塞给 Codex,常见结果通常是:

  • 模型列表不对
  • 请求直接报 404 或 400
  • 流式输出格式不兼容,Codex 读不出来

这时候真正起作用的就是 CC Switch 的本地路由。你也可以顺手看看 CC Switch 的更多教程,很多高级用法都会围着这层路由展开。

简单理解就是:

  • Codex 继续按自己熟悉的 Responses 格式发请求
  • CC Switch 在本地把请求转成 DeepSeek 能收的 Chat Completions
  • 上游返回之后,再转回 Codex 能识别的格式

所以对 Codex 接 DeepSeek 这件事来说,本地路由通常不是可选项,而是关键环节。

切到 Codex 面板

打开 CC Switch 之后,在左侧应用切换器里选 Codex

如果你没看到这个入口,先去:

设置 → 通用 → 应用可见性

确认 Codex 没有被隐藏。

添加 DeepSeek 供应商

进入 Codex 面板之后,点击右上角的 + 按钮添加供应商。

第一次配置时,优先直接选 DeepSeek 预设。原因也很简单:这条预设通常已经把接口基址、默认模型、模型菜单和需要本地路由这几个关键项帮你带上了,少走很多弯路。

最常见的流程就是:

  1. 选择 DeepSeek 预设
  2. 填入你的 DeepSeek API Key
  3. 确认默认模型
  4. 保存供应商

如果你只是想先接通,默认模型优先选下面两个之一就够了:

日常高频使用优先 Flash,复杂任务再换 Pro,这套顺序通常最稳。

把本地路由开起来

这一步很重要,最好不要跳。

去设置里的路由页面,找到本地路由,然后确认两件事都打开了:

  1. 本地路由主开关已经开启
  2. Routing Enabled 里面的 Codex 也已经开启

常见路径是:

设置 → 路由 → 本地路由

路由开起来之后,CC Switch 会让 Codex 不再直接打到 DeepSeek,而是先走本地地址,默认一般是:

http://127.0.0.1:15721/v1

真正的 DeepSeek API Key 仍然保存在 CC Switch 里,由本地路由转发时再注入。也就是说,你不需要把真实 Key 直接暴露在 Codex 当前运行配置里。

启用供应商,然后重开 Codex

回到 Codex 供应商列表,在刚添加的 DeepSeek 卡片上点一次:

启用

如果卡片上带有类似 Needs Routing 这类提示,也不用奇怪,意思就是这条供应商必须配合本地路由一起用。

这里和 Claude Code 最大的区别也在这儿:Codex 更适合在切换后直接重开当前终端会话。

原因通常有两个:

  • Codex 进程可能已经读过旧的 config.toml
  • 模型目录或模型菜单刷新,往往也需要一个新进程

所以最稳妥的习惯就是:启用供应商之后,直接重新开一次 Codex。

先检查模型,再做一个小测试

重新进入 Codex 之后,先别急着拿大项目试。

先做两个很小的确认:

  1. 用 /model 看一下当前模型是不是已经切到 DeepSeek
  2. 发一个很轻的请求,看它能不能稳定返回

测试任务可以很简单,比如:

  • 让它解释一小段代码
  • 让它整理一个短需求
  • 让它总结一个小文件

这一步主要是确认三件事:

  1. Codex 现在确实已经走到 DeepSeek 了
  2. 模型名是你刚才设的那个
  3. 返回没有出现认证、模型名或协议格式错误

什么情况优先怀疑是路由问题

如果你遇到下面这些情况,先不要急着改模型名,优先往路由这边查:

  • 请求报 404,尤其是和 /responses 相关
  • 模型已经启用,但 Codex 还是像没切过去
  • /model 里看不到你刚配的 DeepSeek 模型
  • 返回是格式错误,或者流式输出明显不对

这类问题很常见,很多时候不是 DeepSeek 本身有问题,而是下面三项里有一项没对上:

  1. Codex 面板当前启用的供应商不是 DeepSeek
  2. 本地路由服务没有运行
  3. Routing Enabled 里的 Codex 没有打开

只要这三项有一项不对,链路就可能看起来像“已经接了,但就是不好使”。

配置文件一般写到哪里

如果你后面要排查,最值得知道的路径通常就是:

~/.codex/config.toml

路由接管开启后,这里常见会被写成指向本地路由,而不是直接写上游地址。

如果你看到配置里指向的不是本地地址,而是你手动填进去的 DeepSeek 接口,那就要警惕一件事:你可能把本该交给 CC Switch 处理的转换链路,自己绕开了。

常见问题

为什么我已经加了 DeepSeek,Codex 还是报 404

先检查是不是把 DeepSeek 的 Chat 接口直接写进了 Codex,而没有经过 CC Switch 本地路由。

对 Codex 来说,这往往就是问题根源。因为它默认期待的是 Responses API,不是直接吃 Chat Completions。

为什么 /model 里没看到 DeepSeek

先重开一次 Codex。

很多时候供应商本身没问题,只是当前进程没有刷新模型目录。对 Codex 来说,这比 Claude Code 更常见。

本地路由开了,为什么请求还是走错地方

优先对一下这三件事:

  • Codex 当前启用的供应商是不是 DeepSeek
  • 本地路由服务是不是还在运行
  • Routing Enabled 里的 Codex 开关是不是打开

这三项要同时成立,链路才是完整的。

© 版权声明

相关文章

暂无评论

none
暂无评论...