需通过本地协议转换层解决codex cli与deepseek接口不兼容问题,推荐使用cc-switch 3.16.5+内置deepseek预设自动双向转换;或手动配置config.toml指向moon bridge/非线智能等兼容/responses的代理服务,并正确设置api key与路由开关。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

让 Codex CLI 调用 DeepSeek 模型,核心是解决协议 mismatch:Codex CLI 固定发 /responses 请求,而 DeepSeek 官方只提供 /chat/completions 接口,直接填官方地址必然报 400 或流式中断。必须通过本地协议转换层打通,否则连模型列表都拉不出来。
用 CC-Switch 做本地路由(推荐)
这是目前最省事、成功率最高、且支持热切换的方案。CC-Switch 3.16.0+ 内置 DeepSeek 预设,自动完成 Responses ↔ Chat Completions 的双向转换,包括工具调用、流式事件、reasoning state 全部兼容。
第一步:下载并安装 CC-Switch v3.16.5 或更高版本
Windows 直接下载 CC-Switch-v3.16.5-Windows.msi;Mac 下载 .dmg;Linux 用 .AppImage。不要选 arm64 版本,除非你用的是 M系列芯片 Mac。
第二步:启动 CC-Switch → 顶部菜单点「Codex」→ 右上角「+」→ 选择「DeepSeek」预设 → 粘贴你的 【sk-开头的 DeepSeek API Key】 → 勾选「启用本地路由」→ 点「添加」。
第三步:进入右下角「⚙ 设置」→ 切到「路由」标签页 → 确保「总路由开关」「Codex 路由启用」「本地路由映射」三者全部打开。这一步漏掉,Codex 启动后仍走默认 OpenAI 地址,【不会报错但实际未生效】。
第四步:关闭所有正在运行的 Codex CLI 进程 → 重新在终端执行 codex --version 验证环境 → 再运行 codex chat 或任意命令。首次启动会卡顿 2–3 秒(等待路由初始化),之后即可正常使用 DeepSeek-V4-Pro。
手动配置 Codex CLI(需编辑 config.toml)
适用于已部署 Moon Bridge 或非线智能等兼容 Responses API 的代理服务的用户。此方式绕过 CC-Switch,但要求你本地已跑通一个能响应 /responses 的中间层。
方法一:指向 Moon Bridge 本地服务
打开 ~/.codex/config.toml(macOS/Linux)或 %USERPROFILE%\.codex\config.toml(Windows),在文件开头插入:
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
model_provider = "moonbridge"<br>model = "deepseek-v4-pro"<br>[model_providers.moonbridge]<br>base_url = "http://localhost:4001/v1"<br>requires_openai_auth = true
方法二:接入非线智能 API(需提前注册)
同样编辑 config.toml,写入:
model_provider = "nonelinear"<br>model = "deepseek-v4-pro"<br>[model_providers.nonelinear]<br>base_url = "https://api.nonelinear.com/v1"<br>requires_openai_auth = true
⚠️ 注意:两种方法都必须同步在 ~/.codex/auth.json 或 %USERPROFILE%\.codex\auth.json 中写入你的 API Key,格式为:{"OPENAI_API_KEY": "sk-xxx"}。Key 必须与所选 provider 匹配,填错会导致 401。
验证是否成功
在终端执行:codex debug models
如果返回中出现 deepseek-v4-pro 且状态为 active,说明模型已加载成功。
再执行:codex chat -m deepseek-v4-pro "写一个 Python 函数,输入数字 n,输出斐波那契数列前 n 项"
看到完整代码输出,且无 error: 400 Bad Request 或 stream parse failed 报错,即接入完成。










