带你搞懂 Codex++ 配置 DeepSeek 的“坑”和“路”。
🎪 故事:外国游客与本地茶馆
想象一下这个场景:
- Codex 是一个外国游客,他只会说 “Responses 语” (这是一种很拽的新潮语言,他走到哪里都先用这种语言问路)。
- DeepSeek 是一家本地茶馆,老板只会听 “Chat 语” (也就是 OpenAI 那种
chat/completions的对话方式)。 - 你 是热心路人,给了游客一个地址(API Key),让他去找茶馆。
游客(Codex)拿到地址后,直接走到茶馆门口,大喊:
“我要走
/v1/responses这条路!给我指路!”
茶馆老板(DeepSeek 服务器)听了半天,完全听不懂,只好回一句:
“404 Not Found – 我们这儿没有这条路啊兄弟!”
然后你就看到 Codex 一遍又一遍重试:
Reconnecting... 1/5
Reconnecting... 2/5
...
这就是你遇到的报错——语言不通,地址不对。
🔍 原理拆解:为什么 DeepSeek 不认识 /v1/responses?
Codex 早期版本用的是 chat/completions 接口,但后来(v0.81.0+)默认换成了 OpenAI 最新的 Responses API(端点 /v1/responses)。
而 DeepSeek 完全兼容 OpenAI 的 Chat Completions API(端点 /v1/chat/completions),但并没有实现 Responses API。
所以当你直接把 API Key 填进去,Codex 会用它的默认配置去请求 https://api.deepseek.com/v1/responses,DeepSeek 返回 404。
解决方案的核心就是:让 Codex 说 DeepSeek 听得懂的话。
🛠️ 最佳用法:两种“翻译”方式
方案一:教游客说本地话(修改 Codex++ 配置) —— 🌟 最推荐
目前推荐 Codex++ 接入deepseek 第三方大模型
在 Codex++ 管理工具里,添加供应商时,把“服务类型”或“API类型”手动改为 Responses API 或 Chat Completions。注意deepseek选择Chat Completions类型
这相当于直接告诉 Codex:“别用默认的 Responses 格式了,用老式的 Chat 格式说话。”
优点:最简单,不用额外软件。
缺点:新版 Codex++ 可能移除这个选项,如果界面里找不到,就用方案一。
方案二:请个翻译官(使用 ccx 协议转换工具)
ccx 是一个小工具,运行在你本地,它听懂 Codex 的 Responses 请求,然后翻译成 Chat 请求发给 DeepSeek。
配置步骤:
-
下载
ccx(开源项目ccx,请自行搜索)。 -
运行 ccx:
ccx --listen :8080 --backend https://api.deepseek.com --api-key YOUR_DEEPSEEK_KEY -
在 Codex++ 里,供应商地址填
http://localhost:8080,API Key 随便填(ccx 会忽略它,因为已经在命令行里给了)。
原理图(时序图在后面) :
Codex → ccx(本地翻译)→ DeepSeek
优点:一劳永逸,支持未来所有 Codex 新特性。
缺点:需要多跑一个进程。
📞 时序图:一次成功的调用(用 ccx 翻译)
下面用 Mermaid 画一个清晰的时序图,展示请求如何从 Codex → ccx → DeepSeek → 返回。
🧪 完整配置示例(方案一 + Docker)
如果你喜欢用 Docker,更简单:
1. 创建 docker-compose.yml:
version: '3'
services:
ccx:
image: ghcr.io/ccx/ccx:latest
command:
- --listen=0.0.0.0:8080
- --backend=https://api.deepseek.com
- --api-key=${DEEPSEEK_API_KEY}
ports:
- "8080:8080"
2. 设置环境变量:
export DEEPSEEK_API_KEY="sk-你的key"
docker-compose up -d
3. Codex++ 供应商配置:
- API Base:
http://localhost:8080 - API Key:
anything(因为 ccx 会忽略它) - Model:
deepseek-chat或deepseek-coder
🧠 最终检查清单
如果还是报错,请逐个检查:
-
确认 DeepSeek API Key 有余额(去平台看)。
-
确认 ccx 是否正常运行:
curl http://localhost:8080/health应该返回 ok。 -
确认 Codex 的供应商
api_base指向了http://localhost:8080,而不是https://api.deepseek.com。 -
尝试用
curl直接测试 ccx:curl http://localhost:8080/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"deepseek-chat","messages":[{"role":"user","content":"hi"}]}'如果能返回内容,说明 ccx 正常工作;如果不行,检查 ccx 启动参数。
🎉 总结一句话
Codex 说的是“Responses”方言,DeepSeek 只懂“Chat”普通话。找个翻译(ccx)或者改改 Codex 的口音(选 Chat 类型),就能愉快聊天了。
按照上面的故事和配置操作,你应该能彻底解决 404 问题。