前言为什么选择 Codex DeepSeek在 AI 编程助手领域Codex 以其强大的代码生成和上下文理解能力成为许多开发者的得力工具。然而其高昂的订阅费用和网络访问限制让不少国内开发者望而却步。与此同时国产大模型 DeepSeek 凭借其出色的代码能力、免费开放的 API 和极佳的本地化支持迅速崛起。将这两者结合意味着我们可以用几乎零成本的方式在熟悉的 Codex 界面中享受到 DeepSeek 大模型的强大代码辅助能力。无论是代码补全、Bug 调试、代码解释还是文档生成都能获得流畅的体验。本文将手把手带你完成从零到一的完整配置无需复杂的网络环境12分钟内即可搞定。1. 核心概念与环境准备在开始动手之前我们先理清几个关键概念和需要准备的工具。1.1 什么是 Codex 与 DeepSeekCodex通常指的是基于 OpenAI Codex 模型的一系列编程辅助工具例如 Cursor、Claude Code 等 IDE 插件或独立应用。它们能够理解代码上下文提供智能补全、代码解释、重构建议等功能。本文中“Codex”泛指这类具备类似功能的 AI 编程助手客户端或插件。DeepSeek是由深度求索公司开发的国产大语言模型系列最新版本如 DeepSeek-V3、DeepSeek-R1 等在代码生成、数学推理和中文理解上表现卓越。其最大的优势在于提供了免费、高速且对国内网络友好的 API 服务。我们的目标就是搭建一个“桥梁”让原本设计用于连接 OpenAI API 的 Codex 类工具转而调用 DeepSeek 的 API。这个桥梁就是下文将要用到的Moon Bridge或类似的反向代理适配层。1.2 你需要准备什么在开始配置前请确保你的环境满足以下要求操作系统Windows 10/11 macOS 10.15 或主流的 Linux 发行版如 Ubuntu 20.04。本文演示以 Windows/macOS 为主。网络环境正常的国内网络即可无需特殊配置。Node.js 环境推荐这是运行 Moon Bridge 等适配工具最便捷的方式。请确保已安装 Node.js (版本 16 或更高) 和 npm。检查方法打开终端Windows 为 CMD 或 PowerShellmacOS/Linux 为 Terminal输入以下命令node --version npm --version如果没有安装请访问 Node.js 官网 下载 LTS 版本进行安装。一个 DeepSeek API Key这是调用 DeepSeek 模型的凭证。获取方式访问 DeepSeek 开放平台 注册并登录账号在控制台中即可创建 API Key。新用户通常有免费的额度可供试用。一款支持 Codex 的编辑器/客户端例如Cursor Editor、Claude Code或任何支持配置自定义 OpenAI API 端口的 IDE 插件。2. 方案选择Moon Bridge 适配层详解要让 Codex 客户端连接 DeepSeek核心在于“协议转换”。Codex 客户端期望与 OpenAI 格式的 API 服务器通信而 DeepSeek 虽然兼容 OpenAI API 格式但域名和路径不同。因此我们需要一个本地运行的“中转服务器”。根据网络上的实践主要有以下两种主流方案我们重点介绍第一种2.1 方案一使用 Moon Bridge推荐Moon Bridge是一个专门为将 Claude Desktop/Codex 等客户端连接到非 OpenAI 后端如 DeepSeek、Ollama而设计的轻量级反向代理工具。它会在你的本地计算机上启动一个服务监听某个端口如127.0.0.1:8080并将收到的 OpenAI 格式请求转发到 DeepSeek 的官方 API 地址。它的工作原理如下[你的 Codex 客户端] -- (请求发送到) http://127.0.0.1:8080/v1/chat/completions -- [Moon Bridge 本地服务] -- (转换并转发到) https://api.deepseek.com/v1/chat/completions -- [DeepSeek 官方API]这样做的好处是你无需修改 Codex 客户端的任何内部代码只需在客户端的设置中将 API 地址指向本地运行的 Moon Bridge 即可。2.2 方案二修改客户端 Hosts 或配置备选某些客户端允许直接配置 API Base URL。如果支持你可以直接将 Base URL 设置为https://api.deepseek.com。但很多 Codex 客户端特别是早期版本或某些集成版本可能固定了域名或做了其他限制此时 Moon Bridge 是更通用可靠的解决方案。3. 实战12分钟完成 DeepSeek 接入 Codex接下来我们进入最核心的实操环节。请按照步骤一步步操作。3.1 第一步获取并配置 DeepSeek API Key登录 DeepSeek 开放平台 。进入“API 密钥”管理页面。点击“创建新的 API 密钥”为其命名例如“My-Cursor”并复制生成的密钥字符串形如sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx。此密钥仅显示一次请妥善保存。3.2 第二步安装并启动 Moon Bridge 服务我们将使用 Node.js 来快速运行一个 Moon Bridge 服务。创建一个项目目录并初始化 打开终端执行以下命令# 创建一个专门目录 mkdir deepseek-codex-bridge cd deepseek-codex-bridge # 初始化 npm 项目一路回车即可 npm init -y安装所需依赖 我们需要express和axios来创建服务器和转发请求。npm install express axios创建 Moon Bridge 服务器脚本 在项目根目录下创建一个名为bridge.js的文件并用代码编辑器打开填入以下内容// bridge.js - Moon Bridge 简易实现 const express require(express); const axios require(axios); const app express(); const port 8080; // 本地监听端口可自定义 // 你的 DeepSeek API Key替换成你自己的 const DEEPSEEK_API_KEY sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; const DEEPSEEK_API_BASE https://api.deepseek.com; // 中间件解析 JSON 请求体 app.use(express.json()); // 处理所有转发到 /v1 路径下的请求 app.all(/v1/*, async (req, res) { const originalUrl req.originalUrl; const targetUrl ${DEEPSEEK_API_BASE}${originalUrl}; console.log([${new Date().toISOString()}] 转发请求: ${req.method} ${originalUrl}); try { const headers { Authorization: Bearer ${DEEPSEEK_API_KEY}, Content-Type: application/json, ...req.headers }; // 移除可能引起问题的 Host 头 delete headers[host]; const config { method: req.method, url: targetUrl, headers: headers, data: req.body, // 设置合理的超时时间 timeout: 120000 // 120秒 }; const response await axios(config); // 将 DeepSeek API 的响应头和数据原样返回给客户端 res.status(response.status).set(response.headers).send(response.data); } catch (error) { console.error(转发请求失败:, error.message); if (error.response) { // 如果 DeepSeek API 返回了错误将其传递回去 res.status(error.response.status).send(error.response.data); } else { res.status(500).send({ error: { message: Internal Bridge Error: error.message } }); } } }); // 健康检查端点 app.get(/health, (req, res) { res.send(Moon Bridge is running for DeepSeek.); }); app.listen(port, 127.0.0.1, () { console.log(✅ Moon Bridge 服务已启动监听于 http://127.0.0.1:${port}); console.log( 请在你的 Codex 客户端中将 API 地址设置为: http://127.0.0.1:${port}); console.log(⚠️ 请确保 bridge.js 文件中的 DEEPSEEK_API_KEY 已替换为你自己的密钥); });关键修改将第 8 行const DEEPSEEK_API_KEY sk-...;中的sk-...替换为你刚才复制的真实 API Key。启动 Bridge 服务 在终端中确保位于deepseek-codex-bridge目录下运行node bridge.js如果看到✅ Moon Bridge 服务已启动监听于 http://127.0.0.1:8080的输出说明服务启动成功。请保持这个终端窗口一直打开。3.3 第三步配置 Codex 客户端以 Cursor 为例不同的 Codex 客户端配置位置略有不同但核心都是修改其使用的 OpenAI API 的 Base URL。这里以目前非常流行的Cursor Editor为例。打开 Cursor Editor。进入设置。通常可以通过Ctrl/Cmd ,快捷键或者在菜单中找到Settings。在设置中搜索API或OpenAI相关选项。找到API URL或OpenAI Base URL的设置项。将原来的地址可能是https://api.openai.com修改为 Moon Bridge 的本地地址http://127.0.0.1:8080。注意此处是http而非https因为 Moon Bridge 运行在本地。找到API Key的设置项。此处可以填写任意非空字符串例如sk-dummy或not-needed。因为真正的鉴权是在 Moon Bridge 中用你的 DeepSeek API Key 完成的客户端发送的 Key 会被 Bridge 忽略并替换。但有些客户端校验该字段不能为空所以需要填一个占位符。保存设置。Cursor 可能会提示需要重启请重启 Cursor 使配置生效。3.4 第四步测试与验证服务已启动客户端已配置现在来测试是否成功。在 Cursor 中打开或创建一个代码文件如test.py。使用 Cursor 的 AI 功能。例如写一个注释描述你想实现的功能如# 写一个快速排序函数然后按Ctrl/Cmd K让 AI 生成代码。或者直接选中一段代码按Ctrl/Cmd L让 AI 解释它。观察Moon Bridge 终端窗口应该能看到类似[时间] 转发请求: POST /v1/chat/completions的日志表示请求已被成功转发。Cursor 界面应该能正常收到 AI 返回的代码或解释响应速度取决于 DeepSeek 的当前状态。如果成功生成代码或得到解释恭喜你DeepSeek 已成功接入 Codex4. 常见问题与排查指南 (FAQ)在配置过程中你可能会遇到一些问题。以下是常见问题的排查思路。问题现象可能原因解决方案Moon Bridge 启动失败1. 端口被占用。2. Node.js 未安装或版本过低。3.bridge.js文件中的 API Key 格式错误。1. 在bridge.js中修改port为其他值如8090并同步修改客户端配置。2. 运行node --version检查确保版本 ≥ 16。3. 仔细检查 API Key 是否完整复制并确保在字符串引号内。Cursor 提示 “Invalid API Key” 或 “Authentication Error”1. Moon Bridge 服务未运行。2. 客户端配置的 API URL 错误。3. Bridge 脚本中的 DeepSeek API Key 无效或额度用尽。1. 检查运行node bridge.js的终端是否正常是否有错误日志。2. 确认 Cursor 中设置的 API URL 是http://127.0.0.1:8080端口与 Bridge 一致。3. 登录 DeepSeek 平台检查 API Key 状态和剩余额度。AI 响应缓慢或无响应1. DeepSeek API 服务器繁忙。2. 本地网络问题。3. Bridge 脚本超时时间设置过短。1. 稍后重试或检查 DeepSeek 官方状态。2. 尝试在浏览器中直接访问https://api.deepseek.com看是否通畅。3. 可尝试将bridge.js中timeout值增大。Cursor 无法触发 AI 功能1. Cursor 的 AI 功能快捷键被修改或禁用。2. Cursor 版本过旧不支持自定义 API。1. 检查 Cursor 设置中的Keyboard Shortcuts确认Ctrl/CmdK和Ctrl/CmdL的绑定。2. 更新 Cursor 到最新版本。Bridge 日志显示 401/403 错误DeepSeek API Key 认证失败。1.确保 Key 以sk-开头。2. 在 DeepSeek 平台确认该 Key 是否被禁用或删除。3. 重新创建一个新的 API Key 并更新到bridge.js中。其他客户端如 Claude Code如何配置原理相同找到自定义 API 端口的设置即可。在 Claude Code 的设置中寻找类似 “Custom API Endpoint” 或 “Local Server” 的选项将其设置为http://127.0.0.1:8080。同样API Key 字段填写占位符。5. 进阶配置与最佳实践基础功能打通后你可以考虑以下优化让使用体验更稳定、更安全。5.1 使用环境变量管理 API Key将 API Key 硬编码在脚本中不安全也不利于分享代码。推荐使用环境变量。在项目根目录创建.env文件# .env DEEPSEEK_API_KEYsk-你的真实API密钥 BRIDGE_PORT8080安装dotenv包来读取环境变量npm install dotenv修改bridge.js文件开头require(dotenv).config(); // 新增这行 const express require(express); const axios require(axios); const app express(); const port process.env.BRIDGE_PORT || 8080; // 从环境变量读取 const DEEPSEEK_API_KEY process.env.DEEPSEEK_API_KEY; // 从环境变量读取 const DEEPSEEK_API_BASE https://api.deepseek.com; // ... 其余代码不变确保.env文件已被添加到.gitignore中避免密钥被提交到代码仓库。5.2 将 Bridge 服务设置为后台进程或系统服务你不可能永远开着终端窗口。可以将其设置为后台服务。使用 PM2推荐一个强大的 Node.js 进程管理器。# 全局安装 PM2 npm install -g pm2 # 使用 PM2 启动 bridge.js pm2 start bridge.js --name deepseek-bridge # 设置开机自启 pm2 startup pm2 save之后你可以通过pm2 status查看状态pm2 logs deepseek-bridge查看日志pm2 stop deepseek-bridge停止服务。对于 macOS/Linux可以使用nohup或创建 systemd 服务。对于 Windows可以创建计划任务或使用nssm将其注册为系统服务。5.3 模型选择与参数调优在向 DeepSeek 发送请求时默认使用的是其推荐的模型。你可以在客户端或 Bridge 中指定模型。DeepSeek 常用的代码模型是deepseek-coder系列。你可以在 Bridge 的转发逻辑中固定请求的model字段或者在客户端支持的情况下进行设置。例如在 Cursor 的某些设置中可能有Model选项尝试填写deepseek-coder。但请注意最终效果取决于客户端是否将此参数传递给 Bridge。5.4 安全提醒API Key 是最高机密它代表你的身份和额度。切勿泄露在公开场合如 GitHub、论坛。务必使用环境变量或安全的配置管理方式。本地 Bridge 的安全性由于服务运行在本地 (127.0.0.1)外部网络无法直接访问相对安全。但如果你修改了监听地址为0.0.0.0则会使服务暴露在局域网甚至公网请务必设置防火墙规则。监控使用量定期登录 DeepSeek 开放平台查看 API 调用情况和剩余额度避免意外超额。6. 总结与扩展思路通过以上步骤你已经成功搭建了一个本地代理将 Codex 客户端的请求无缝转发至 DeepSeek API实现了免费、高速的 AI 编程辅助。这套方案的核心优势在于低成本、易配置、对国内网络友好。回顾关键点核心原理利用本地反向代理Moon Bridge进行协议和地址转换。关键步骤获取 DeepSeek API Key - 编写/运行 Bridge 服务 - 配置客户端 API 地址。成功标志客户端能正常使用 AI 功能且 Bridge 终端有转发日志。扩展思考多模型路由你可以增强 Bridge 的逻辑根据请求内容或预设规则将请求转发给不同的 AI 提供商如 DeepSeek、Ollama 本地模型、GPT-SoVITS等实现一个“模型路由”。请求/响应日志与审计在 Bridge 中添加日志记录功能将所有的请求和响应保存到文件或数据库便于后续分析和优化提示词。负载均衡与容灾如果你有多个 DeepSeek 或其他模型的 API Key可以在 Bridge 中实现简单的负载均衡和失败重试机制提高服务的稳定性。现在你可以关闭这篇教程尽情享受 DeepSeek 大模型在 Codex 环境中带来的高效编程体验了。如果在使用过程中遇到新的问题不妨回头查看第四章的排查指南或深入探索 Bridge 脚本的代码理解其工作原理后你将能轻松应对更多定制化需求。