新手也能跑通:Codex 接入 DeepSeek V4 Pro(Windows 图文教程)
拿着ak47的冯一笑
2026年05月18日 22:18

#Codex#​ #DeepSeek#​ #AI编程#​ #API教程#​ #Windows#​ #本地代理#​

这篇是给新手看的 Codex 接入 DeepSeek V4 Pro 教程。核心思路很简单:新版 Codex 走 Responses API,而 DeepSeek 目前使用 OpenAI 兼容的 Chat Completions API,所以中间加一个本地代理做格式转换。

适用环境:

  • Windows

  • 已安装 Codex(原文基于 v0.128.0-cometix)

  • 已安装 Node.js

  • 已拿到 DeepSeek API Key,格式类似 sk-xxxxxxxx

一、为什么需要本地代理

Codex v0.128 开始不再支持 wire_api = "chat",provider 需要走 Responses API。DeepSeek 这边提供的是 Chat Completions 接口。两边协议不完全一致,所以需要一个很薄的本地代理:

代码块
PlainText
自动换行
复制代码
Codex -- Responses API --> 本地代理 -- Chat Completions --> DeepSeek
复制成功

这个代理主要负责:

  • 响应 Codex 的 /v1/models

  • 把 Codex 的 /v1/responses 转成 DeepSeek /chat/completions

  • 支持普通请求和 SSE 流式请求

  • 维护多轮聊天历史

  • 处理 DeepSeek V4 Pro thinking mode 需要回传的 reasoning_content

二、先把 API Key 放进环境变量

打开 PowerShell,运行下面这行,把示例 key 换成你自己的真实 key:

代码块
PlainText
自动换行
复制代码
[Environment]::SetEnvironmentVariable("DEEPSEEK_API_KEY", "sk-你的真实API_KEY", "User")
复制成功

这样做的好处是:key 不会明文写进 config.toml,也不容易被截图或提交到仓库里。

设置完以后,建议重新打开一个 PowerShell 窗口,让新环境变量生效。

三、修改 Codex 配置

编辑这个文件:

代码块
PlainText
自动换行
复制代码
C:\Users\你的用户名\.codex\config.toml
复制成功

在顶部加入或修改为:

代码块
PlainText
自动换行
复制代码
model = "deepseek-v4-pro"
model_provider = "deepseek"
model_reasoning_effort = "high"

base_url = "http://localhost:3000/v1"

[model_providers.deepseek]
name = "DeepSeek V4 Pro via local Responses proxy"
base_url = "http://127.0.0.1:3000/v1"
env_key = "DEEPSEEK_API_KEY"
wire_api = "responses"
requires_openai_auth = false
request_max_retries = 4
stream_max_retries = 10
stream_idle_timeout_ms = 300000
复制成功

如果你的配置里已经有 marketplaces、windows、projects 等段落,不要删,保留原样即可。

四、放好本地代理文件

把下面两个文件放在同一个目录:

  • deepseek-codex-proxy.mjs:代理本体

  • start-deepseek-codex-proxy.ps1:启动脚本

这两个文件负责把 Codex 的 Responses 请求转换成 DeepSeek 可理解的 Chat Completions 请求。

五、启动代理

在 PowerShell 里运行:

代码块
PlainText
自动换行
复制代码
powershell -ExecutionPolicy Bypass -File C:\你的路径\start-deepseek-codex-proxy.ps1
复制成功

然后验证代理是否正常:

代码块
PlainText
自动换行
复制代码
Invoke-RestMethod -Uri 'http://127.0.0.1:3000/v1/models'
复制成功

如果能看到 deepseek-v4-pro 的模型信息,说明本地代理已经跑起来了。

六、启动 Codex 并测试

现在直接运行:

代码块
PlainText
自动换行
复制代码
codex
复制成功

也可以用这条命令快速验证:

代码块
PlainText
自动换行
复制代码
codex exec --skip-git-repo-check --ephemeral "只回复 OK,不要运行任何命令。"
复制成功

看到 OK,基本就说明 Codex 已经能通过本地代理调用 DeepSeek V4 Pro 了。

七、如何切回原来的 OpenAI / ChatGPT

如果你想切回 Codex 默认模型,修改 config.toml 前两行:

代码块
PlainText
自动换行
复制代码
model = "gpt-5.5"
model_provider = "openai"
复制成功

或者单次启动时临时指定:

代码块
PlainText
自动换行
复制代码
codex -c model_provider="openai" -m gpt-5.5
复制成功

八、常见问题

1. 报错:wire_api = chat is no longer supported

说明你还在 provider 里写了 wire_api = "chat"。新版 Codex 已经不支持这种写法,需要改成 wire_api = "responses",并使用本地代理转换协议。

2. DeepSeek 返回:reasoning_content must be passed back

DeepSeek V4 Pro 的 thinking mode 在多轮工具调用时,需要把上一轮 assistant 消息里的 reasoning_content 原样带回。原指南里的代理脚本已经处理了这件事,遇到这个错误时优先确认自己用的是最新版 deepseek-codex-proxy.mjs。

3. 3000 端口被占用

如果本机已有服务占用 3000 端口,可以改代理脚本里的 PORT 环境变量,同时把 config.toml 里的 base_url 改成对应端口。

4. 代理启动后没有监听 3000

先看错误日志:

代码块
PlainText
自动换行
复制代码
Get-Content .\deepseek-codex-proxy.err.log
复制成功

常见原因是 Node.js 没装好,或者 DEEPSEEK_API_KEY 没设置成功。

5. 重启电脑后连不上

代理是本地进程,重启后需要重新运行启动脚本。想省事的话,可以把启动命令加入 Windows 启动项。

6. 聊天记录会丢吗

不会。Codex 的本地会话记录在:

代码块
PlainText
自动换行
复制代码
C:\Users\你的用户名\.codex\sessions
复制成功

它跟你用 OpenAI 还是 DeepSeek 没有直接关系。代理只在运行期间维护 DeepSeek 需要的上下文,重启代理后这部分内存会清空,但 Codex 自己的 session 文件仍然在。

九、文件清单

你的代理目录大概长这样:

代码块
PlainText
自动换行
复制代码
deepseek-codex-proxy.mjs
start-deepseek-codex-proxy.ps1
deepseek-codex-proxy.log
deepseek-codex-proxy.err.log
Codex接入DeepSeek指南.md
复制成功

全局 Codex 配置在:

代码块
PlainText
自动换行
复制代码
C:\Users\你的用户名\.codex\config.toml
复制成功

API Key 放在 Windows 用户环境变量里:

代码块
PlainText
自动换行
复制代码
DEEPSEEK_API_KEY = sk-xxxxxxxx
复制成功

最后提醒:不要把真实 API Key 发到评论区、截图里或公开仓库里。配置能跑通以后,建议先用一句简单 prompt 测试,再开始正式项目。