
这次我们来看一个很实在的配置需求DeepSeek 一键接入 Codex。Codex 是 OpenAI 推出的命令行编程助手默认只走 OpenAI 官方模型但它的配置体系里预留了“自定义模型提供商”的接口。通过修改 Codex 的配置文件把请求转发到 DeepSeek API就能在 Codex 的命令行交互里使用 DeepSeek 模型来做代码生成、代码解释、代码重构甚至贴图识图。这个方案最大的吸引力是门槛低Codex CLI 本身是开源工具DeepSeek API 按调用量计费不需要本地 GPU不需要下载模型权重文件也不用关心 CUDA、显存、16G 内存这些本地部署的硬件问题。你需要的只是一台能跑 Node.js 的电脑和一个 DeepSeek API Key。本文会按“环境准备 - Codex CLI 安装 - DeepSeek 接入配置 - 功能测试含识图- API 批量调用 - 常见错误排查”的顺序展开。所有配置都给出可复制命令并标注了 Windows 和 macOS/Linux 的差异。适合正在找低价 API 编程助手方案、想把 DeepSeek 用到日常编码流程里的开发者。这里要提前说明一个概念Codex CLI 不是服务端它只是一个本地客户端真正的算力发生在 DeepSeek 的 API 服务端。所以你不需要在本地部署 DeepSeek 模型也不需要关心 50 系显卡、CUDA 版本这些本地部署问题。文章里的“本地部署”只指本地安装 Codex CLI 这个客户端程序。1. 核心能力速览先把结论放在最前面方便你快速判断这个方案值不值得试。能力项说明项目类型开源 CLI 编程助手 DeepSeek API 接入配置核心组件Codex CLI、DeepSeek API Key接入方式修改~/.codex/config.toml配置model_providers硬件要求低API 模式不需要本地 GPU 和大显存支持平台Windows / macOS / Linux是否支持 CPU支持本地只跑轻量客户端是否支持识图取决于后端模型是否开放视觉能力是否支持多轮对话支持但使用推理模型时需注意reasoning_content回传是否支持 API 调用支持Codex CLI 本身可自动化DeepSeek API 也可直接脚本调用是否支持批量任务支持通过命令行循环或脚本批量调用 API适合场景代码生成、代码解释、重构、测试用例编写、脚本化批处理从搜索材料来看真正影响体验的不是 Codex CLI 本身而是三件事API Key 能不能拿到、模型名配置对不对、推理模型的reasoning_content字段有没有被正确处理。后面第 5 节和第 9 节会重点展开。这里也需要说明一点目前社区里能看到 DeepSeek Harness、DeepSeek Hermes 这类第三方桌面工具它们主要用来管理系统配置、切换模型、记录请求日志并不是接入 Codex 的必要组件。下面这套流程不依赖任何第三方工具只使用官方 Codex CLI 和 DeepSeek API稳定性更容易保证。2. 适用场景与使用边界2.1 适合谁用想用 Codex 交互体验、但不想订阅 OpenAI 付费方案的用户可以改用 DeepSeek API 作为后端。已经注册了 DeepSeek API 的开发者想在命令行里快速做代码分析、代码生成。需要批量处理代码文件、批量生成测试用例、批量做代码审查脚本的自动化场景。没有独立 GPU 或不想折腾本地模型的普通开发者API 模式几乎零维护成本。2.2 不适合什么场景对数据隐私要求极高的企业项目所有代码片段、图片都会发送到 DeepSeek API 服务端敏感代码请先脱敏或者干脆不要用 API 方案。需要超长上下文和超级复杂推理能力的高难度任务DeepSeek 模型有自身上限API 模式也不是万能的。完全离线环境Codex CLI 本身需要联网访问 API 端点离线环境无法工作。2.3 合规与安全边界这部分必须强调接入 DeepSeek API 后所有输入内容都会离开本地。不要在对话里粘贴未脱敏的账号密码、内部 Token、客户隐私数据。上传图片做识图测试时也请确认图片素材来源合法不要拿未授权的人脸照片、版权图片去测试。涉及商业项目时先阅读 DeepSeek API 的条款确认数据使用范围和期限再决定是否把内部代码接进去。3. 环境准备与前置条件开始之前先确认环境。下面的清单是完整接入的最小前置条件检查项要求说明操作系统Windows 10/11、macOS、主流 Linux 发行版教程里命令区分 Windows 和 UnixNode.js建议 18 以上Codex CLI 依赖 Node.js 运行npm随 Node.js 安装用于安装openai/codexDeepSeek API Key必须在 DeepSeek 开放平台申请网络能访问api.deepseek.com本地无需 GPU 和额外端口磁盘空间安装 CLI 约几百 MB不需要下载模型权重如果你的电脑里还没有 Node.js可以到 Node.js 官网下载 LTS 版本安装完成后在终端验证node -v npm -vWindows 用户注意如果node -v提示找不到命令大概率是安装时没有勾选“Add to PATH”重装 Node.js 时把 PATH 选项勾上即可。DeepSeek API Key 的申请流程打开 DeepSeek 开放平台注册登录后进入 API Keys 页面点击创建新 Key复制保存。Key 只显示一次丢失后需要重新创建。拿到 Key 之后把它设置为环境变量这是后面 Codex 配置里会自动读取的认证方式# Windows PowerShell $env:DEEPSEEK_API_KEY 你的API Key# macOS / Linux export DEEPSEEK_API_KEY你的API Key环境变量设置后当前终端窗口内生效。如果你希望重启终端后仍然有效可以把它写入 PowerShell Profile 或.bashrc/.zshrc。4. Codex CLI 安装与启动4.1 安装 Codex CLI在终端执行npm install -g openai/codex安装完成后确认版本codex --version如果提示codex: command not found说明全局安装目录没有进入 PATH。常见解决方案Windows检查 npm 全局路径npm prefix -g通常类似C:\Users\你的用户名\AppData\Roaming\npm把该目录加入 PATH。macOS/Linux检查当前用户路径是否包含npm prefix -g目录。4.2 创建 Codex 配置目录Codex CLI 使用~/.codex/config.toml作为用户配置文件。Windows 下对应C:\Users\你的用户名\.codex\config.toml。mkdir -p ~/.codex如果是 Windows PowerShellNew-Item -ItemType Directory -Force -Path $HOME\.codex4.3 启动方式配置完成前不建议直接运行因为默认配置会走 OpenAI 官方模型没有 OpenAI 账号会认证失败。第 5 节完成 DeepSeek 配置后再启动。启动命令codexCodex 会进入全屏交互界面支持斜杠命令例如/help、/status、/quit。在交互界面里输入中文或英文任务描述Codex 会读取当前目录下的文件并开始处理。5. DeepSeek 接入 Codex 配置实战这一节是整个教程的核心。Codex CLI 的配置格式是 TOML我们需要自定义一个模型提供商然后把默认模型切到这个提供商。5.1 配置 model_providers用记事本或 VS Code 打开~/.codex/config.toml写入以下内容model deepseek/deepseek-chat model_providers { deepseek { name DeepSeek, base_url https://api.deepseek.com/v1, env_key DEEPSEEK_API_KEY, wire_api chat } }这段配置的含义model默认模型名。deepseek/deepseek-chat表示使用名为deepseek-chat的模型属于前面定义的deepseek提供商。model_providers定义自定义模型提供商。name提供商显示名。base_urlAPI 基础地址。DeepSeek 官方兼容 OpenAI 格式的端点就是https://api.deepseek.com/v1。env_key环境变量名。Codex 会读取该环境变量作为 API Key。wire_api协议类型。这里用chat表示走 Chat Completions 协议不要随意改成responses因为 DeepSeek API 不保证兼容 OpenAI 的 Responses 协议。保存配置文件后确认环境变量已设置然后启动 Codexcodex如果配置正确Codex 会直接进入交互界面说明 DeepSeek 接入成功。5.2 选择模型deepseek-chat 还是 deepseek-reasonerDeepSeek API 目前有两个常见的官方模型名模型名特点适合场景deepseek-chat通用对话模型响应快兼容性最好Codex 默认推荐deepseek-reasoner推理模型带思维链内容reasoning_content复杂编码任务但需处理额外字段对于 Codex 接入更稳妥的做法是先用deepseek-chat把流程跑通再考虑切换deepseek-reasoner。原因是Codex 是多轮对话工具会在后续请求中携带历史消息DeepSeek 官方要求使用deepseek-reasoner时必须把上一轮返回的reasoning_content原样传回否则 API 会返回 400 错误。如果 Codex 没有正确处理这个字段多轮对话就会出现类似下面的报错cc switch local proxy failed while handling codex endpoint /responses. provider: deepseek; model: deepseek-v4-flash; upstream_status: http 400; cause: the reasoning_content in the thinking mode must be passed back to the api.这个报错里的deepseek-v4-flash不是 DeepSeek 官方模型名而是某些第三方工具或本地代理里自定义的模型标识。遇到这种问题优先切换到deepseek-chat或者检查代理工具是否完整透传了reasoning_content。5.3 官方模型名和自定义模型名的区别搜索材料里出现了很多模型名例如deepseek-v4-flash、gpt-5.6-sol需要明确这些并不是 DeepSeek 官方 API 的模型名。官方模型名以 DeepSeek 开放平台文档为准。Codex 配置中的model字段必须填服务商真实支持的模型名否则会得到模型不存在或格式不支持的错误。如果在第三方代理中配置了类似gpt-5.6-sol的模型名Codex 又把这个名字传给了 DeepSeek API就会出现{detail:the gpt-5.6-sol model is not supported when using codex with a ...}排查思路很直接先查服务商到底支持哪些模型名再修改 Codex 的model配置让三处保持一致——Codex 配置的模型名、服务商 API 文档里的模型名、实际请求头里的模型名。6. 功能测试与效果验证配置完成后按下面几个维度做验证。建议先在干净的目录里做比如test-codex。6.1 基础对话测试启动 Codexcd test-codex codex在交互界面输入请读取当前目录下的文件列表并解释每个文件的作用。判断标准Codex 能正确列出目录文件。回复内容符合逻辑而不是直接报认证失败或模型不存在。如果这一步就报错优先检查 API Key、模型名和网络连通性。6.2 多轮代码修改测试在一个代码文件里故意写一个小 bug然后分两轮让 Codex 修复第一轮请查看 main.py告诉我里面可能存在的逻辑问题。第二轮请把发现的问题修复并保持其他功能不变。判断标准第二轮能引用第一轮的结论。生成的代码没有破坏原有结构。没有出现 400 错误。如果第二轮出现reasoning_content相关报错说明当前模型是推理模型且reasoning_content没有被正确回传建议切换到deepseek-chat。6.3 识图能力测试这是标题里强调的“支持识图”能力测试。Codex CLI 在部分版本中支持在对话中粘贴或引用图片最终能否识别取决于后端模型是否开放视觉能力。操作步骤准备一张本地测试图片例如screenshot.png。在 Codex 交互界面里根据当前版本能力发送图片有的版本支持直接把截图粘贴到输入框有的版本需要在提示词里引用图片路径。输入问题请描述这张图片里的主要内容。观察回复。判断标准如果模型支持视觉回复会描述图片中的对象、文字、布局。如果模型不支持视觉通常会出现“无法理解图片”“只支持文本输入”之类的提示或者请求报 400。需要特别提醒不要拿含个人隐私的截图、人脸照片做测试。图片素材先脱敏再使用。6.4 API 直连测试如果 Codex 交互界面有问题可以用 curl 直连 DeepSeek API快速确认问题出在 Codex 配置还是 API 本身curl https://api.deepseek.com/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer $DEEPSEEK_API_KEY \ -d { model: deepseek-chat, messages: [ {role: user, content: 用一句话介绍 Codex CLI} ] }返回 JSON 中包含choices数组说明 API Key 和网络都没有问题。如果返回 401说明 Key 无效如果返回 404 或 400说明模型名或请求格式有问题。7. 接口 API 与批量任务把 DeepSeek 接入 Codex 只是第一步。如果你需要批量处理文件可以绕开交互界面直接用脚本调用 DeepSeek API。7.1 批量代码审查脚本下面是一个 Python 示例脚本读取./inputs目录下的所有.py文件逐个发送给 DeepSeek API 做简单审查并把结果写入./outputsimport os import time import requests INPUT_DIR ./inputs OUTPUT_DIR ./outputs API_URL https://api.deepseek.com/v1/chat/completions API_KEY os.environ.get(DEEPSEEK_API_KEY, ) os.makedirs(OUTPUT_DIR, exist_okTrue) def review_code(filepath: str) - str: with open(filepath, r, encodingutf-8) as f: code f.read() payload { model: deepseek-chat, messages: [ {role: system, content: 你是一个严谨的代码审查助手请指出代码中的问题并给出修复建议。}, {role: user, content: code} ] } headers { Authorization: fBearer {API_KEY}, Content-Type: application/json } response requests.post(API_URL, jsonpayload, headersheaders, timeout120) response.raise_for_status() return response.json()[choices][0][message][content] for filename in os.listdir(INPUT_DIR): if not filename.endswith(.py): continue print(fprocessing {filename}) try: result review_code(os.path.join(INPUT_DIR, filename)) out_path os.path.join(OUTPUT_DIR, f{filename}.review.md) with open(out_path, w, encodingutf-8) as f: f.write(result) except Exception as e: print(ffailed {filename}: {e}) time.sleep(1) # 简单的限速避免触发频率限制使用前mkdir -p inputs outputs # 把待审查的 .py 文件放进 inputs python review_batch.py7.2 批量任务设计建议每个任务加独立日志输出目录按日期分文件夹。每个文件单独捕获异常单个失败不影响整批。添加简单的重试机制对超时和 5xx 错误做重试。控制并发数。API 服务通常有频率限制先用小批量测试再逐步扩大。7.3 接口返回结构和失败处理DeepSeek Chat Completions 接口的返回结构与 OpenAI 格式基本一致{ choices: [ { message: { role: assistant, content: 这里是回复内容 } } ] }如果使用deepseek-reasoner返回中会增加reasoning_content字段。在代码里可以通过如下方式读取assistant_content data[choices][0][message][content] reasoning_content data[choices][0][message].get(reasoning_content)下次请求如果要把这轮对话继续下去需要把assistant消息原样带回包括reasoning_content。这是许多第三方工具最容易踩坑的地方。8. 资源占用与性能观察8.1 本地资源占用API 模式下本地几乎不消耗 GPU 和显存。Codex CLI 主要占用的是终端进程的内存但总量远低于本地大模型推理所需的资源。如果使用了本地代理或第三方工具转发请求资源占用会略高但总体来说比本地部署大模型要轻量得多。8.2 影响响应速度的因素网络链路请求到api.deepseek.com的往返时延。输入上下文长度传给模型的文件越多、内容越长推理时间越长。模型类型deepseek-reasoner比deepseek-chat慢。API 服务负载高峰期可能变慢。8.3 如何观察和调优在 Codex 对话中观察提示词上下文长度和耗时。如果发现过于卡顿可以减少传入文件数量或者把大文件切分成小片段再提问。对批量脚本可以记录每次请求的耗时找出哪些文件调用时间异常长再决定是否拆分或降级模型。8.4 端口与进程Codex CLI 本身默认不监听端口所以不太存在端口冲突问题。但如果你用第三方 GUI 工具或本地代理服务转发请求就可能出现端口占用问题。遇到端口冲突时检查占用的进程并换端口或者直接停掉旧进程再重启。9. 常见问题与排查方法下面整理了从实际使用中频率较高的问题和排查方法。问题现象可能原因排查方式解决方案codex: command not foundnpm 全局目录未加入 PATHnpm prefix -g查看全局路径把路径加入环境变量 PATHunable to locate the codex cli binary. set codex cli path or ensure the elec...桌面端 GUI 工具找不到 Codex 可执行文件先在终端确认codex --version可用查看 GUI 设置中的 Codex 路径在 GUI 设置里手动指定 codex 路径或设置codex_cli_pathChat Completions 调用返回 401API Key 无效或未设置检查环境变量$DEEPSEEK_API_KEY是否已导出重新创建 API Key确认环境变量在启动前已设置调用返回 400model not foundCodex 配置的模型名不是服务商支持的模型名