Codex Desktop 接入 NVIDIA API 完整教程:免费使用 DeepSeek-V4 等模型​

259 阅读4分钟

前言

Codex CLI / Desktop 是 OpenAI 推出的编程助手,能力很强,但有个问题——它只支持 OpenAI 自家的模型。Codex 底层走的是 OpenAI 的 Responses API,而市面上大多数第三方 API 只支持 Chat Completions API,两者协议不兼容,导致无法直接接入。

那有没有办法绕过这个限制?有!

本文将详细介绍如何通过一个本地代理,把 Codex 的 Responses API 请求"翻译"成 NVIDIA 支持的 Chat Completions API,从而在 Codex Desktop 上使用 DeepSeek-V4 Pro / Flash、Llama、Nemotron 等 NVIDIA 平台上的模型。

原理概述

NVIDIA API 只支持 Chat Completions API(/v1/chat/completions),而 Codex 只支持 Responses API(/v1/responses)。两者协议完全不同——消息格式、流式事件、工具调用规范都不一样。

解决方案是跑一个本地代理服务器,做格式转换:

Codex Desktop → 本地代理 (http://127.0.0.1:5000) → NVIDIA API
   Responses API    →   格式转换     →   Chat Completions API

代码仓库: github     gitee

前置准备

  • Windows / macOS / Linux 均可
  • Python 3.9+
  • NVIDIA 开发者账号 —— 前往 build.nvidia.com 注册
  • 已安装 Codex Desktop

第一步:获取 NVIDIA API Key

  1. 打开 build.nvidia.com,登录或注册
  2. 点击右上角头像 → API Keys
  3. 点击 Generate API Key,设置有效时间(建议选 Never Expire 永不过期)
  4. 复制生成的 Key,格式类似 nvapi-xxxxxxxxxxxx

第二步:下载代理脚本

新建一个文件夹,把以下代码保存为 codex_nvidia_proxy.py

完整源码下载:github**  gitee**

第三步:安装依赖

pip install flask requests waitress openai

第四步:启动代理

# 设置 API Key
export NVIDIA_API_KEY=nvapi-你的key
​
# 启动代理
python codex_nvidia_proxy.py
看到以下输出说明启动成功:

codex_nvidia_proxy starting ...
   Endpoint: http://127.0.0.1:5000
   Model:    deepseek-ai/deepseek-v4-pro
   Routes:   /v1/responses, /v1/chat/completions

Windows 用户注意: 使用 set 而不是 export

set NVIDIA_API_KEY=nvapi-你的key
python codex_nvidia_proxy.py

第五步:配置 Codex Desktop

编辑 Codex 配置文件,位置:

  • Windows: C:\Users\你的用户名.codex\config.toml
  • macOS / Linux: ~/.codex/config.toml

添加以下内容:

model = "deepseek-ai/deepseek-v4-pro"
model_provider = "api"[model_providers.api]
name = "NVIDIA Proxy"
base_url = "http://127.0.0.1:5000/v1"
wire_api = "responses"
requires_openai_auth = false

重启 Codex Desktop,即可在模型选择器中看到 deepseek-ai/deepseek-v4-pro

验证是否生效

在终端中测试代理连通性:

curl -X POST http://127.0.0.1:5000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-ai/deepseek-v4-pro","messages":[{"role":"user","content":"hi"}],"stream":true}'

如果看到 SSE 流式返回 response.createdresponse.in_progressresponse.completed,说明配置成功。

换模型

NVIDIA 平台上有大量免费模型可供选择,常见的包括:

模型 ID特点
deepseek-ai/deepseek-v4-proDeepSeek V4 Pro,推理能力强
deepseek-ai/deepseek-v4-flashV4 Flash,响应更快
meta/llama-4-maverick-17b-128e-instructLlama 4 最新版
nvidia/llama-3.1-nemotron-70b-instructNVIDIA 自有模型
mistralai/mistral-small-4-119b-2603Mistral Small 4

切换模型只需设置环境变量:

export NVIDIA_MODEL=meta/llama-4-maverick-17b-128e-instruct

或修改 .nvidia_env 文件中的 NVIDIA_MODEL 值。

注意事项

⚠️ 速度问题

经过实际测试,通过代理转发后,响应速度会比直接使用 OpenAI 模型慢。主要原因:

  1. 多了一层格式转换
  2. NVIDIA 自身延迟

优化建议: 可以将代理改为非流式模式(stream=False),让 NVIDIA 一次性返回完整结果再转发给 Codex,整体等待时间反而更短。

⚠️ 网络环境

某些地区或公司网络可能无法直接访问 integrate.api.nvidia.com,如果遇到连接超时,可以配置代理:

export HTTPS_PROXY=http://127.0.0.1:7890

⚠️ API Key 安全

  • 不要将 API Key 发到聊天、GitHub 等公网环境
  • 如果怀疑 Key 泄露,请立即去 build.nvidia.com → API Keys 中 revoke 重生成
  • 建议写入 .nvidia_env 文件,不要硬编码在脚本中

总结

通过本文的思路,我们成功让 Codex Desktop 用上了 NVIDIA API 托管的 AI 模型,这得益于一个简单的本地代理将 Responses API 翻译为 Chat Completions API。

这套方案的实际价值在于:

  • 突破模型限制:不再被 OpenAI 绑定,可以自由选择 NVIDIA 上的上百种模型
  • 零成本入门:NVIDIA 提供免费额度,足以用于日常轻量使用
  • 扩展性强:同样的思路也适用于其他只支持 Chat API 的提供商(如 DeepSeek、OpenRouter 等)

如果你在配置过程中遇到问题,欢迎留言交流~