#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 接口。两边协议不完全一致,所以需要一个很薄的本地代理:
Codex -- Responses API --> 本地代理 -- Chat Completions --> DeepSeek 这个代理主要负责:
响应 Codex 的 /v1/models
把 Codex 的 /v1/responses 转成 DeepSeek /chat/completions
支持普通请求和 SSE 流式请求
维护多轮聊天历史
处理 DeepSeek V4 Pro thinking mode 需要回传的 reasoning_content
打开 PowerShell,运行下面这行,把示例 key 换成你自己的真实 key:
[Environment]::SetEnvironmentVariable("DEEPSEEK_API_KEY", "sk-你的真实API_KEY", "User") 这样做的好处是:key 不会明文写进 config.toml,也不容易被截图或提交到仓库里。
设置完以后,建议重新打开一个 PowerShell 窗口,让新环境变量生效。
编辑这个文件:
C:\Users\你的用户名\.codex\config.toml 在顶部加入或修改为:
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 里运行:
powershell -ExecutionPolicy Bypass -File C:\你的路径\start-deepseek-codex-proxy.ps1 然后验证代理是否正常:
Invoke-RestMethod -Uri 'http://127.0.0.1:3000/v1/models' 如果能看到 deepseek-v4-pro 的模型信息,说明本地代理已经跑起来了。
现在直接运行:
codex 也可以用这条命令快速验证:
codex exec --skip-git-repo-check --ephemeral "只回复 OK,不要运行任何命令。" 看到 OK,基本就说明 Codex 已经能通过本地代理调用 DeepSeek V4 Pro 了。
如果你想切回 Codex 默认模型,修改 config.toml 前两行:
model = "gpt-5.5"
model_provider = "openai" 或者单次启动时临时指定:
codex -c model_provider="openai" -m gpt-5.5 说明你还在 provider 里写了 wire_api = "chat"。新版 Codex 已经不支持这种写法,需要改成 wire_api = "responses",并使用本地代理转换协议。
DeepSeek V4 Pro 的 thinking mode 在多轮工具调用时,需要把上一轮 assistant 消息里的 reasoning_content 原样带回。原指南里的代理脚本已经处理了这件事,遇到这个错误时优先确认自己用的是最新版 deepseek-codex-proxy.mjs。
如果本机已有服务占用 3000 端口,可以改代理脚本里的 PORT 环境变量,同时把 config.toml 里的 base_url 改成对应端口。
先看错误日志:
Get-Content .\deepseek-codex-proxy.err.log 常见原因是 Node.js 没装好,或者 DEEPSEEK_API_KEY 没设置成功。
代理是本地进程,重启后需要重新运行启动脚本。想省事的话,可以把启动命令加入 Windows 启动项。
不会。Codex 的本地会话记录在:
C:\Users\你的用户名\.codex\sessions 它跟你用 OpenAI 还是 DeepSeek 没有直接关系。代理只在运行期间维护 DeepSeek 需要的上下文,重启代理后这部分内存会清空,但 Codex 自己的 session 文件仍然在。
你的代理目录大概长这样:
deepseek-codex-proxy.mjs
start-deepseek-codex-proxy.ps1
deepseek-codex-proxy.log
deepseek-codex-proxy.err.log
Codex接入DeepSeek指南.md 全局 Codex 配置在:
C:\Users\你的用户名\.codex\config.toml API Key 放在 Windows 用户环境变量里:
DEEPSEEK_API_KEY = sk-xxxxxxxx 最后提醒:不要把真实 API Key 发到评论区、截图里或公开仓库里。配置能跑通以后,建议先用一句简单 prompt 测试,再开始正式项目。