Codex 桌面版接入 DeepSeek V4 完整教程(保留 GPT 登录,模型菜单一键切换)
2026/8/4 7:10:23 网站建设 项目流程

方案简介

DeepSeek V4 不能直接写进 Codex 官方配置使用,因为 Codex 走 OpenAI Responses 协议。本文使用开源项目 DSCodex:它在本地起一个路由(127.0.0.1:10110),按模型名分流:

  • deepseek/deepseek-v4-flash→ 转发 DeepSeek 原生 Responses API
  • 其他模型(GPT-5.6 等)→ 原样转发 ChatGPT OAuth 后端

效果:不改 App、不覆盖登录、不丢聊天记录,模型菜单里多一项🐳 V4 Flash,GPT 模型照常可用。

一、安装步骤(可直接复制)

1. 安装 Node.js 24+(DSCodex 要求 ≥24.5)

brew install node@24 export PATH="/opt/homebrew/opt/node@24/bin:$PATH" node --version # 应显示 v24.x

2. 克隆 DSCodex 并进入目录

git clone https://github.com/fish2lab/DSCodex.git ~/DSCodex cd ~/DSCodex

3. 运行测试(建议,确认环境正常)

npm test

4. 保存 DeepSeek API Key(隐藏输入,不打印)

node src/cli.mjs key set

按要求粘贴 Key 后回车,会存入~/.codex/dscodex/config.json(权限 0600)。不要把 Key 写进命令行或 config.toml。

5. 安装并启动路由

node src/cli.mjs install node src/cli.mjs start node src/cli.mjs doctor

doctor六项全部输出ok即成功:config_injected / catalog_present / router_token_present / proxy_running / deepseek_key_in_proxy / app_server_bridge

6. 可选:开机自启

node src/cli.mjs autostart enable

不开启的话,每次重启电脑后都要手动node src/cli.mjs start

7. 重启 Codex 桌面端

完全退出(⌘Q)再重新打开,新建任务,在模型选择器里选择🐳 V4 Flash

8. 验证 DeepSeek 真实工具循环

codex -m deepseek/deepseek-v4-flash -c 'model_reasoning_effort="max"' -a never exec --skip-git-repo-check '调用一次 shell 工具打印 DEEPSEEK_OK,然后回复 deepseek-ok'

9. 验证切回 GPT(OAuth 旁路)

codex -m gpt-5.6-terra -a never exec --skip-git-repo-check '只回复 gpt-oauth-ok'

二、遇到的问题与解决方法

问题 1:切回 GPT 时报Invalid 'input[358].content': array too long. Expected an array with maximum length 0...(array_above_max_length)

现象:DeepSeek 回合结束后,切回 GPT-5.6 再发消息,直接 400 报错,任务无法推进。

原因:DeepSeek 回合会把思考内容存成reasoning消息,contentreasoning_text数组;切回 GPT 时 Codex 把这段历史原样回放给 OpenAI,而 OpenAI 要求reasoning消息的content必须是空数组(maxItems: 0),于是整请求被拒。

解决:修改 DSCodex 路由src/proxy.mjs,在 GPT 旁路转发前把reasoning消息的content清空(保留 summary),核心代码:

exportfunctionbuildChatGptBody(input){constbody=structuredClone(input);if(Array.isArray(body.input)){body.input=body.input.map((item)=>{if(!item||typeofitem!=="object"||Array.isArray(item))returnitem;if(item.type==="reasoning"&&Array.isArray(item.content)&&item.content.length>0){return{...item,content:[]};}returnitem;});}returnbody;}

然后重启路由:

node src/cli.mjs stop && node src/cli.mjs start

验证:server.log出现chatgpt: stripped reasoning replay content from 1 item(s)即生效;doctor全部ok

问题 2:切回 GPT 报 502 Bad Gateway /fetch failed

现象:DeepSeek 正常,GPT 请求全部 502。

原因:DSCodex 的 Node 进程默认不走系统代理,而 ChatGPT OAuth 后端需要代理才能访问(国内网络环境常见)。

解决:读取本机代理并写入路由配置,然后重启:

scutil --proxy # 查看本机代理,例如 HTTPProxy 127.0.0.1 端口 7897 node src/cli.mjs proxy set http://127.0.0.1:7897 node src/cli.mjs stop && node src/cli.mjs start

问题 3:重启电脑后 DeepSeek 和 GPT 都连不上

原因:Codex 的所有请求都指向本地路由127.0.0.1:10110,路由没有开机自启时全部失败。

解决:开启自启,或开机后手动启动:

node src/cli.mjs autostart enable # 或手动:node src/cli.mjs start

问题 4:日志里 WebSocket 426 / Figma OAuth 警告

均为正常现象,不影响使用:426 是路由主动拒绝 WebSocket、Codex 自动回退 HTTP/SSE;Figma 警告与模型接入无关。

问题 5:想卸载恢复原样

node src/cli.mjs stop node src/cli.mjs uninstall

只删除 DSCodex 写入的配置行、模型目录和桥接文件;原配置备份在~/.codex/config.toml.pre-dscodex.bak。聊天记录、auth.json、GPT 登录状态完全不动。

三、简洁版提示词(直接复制发给 Codex)

请用 https://github.com/fish2lab/DSCodex 把 DeepSeek V4 Flash 接入本机 Codex: 1. 安装 Node.js 24+,克隆仓库(如 ~/DSCodex),按 README 执行 npm test、key set、install、start、doctor。 2. 我的 DeepSeek API Key 我会在 key set 提示时隐藏输入,严禁打印、严禁写入 config.toml 或提交进仓库。 3. 硬性要求:保留现有 ChatGPT 登录(auth.json)、全部聊天记录和 GPT 模型,不要把应用强制改成 API Key 登录;只把 🐳 V4 Flash 加入模型选择器,GPT 请求必须原样走 OAuth 旁路。 4. 用 scutil --proxy 读取本机代理并配置路由(proxy set),解决 GPT 旁路 502/fetch failed。 5. 必须修复已知 Bug:GPT 旁路转发前,把 input 中 reasoning 消息的 content 清为空数组(保留 summary),否则切回 GPT 会报 array_above_max_length 400;修复后加测试并重启路由。 6. 实测两项:codex -m deepseek/deepseek-v4-flash 完整工具循环;codex -m gpt-5.6-terra 切回 GPT 成功。 7. doctor 六项全部 ok 后,告诉我如何重启自启和卸载,不要改动除 DSCodex 标记之外的配置。

小提示:DeepSeek V4 Flash 是纯文本模型,桌面端贴图时 DSCodex 会借用你的 ChatGPT 登录(无需额外 Key)让 GPT 生成图片描述再喂给 DeepSeek;Codex 用量统计页面不会计入 DeepSeek 消耗,这是正常现象。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询