一、背景
OpenAI 的 Codex 是目前主流的 AI 编程助手之一,提供 CLI 与桌面应用。DeepSeek V4 在代码场景下性价比高、API 成本低。
两者无法直接对接,根本原因是接口协议不一致:
| 项目 | Codex(v0.81.0 及以上) | DeepSeek API |
|---|---|---|
| 协议 | Responses API | Chat Completions API |
| 请求路径 | /v1/responses | /v1/chat/completions |
| 工具调用 | tools 字段内联 | tool_calls 独立消息 |
若直接把base_url设为https://api.deepseek.com/v1,通常会返回 400。
解决思路:在本机部署轻量代理,在请求往返时做协议转换。
二、方案架构
数据流示意:
┌──────────────────┐ Responses API ┌─────────────────┐ │ Codex 桌面版 │ ──────────────────────────────▶│ codex-bridge │ │ (示例 v0.129.0) │ Authorization: Bearer <key> │ localhost:4000 │ └──────────────────┘ └────────┬────────┘ │ Chat Completions API │ ▼ ┌──────────────────┐ │ DeepSeek API │ │ api.deepseek.com│ └──────────────────┘
代理采用开源项目 codex-bridge(Node.js 单文件、无额外依赖)。
三、环境要求
- 操作系统:Windows 10 或 11
- Node.js 18+(官网下载)
- Codex 桌面版(Releases 下载最新版即可,无需刻意降级)
- DeepSeek API Key(控制台获取)
- 能使用 PowerShell 或 Git Bash 执行基本命令
四、操作步骤(按顺序执行)
步骤 1:确认环境
打开终端(推荐 Git Bash),执行:
node --version # 应为 v18.0.0 或更高 codex --version # 应显示 codex-cli 版本号
步骤 2:获取 codex-bridge
git clone https://github.com/wujfeng712-ui/codex-bridge.git ~/.codex/codex-bridge
说明:若访问 GitHub 不稳定,可改用镜像,例如:
git clone https://gitcode.com/wujfeng712-ui/codex-bridge.git ~/.codex/codex-bridge
步骤 3:配置代理环境变量
编辑路径(将「你的用户名」换成实际用户名):
C:\Users\你的用户名\.codex\codex-bridge\.env
写入示例(请替换为自己的密钥):
# === DeepSeek 上游密钥 === DEEPSEEK_API_KEY=sk-你的DeepSeek密钥 # === 暴露的模型列表 === DEEPSEEK_MODELS=deepseek-v4-pro,deepseek-v4-flash,deepseek-reasoner # === 默认供应商 === DEFAULT_PROVIDER=deepseek # === 日志级别 === LOG_LEVEL=info
安全提示:密钥一般不要加引号,直接写sk-xxx。.env含明文密钥,勿提交到 Git。
步骤 4:配置 Codex
4.1 编辑配置文件用户目录\.codex\config.toml
cli_auth_credentials_store = "file" model = "deepseek-v4-pro" model_provider = "local_proxy" [model_providers.local_proxy] name = "local_proxy" base_url = "http://127.0.0.1:4000/v1" wire_api = "responses" requires_openai_auth = true
要点:cli_auth_credentials_store = "file"让桌面版从文件读密钥,减少反复弹出浏览器登录的流程(具体行为以当前版本为准)。
4.2 编辑用户目录\.codex\auth.json
{ "auth_mode": "apikey", "OPENAI_API_KEY": "sk-你的DeepSeek密钥" }注意:即使用自定义后端,字段名仍须为OPENAI_API_KEY,这是 Codex 侧约定。
4.3 初始化登录状态
echo "sk-你的DeepSeek密钥" | codex login --with-api-key
成功时通常可见:Successfully logged in
可再执行:
codex login status # 期望:Logged in using an API key - sk-***xxxx
步骤 5:启动代理
cd ~/.codex/codex-bridge node --env-file=.env proxy.mjs
出现类似输出即表示监听成功:
[codex-bridge] Listening on http://localhost:4000 [codex-bridge] Default provider: deepseek [codex-bridge] Deepseek: https://api.deepseek.com/v1 | models=deepseek-v4-pro, deepseek-v4-flash, deepseek-reasoner
重要:保持该终端窗口不要关;关掉则代理停止。开机自启见文末「进阶技巧」。
步骤 6:打开 Codex 桌面版
从开始菜单或快捷方式启动。配置正确时,应能进入工作界面。
步骤 7:在对话里切换模型
/model deepseek-v4-pro # 偏推理,适合复杂编码 /model deepseek-v4-flash # 偏速度,适合轻量编辑
五、验证整条链路
用 CLI 做一次端到端测试:
codex exec "回复一个字:好"
输出中若出现模型为deepseek-v4-pro、提供方为local_proxy,且最后有单独一行「好」,说明链路正常。
六、常见问题
Q1:桌面版仍要求登录 ChatGPT
可能与桌面版认证逻辑有关,可参考社区讨论:Codex Issue #2450。有用户通过CC Switch配置第三方供应商绕过:
- 下载 CC Switch 的安装包(如 .msi)
- 安装后打开,进入 Codex 相关选项卡 → 添加供应商
- API Key:填 DeepSeek 密钥;Base URL:
http://127.0.0.1:4000/v1 - 启用后重启 Codex
Q2:提示 wire_api = chat is no longer supported
自 Codex v0.81.0 起不再支持wire_api = "chat"。请确认config.toml中为wire_api = "responses",由代理向下游转换为 Chat Completions。
Q3:端口 4000 被占用
netstat -ano | findstr ":4000" taskkill /PID <PID> /F
也可在.env改端口,例如PROXY_PORT=4001,并同步修改config.toml里的base_url。
Q4:代理启动后连接超时
依次检查:DeepSeek Key 是否正确;本机能否访问https://api.deepseek.com;防火墙是否拦截 Node.js。
Q5:关终端代理就停
见下文「代理开机自启」。
七、进阶技巧
Windows 下代理开机自启
方法一:任务计划程序(PowerShell 示例)
$action = New-ScheduledTaskAction -Execute "node" ` -Argument "--env-file=$env:USERPROFILE\.codex\codex-bridge\.env $env:USERPROFILE\.codex\codex-bridge\proxy.mjs" ` -WorkingDirectory "$env:USERPROFILE\.codex\codex-bridge" $trigger = New-ScheduledTaskTrigger -AtLogon Register-ScheduledTask -TaskName "CodexBridge" -Action $action -Trigger $trigger ` -Description "Codex → DeepSeek 协议代理" -RunLevel Highest
方法二:启动文件夹快捷方式
文件夹路径:%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
快捷方式「目标」:node --env-file=.env proxy.mjs
「起始位置」:C:\Users\你的用户名\.codex\codex-bridge
多模型列表
在.env的DEEPSEEK_MODELS中维护逗号分隔列表,重启代理后可在 Codex 内用/model切换。
八、小结
| 对比项 | 本方案(本地代理) | 降级 Codex 到 0.80.0 |
|---|---|---|
| Codex 版本 | 可跟新版 | 停留在旧版 |
| 新特性 | 通常可随新版获得 | 受旧版限制 |
| 维护与风险 | 依赖代理项目维护 | 旧版不再演进 |
| 上手成本 | 中等 | 较低但功能受限 |
整体上,用本地协议桥接可以在保留 Codex 新版能力的同时,使用 DeepSeek 的 API 定价与模型选择。
- 作者:一点也不嚣张先生
- 日期:2026-05-10
- 参考版本:Codex v0.129.0 / codex-bridge v1.0.0 / DeepSeek V4(实际以你本机为准)
参考资料
- codex-bridge
- Codex 官方仓库
- DeepSeek API 文档
- CC Switch
- Issue #2450(登录相关)