一、背景

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 配置第三方供应商绕过:

  1. 下载 CC Switch 的安装包(如 .msi)
  2. 安装后打开,进入 Codex 相关选项卡 → 添加供应商
  3. API Key:填 DeepSeek 密钥;Base URL:http://127.0.0.1:4000/v1
  4. 启用后重启 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(实际以你本机为准)

参考资料

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐