Codex桌面版接入DeepSeek V4本地橋接版的配置指南
想用Codex,但是想用便宜的DeepSeek。
接入背景
Codex 已經(jīng)成為不少開發(fā)者日常寫代碼、改項目和處理工程任務(wù)時常用的 AI 編程工具,它同時提供命令行環(huán)境與桌面端入口,適合在真實代碼倉庫中完成解釋、重構(gòu)、補全、調(diào)試和批量修改等工作。DeepSeek V4 則更偏向高性價比模型后端,尤其在代碼生成、長上下文理解和代理式任務(wù)處理中具備較強吸引力,因此很多人會希望把 Codex 的前端工作流與 DeepSeek 的模型能力結(jié)合起來使用。
不過,二者不能直接通過簡單替換 API 地址完成對接。主要問題不在于密鑰或模型名稱,而在于兩邊默認采用的接口形態(tài)并不一致:Codex 新版自定義模型供應(yīng)商側(cè)更傾向于使用 Responses API 結(jié)構(gòu),而 DeepSeek 官方 OpenAI 兼容接口主要接收 Chat Completions 格式。因此,如果直接把 Codex 的 base_url 指向 DeepSeek 官方地址,常見結(jié)果是請求路徑、消息結(jié)構(gòu)或工具調(diào)用字段無法匹配,最終出現(xiàn) 400、模型不可用或工具調(diào)用失敗等問題。
| 對比項 | Codex 新版 | DeepSeek V4 API | 差異說明 |
|---|---|---|---|
| 主要使用場景 | AI 編程助手、項目級代碼修改、CLI / 桌面端協(xié)作 | 模型推理服務(wù)、代碼生成、長上下文與通用問答 | Codex 更像客戶端工作流,DeepSeek 更像模型服務(wù)后端 |
| 推薦接口形態(tài) | Responses API | Chat Completions API | 兩者請求體結(jié)構(gòu)不同,不能直接互換 |
| 常見請求路徑 | /v1/responses | /chat/completions | 直接改 base_url 容易出現(xiàn)路徑不匹配 |
| 消息輸入方式 | input / response items | messages 數(shù)組 | 需要把 Codex 輸入轉(zhuǎn)換成 Chat messages |
| 工具調(diào)用結(jié)構(gòu) | Responses API 內(nèi)部 output item / tool call 結(jié)構(gòu) | Chat Completions 中的 tool_calls | 編程代理場景必須正確轉(zhuǎn)換工具調(diào)用 |
| 模型配置位置 | ~/.codex/config.toml | DeepSeek 控制臺與 API 請求參數(shù) | Codex 側(cè)需要配置 provider,DeepSeek 側(cè)需要有效 API Key |
| 典型模型名 | 由 Codex 配置中的 model 指定 | deepseek-v4-pro、deepseek-v4-flash | 建議優(yōu)先使用 DeepSeek V4 官方模型名 |
| 直接對接結(jié)果 | 通常不穩(wěn)定或報錯 | 無法理解 Codex 的 Responses 請求 | 需要中間層做協(xié)議適配 |
因此,更穩(wěn)妥的方案是在本機啟動一個輕量橋接服務(wù)。Codex 只連接本地代理,本地代理負責(zé)接收 Codex 發(fā)來的 Responses API 請求,再轉(zhuǎn)換為 DeepSeek 可識別的 Chat Completions 請求;DeepSeek 返回結(jié)果后,代理再把響應(yīng)重新包裝成 Codex 能讀取的格式。這樣既不需要降低 Codex 版本,也不需要修改客戶端程序,還能保留新版 Codex 的配置方式與桌面端體驗。
目標:不回退 Codex 版本、不修改客戶端程序,通過本機轉(zhuǎn)發(fā)服務(wù),把 Codex 的新版請求格式轉(zhuǎn)換為 DeepSeek API 可識別的調(diào)用格式。
1. 基本原理
Codex 新版調(diào)用自定義模型時,主要走的是 Responses API 風(fēng)格;而 DeepSeek 官方 OpenAI 兼容接口主要使用 Chat Completions 風(fēng)格。兩者字段結(jié)構(gòu)、接口路徑和工具調(diào)用格式并不完全一致,所以不能簡單把 Codex 的 base_url 直接改成 DeepSeek 地址。
本方案的中間層作用如下:
Codex Desktop / Codex CLI
│
│ Responses API 風(fēng)格請求
▼
本機橋接服務(wù):127.0.0.1:4000/v1
│
│ Chat Completions 風(fēng)格請求
▼
DeepSeek API:api.deepseek.com
本地橋接服務(wù)主要負責(zé):
- 接收 Codex 發(fā)出的
/v1/responses請求; - 將
input、tools、tool_call等結(jié)構(gòu)轉(zhuǎn)換為 DeepSeek 可處理的 Chat Completions 格式; - 把 DeepSeek 返回內(nèi)容再包裝成 Codex 期望的 Responses API 輸出;
- 暴露
/v1/models,方便 Codex 識別可用模型; - 處理流式輸出,避免 Codex 長任務(wù)卡死。
2. 準備工作
2.1 必要環(huán)境
建議先準備好:
- Node.js 18 或更高版本;
- Codex Desktop 最新版;
- Codex CLI;
- DeepSeek API Key;
- 一個可用的終端環(huán)境,例如 PowerShell、Git Bash、Terminal 或 iTerm2。
2.2 檢查版本
在終端執(zhí)行:
node --version codex --version
Node.js 版本建議不低于:
v18.0.0
如果 codex --version 無法識別,說明 Codex CLI 尚未正確安裝或環(huán)境變量沒有生效。
3. 安裝本地橋接服務(wù)
以下以 codex-bridge 類型的 Node.js 本地代理為例。你也可以換成其他支持 Responses API 與 Chat Completions API 互轉(zhuǎn)的同類項目。
3.1 創(chuàng)建目錄
mkdir -p ~/.codex
3.2 克隆項目
git clone https://github.com/wujfeng712-ui/codex-bridge.git ~/.codex/codex-bridge cd ~/.codex/codex-bridge
如果 GitHub 訪問不穩(wěn)定,可以使用可信鏡像源,但要注意確認代碼是否與原倉庫一致,避免 API Key 泄露風(fēng)險。
4. 配置 DeepSeek 訪問參數(shù)
進入橋接服務(wù)目錄:
cd ~/.codex/codex-bridge
創(chuàng)建或編輯 .env 文件:
nano .env
Windows 用戶也可以直接用記事本打開:
C:\Users\你的用戶名\.codex\codex-bridge\.env
推薦寫法:
DEEPSEEK_API_KEY=sk-你的DeepSeek密鑰 DEEPSEEK_API_BASE=https://api.deepseek.com DEEPSEEK_MODELS=deepseek-v4-pro,deepseek-v4-flash DEFAULT_PROVIDER=deepseek PROXY_HOST=127.0.0.1 PROXY_PORT=4000 LOG_LEVEL=info
注意事項:
.env必須逐行書寫,不要把多個配置擠在一行;- API Key 不建議加引號;
.env中是明文密鑰,不要上傳到 GitHub;- 如果橋接項目使用的變量名不同,應(yīng)以該項目 README 為準;
- 推薦優(yōu)先使用
deepseek-v4-pro和deepseek-v4-flash,不建議長期依賴舊別名。
5. 配置 Codex
Codex 用戶級配置文件通常位于:
~/.codex/config.toml
Windows 對應(yīng)路徑通常是:
C:\Users\你的用戶名\.codex\config.toml
macOS 對應(yīng)路徑通常是:
/Users/你的用戶名/.codex/config.toml
打開配置文件后,寫入或合并以下內(nèi)容:
model = "deepseek-v4-pro" model_provider = "deepseek_bridge" cli_auth_credentials_store = "file" [model_providers.deepseek_bridge] name = "DeepSeek V4 Local Bridge" base_url = "http://127.0.0.1:4000/v1" wire_api = "responses" request_max_retries = 4 stream_max_retries = 5 stream_idle_timeout_ms = 600000
這里的關(guān)鍵點是:
wire_api = "responses"
不要寫成:
wire_api = "chat"
新版 Codex 中,chat 類型已經(jīng)不適合作為主配置使用。
6. 是否需要配置 API Key 到 Codex
通常有兩種方式。
方案 A:由本地橋接服務(wù)讀取.env
這是更推薦的方式。Codex 只連本地地址,DeepSeek Key 由橋接服務(wù)負責(zé)讀取。
此時 config.toml 中不需要額外寫:
env_key = "DEEPSEEK_API_KEY"
方案 B:讓 Codex 通過環(huán)境變量傳遞 Key
如果你的橋接服務(wù)要求 Codex 也發(fā)送 Authorization 請求頭,可以在 config.toml 中增加:
env_key = "DEEPSEEK_API_KEY"
然后設(shè)置系統(tǒng)環(huán)境變量。
Windows PowerShell:
[Environment]::SetEnvironmentVariable("DEEPSEEK_API_KEY", "sk-你的DeepSeek密鑰", "User")
macOS / Linux:
echo 'export DEEPSEEK_API_KEY="sk-你的DeepSeek密鑰"' >> ~/.zshrc source ~/.zshrc
如果 Codex Desktop 是從圖形界面啟動,macOS 可能還需要:
launchctl setenv DEEPSEEK_API_KEY "sk-你的DeepSeek密鑰"
7. 啟動橋接服務(wù)
進入項目目錄:
cd ~/.codex/codex-bridge
啟動代理:
node --env-file=.env proxy.mjs
如果啟動成功,通常會看到類似輸出:
Listening on http://127.0.0.1:4000 Default provider: deepseek Models: deepseek-v4-pro, deepseek-v4-flash
這個終端窗口需要保持開啟。關(guān)閉窗口后,本地橋接服務(wù)會停止,Codex 就無法繼續(xù)訪問 DeepSeek。
8. 驗證 DeepSeek API 是否可用
先測試 DeepSeek 官方接口本身是否正常:
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的DeepSeek密鑰" \
-d '{
"model": "deepseek-v4-pro",
"messages": [
{
"role": "user",
"content": "只回復(fù)一個字:好"
}
],
"stream": false
}'
如果這里失敗,優(yōu)先檢查:
- API Key 是否正確;
- DeepSeek 賬戶是否還有余額;
- 模型名是否寫錯;
- 本機網(wǎng)絡(luò)能否訪問 DeepSeek;
- 是否被代理、防火墻或 DNS 攔截。
9. 驗證本地橋接服務(wù)
9.1 檢查模型列表
curl http://127.0.0.1:4000/v1/models
理想情況下應(yīng)能看到:
deepseek-v4-pro deepseek-v4-flash
如果這里沒有模型列表,Codex 里的 /model 切換可能無法正常工作。
9.2 檢查 Responses API 轉(zhuǎn)換
curl http://127.0.0.1:4000/v1/responses \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro",
"input": "只回復(fù)一個字:好"
}'
如果能正常返回“好”,說明橋接服務(wù)已經(jīng)能把 Codex 風(fēng)格請求轉(zhuǎn)成 DeepSeek 請求。
10. 驗證 Codex CLI
執(zhí)行:
codex exec "只回復(fù)一個字:好"
如果最后輸出:
好
說明鏈路已經(jīng)打通:
Codex CLI → 本地橋接服務(wù) → DeepSeek API
可以繼續(xù)測試一個更接近真實編碼場景的請求:
codex exec "寫一個 Python 函數(shù),接收字符串列表,返回按長度排序后的新列表。"
11. 在 Codex Desktop 中使用
確認本地橋接服務(wù)已經(jīng)啟動后,再打開 Codex Desktop。
進入對話后可以嘗試切換模型:
/model deepseek-v4-pro
或:
/model deepseek-v4-flash
推薦選擇:
deepseek-v4-pro 適合復(fù)雜代碼分析、架構(gòu)調(diào)整、長上下文任務(wù) deepseek-v4-flash 適合快速問答、輕量修改、短代碼補全
12. 常見問題處理
12.1 提示wire_api = chat is no longer supported
檢查 ~/.codex/config.toml,確保是:
wire_api = "responses"
不要使用:
wire_api = "chat"
12.2 直接連接 DeepSeek 后返回 400
這是因為 Codex 請求的是 Responses API,而 DeepSeek 主要接收 Chat Completions API。兩者不能直接互通,需要本地橋接服務(wù)做格式轉(zhuǎn)換。
錯誤思路:
base_url = "https://api.deepseek.com/v1" wire_api = "responses"
推薦思路:
base_url = "http://127.0.0.1:4000/v1" wire_api = "responses"
12.3 Codex Desktop 仍然彈出登錄窗口
可以先檢查 CLI 登錄狀態(tài):
codex login status
如需初始化 API Key 登錄,可嘗試:
codex login --with-api-key
如果桌面端仍要求登錄,可能是 Codex Desktop 當(dāng)前版本的認證邏輯限制。此時可以:
- 先確認 CLI 是否能正常使用;
- 重啟 Codex Desktop;
- 檢查
cli_auth_credentials_store = "file"是否寫在頂層; - 避免頻繁手動修改
auth.json,因為該文件結(jié)構(gòu)可能隨版本變化。
12.4/model找不到 DeepSeek 模型
優(yōu)先檢查:
curl http://127.0.0.1:4000/v1/models
如果沒有返回模型列表,需要檢查 .env:
DEEPSEEK_MODELS=deepseek-v4-pro,deepseek-v4-flash
修改 .env 后,要重啟橋接服務(wù)。
12.5 端口 4000 被占用
Windows:
netstat -ano | findstr ":4000" taskkill /PID <PID> /F
macOS / Linux:
lsof -i :4000 kill -9 <PID>
也可以換一個端口,例如 4001。
.env:
PROXY_PORT=4001
config.toml:
base_url = "http://127.0.0.1:4001/v1"
12.6 普通聊天正常,但改代碼不穩(wěn)定
這通常說明橋接服務(wù)只完成了基礎(chǔ)文本轉(zhuǎn)換,沒有完整處理 Codex 的工具調(diào)用流程。
穩(wěn)定的編程代理橋接至少需要支持:
tools tool_calls tool result stream events response output items file edit related calls
如果這些轉(zhuǎn)換不完整,可能會出現(xiàn):
- 能回答問題,但無法正確讀寫項目文件;
- 能生成代碼,但不能可靠應(yīng)用補??;
- 長任務(wù)中途停止;
- 工具調(diào)用返回結(jié)構(gòu)不符合 Codex 預(yù)期;
- 流式輸出卡住。
13. Windows 開機自動啟動
可以用任務(wù)計劃程序創(chuàng)建自啟動任務(wù)。
PowerShell 示例:
$bridge = "$env:USERPROFILE\.codex\codex-bridge" $action = New-ScheduledTaskAction ` -Execute "node.exe" ` -Argument "--env-file=`"$bridge\.env`" `"$bridge\proxy.mjs`"" ` -WorkingDirectory $bridge $trigger = New-ScheduledTaskTrigger -AtLogon Register-ScheduledTask ` -TaskName "CodexDeepSeekBridge" ` -Action $action ` -Trigger $trigger ` -Description "Local bridge for Codex and DeepSeek V4" ` -RunLevel Highest ` -Force
查看任務(wù):
Get-ScheduledTask -TaskName "CodexDeepSeekBridge"
刪除任務(wù):
Unregister-ScheduledTask -TaskName "CodexDeepSeekBridge" -Confirm:$false
14. macOS 開機自動啟動
先確認 Node 路徑:
which node
創(chuàng)建 LaunchAgent:
cat > ~/Library/LaunchAgents/com.codex.deepseek.bridge.plist <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.codex.deepseek.bridge</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/node</string>
<string>--env-file</string>
<string>/Users/你的用戶名/.codex/codex-bridge/.env</string>
<string>/Users/你的用戶名/.codex/codex-bridge/proxy.mjs</string>
</array>
<key>WorkingDirectory</key>
<string>/Users/你的用戶名/.codex/codex-bridge</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/tmp/codex-deepseek-bridge.out.log</string>
<key>StandardErrorPath</key>
<string>/tmp/codex-deepseek-bridge.err.log</string>
</dict>
</plist>
EOF注意替換:
/Users/你的用戶名
如果 which node 顯示的不是 /usr/local/bin/node,也要同步替換 plist 中的 Node 路徑。
加載服務(wù):
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.codex.deepseek.bridge.plist launchctl enable gui/$UID/com.codex.deepseek.bridge launchctl kickstart -k gui/$UID/com.codex.deepseek.bridge
查看日志:
tail -f /tmp/codex-deepseek-bridge.out.log tail -f /tmp/codex-deepseek-bridge.err.log
卸載服務(wù):
launchctl bootout gui/$UID ~/Library/LaunchAgents/com.codex.deepseek.bridge.plist rm ~/Library/LaunchAgents/com.codex.deepseek.bridge.plist
15. 安全建議
使用本地橋接時,重點注意以下幾點:
- 只監(jiān)聽
127.0.0.1,不要開放到0.0.0.0; - 不要把
.env、auth.json、日志文件上傳到公開倉庫; - 不要把 API Key 截圖發(fā)給別人;
- 盡量使用源碼可審計的橋接項目;
- 使用第三方工具前,先檢查是否會上傳請求內(nèi)容或密鑰;
- 發(fā)現(xiàn) Key 泄露后,立即到 DeepSeek 控制臺刪除舊 Key 并重新生成;
- 如果多人共用電腦,不建議把密鑰放在容易被讀取的目錄中。
16. 推薦最終配置
16.1.env
DEEPSEEK_API_KEY=sk-你的DeepSeek密鑰 DEEPSEEK_API_BASE=https://api.deepseek.com DEEPSEEK_MODELS=deepseek-v4-pro,deepseek-v4-flash DEFAULT_PROVIDER=deepseek PROXY_HOST=127.0.0.1 PROXY_PORT=4000 LOG_LEVEL=info
16.2~/.codex/config.toml
model = "deepseek-v4-pro" model_provider = "deepseek_bridge" cli_auth_credentials_store = "file" [model_providers.deepseek_bridge] name = "DeepSeek V4 Local Bridge" base_url = "http://127.0.0.1:4000/v1" wire_api = "responses" request_max_retries = 4 stream_max_retries = 5 stream_idle_timeout_ms = 600000
16.3 啟動命令
cd ~/.codex/codex-bridge node --env-file=.env proxy.mjs
16.4 測試命令
codex exec "只回復(fù)一個字:好"
總結(jié)
這套方案本質(zhì)上不是修改 Codex,而是在本機增加一個協(xié)議適配層:
Codex 需要 Responses API
DeepSeek 提供 Chat Completions API
本地橋接服務(wù)負責(zé)雙向轉(zhuǎn)換
只要橋接服務(wù)正確實現(xiàn) /v1/models、/v1/responses、流式輸出和工具調(diào)用轉(zhuǎn)換,就可以在保留 Codex 新版功能的同時,使用 DeepSeek V4 作為代碼任務(wù)后端。
對于日常使用,建議默認選擇:
deepseek-v4-pro
對于快速問答或輕量代碼修改,可以切換為:
deepseek-v4-flash
以上就是Codex桌面版接入DeepSeek V4本地橋接版的配置指南的詳細內(nèi)容,更多關(guān)于Codex接入DeepSeek V4的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Codex 是一個面向開發(fā)者的命令行 AI 編程助手,它不走瀏覽器交互路線,而是深度嵌入終端工作流,這篇文章主要介紹了AI 編程助手Codex + DeepSeek接入的相關(guān)資料,需要的朋友可2026-07-03
Windows安裝Codex及接入DeepSeek-V4的完整教程
這篇文章主要為大家介紹了Codex和Claude的安裝步驟,包括安裝Git和 Node.js的版本要求,以及接入DeepSeek-V4的具體配置方法,文章還提供了解決啟動代理時可能出現(xiàn)的Node.js版2026-06-25
本教程詳細介紹了如何通過CC-Switch配置API渠道,實現(xiàn)Codex客戶端接入DeepSeekAPI,涵蓋準備工作、獲取API密鑰、配置CC-Switch及常見問題解決方法,助力開發(fā)者輕松實現(xiàn)AI編程2026-06-04
Codex接入DeepSeek API的實戰(zhàn)指南
這篇文章主要為大家詳細介紹了Codex接入DeepSeek API的完整步驟,并實測了關(guān)于AI開發(fā)領(lǐng)域中第三方API的真實成本、開源模型的潛在陷阱,希望幫助開發(fā)者做出合適的技術(shù)選擇2026-06-02
文章瀏覽閱讀189次,點贊2次,收藏2次。適用于所有“只提供 Chat API,但需要接入 Codex/Agents”的場景。正確方式:使用 CC Switch 預(yù)設(shè)。Codex CLI 新版本默認面向。CC S2026-05-31






