☰
Codex CLI 手动接入 DeepSeek:配置与问题排查指南
2026/9/30 6:41:58 网站建设 项目流程

Codex CLI 接入 DeepSeek 是一个典型的“改配置文件接入第三方 OpenAI 兼容服务”的用例。很多开发者看到网上流传的“Codex 一键连接器”教程,以为必须借助某个封装好的脚本才能完成接入,实际上 Codex CLI 本身就是本地终端工具,模型接口、模型名称和 API Key 都可以通过~/.codex/config.toml手动指定。理解了这一层,你就能自己完成 DeepSeek 的接入,也能在“Codex 设置中文没反应”“unable to locate the codex cli binary”这类问题出现时,按照配置和日志逐层定位。

接下来的内容会从零开始:安装 Codex CLI,申请 DeepSeek API Key,编写最小配置,验证请求是否真正发往 DeepSeek,再重点处理两个高频问题——中文输出不生效和启动时找不到 codex 可执行文件。最后会提供一份错误速查表和日常使用建议,方便日后遇到同类问题时直接查阅。

需要先说明的是,Codex CLI 版本迭代很快,下面的命令和配置是撰写阶段常见的写法,但具体到你的版本,应该以官方 README 和当前版本的config.example.toml为准。如果出现字段名不一致的情况,优先参考官方示例。

1. 为什么要手动配置 Codex CLI,而不是依赖“一键连接器”

1.1 Codex CLI 到底是什么

Codex CLI 是一个运行在终端里的 AI 编程代理。使用者用自然语言描述需求,Codex CLI 会读取本地文件、分析项目结构、执行命令,并逐步生成修改建议。它和网页版聊天工具的区别在于,它直接与本地开发环境深度绑定,能把一次任务拆成多次工具调用,再根据执行结果继续迭代。

从架构上看,Codex CLI 只负责交互、工具调用和上下文管理,真正回答问题的是后端模型服务。默认情况下后端是 OpenAI 官方接口,但接口本身没有绑定死,配置文件可以指定另一个模型提供者。这就是 DeepSeek 能够接入的基础。

1.2 为什么 DeepSeek 可以接入 Codex CLI

DeepSeek 的 API 在设计上兼容 OpenAI 的 Chat Completions 请求格式。对 Codex CLI 来说,它只需要知道三件事:请求发到哪里、使用哪个模型、用什么凭证。这三件事分别对应配置里的base_url、model和env_key。只要提供者支持 OpenAI 兼容协议,就可以接入。

这也是很多“一键连接器”能工作的原理:它们没有做任何魔法,绝大多数只是提前帮你把配置文件写好,有些还会增加一层转发服务。问题是转发服务不可控,你无法确定 API Key 是否会被转发方记录。自己手动配置,不仅不复杂,而且链路透明,所有请求都直接发给 DeepSeek 官方接口。

1.3 对“零成本、不限量、跳过登录”这类说法的判断

看到“零成本使用 Codex 算力”“无需充值跳过鉴权”这类表述时要特别谨慎。DeepSeek 官方 API 是按 token 计费的,接口鉴权依赖有效 API Key,不存在真正意义上的免费无限量额度。任何第三方提供的免费转发端点,都可能存在以下风险:

  • API Key 被转发服务截获。
  • 请求内容被第三方记录。
  • 接口地址和模型名临时变化,导致接入不稳定。
  • 服务商随时可能关闭,影响正在进行的任务。

因此,这篇文章只讨论“使用你自己的 DeepSeek API Key,通过官方接口完成接入”这一种安全可控的方式。你不需要把 Key 交给任何第三方工具。

2. 环境准备:安装 Codex CLI 并验证 DeepSeek API 可用性

2.1 安装 Codex CLI

在开始之前,先确认机器上有 Node.js 或 Homebrew 环境。安装 Codex CLI 的常见方式是 npm 全局安装:

npm install -g @openai/codex

macOS 用户也可以使用 Homebrew:

brew install codex

安装完成后,执行:

codex --version

如果终端能输出版本号,说明 CLI 已经进入 PATH。如果提示command not found,说明 npm 或 Homebrew 的全局 bin 目录没有被加入 PATH。此时不要在项目目录里反复重装,而是检查全局路径。

在 macOS/Linux 下可以执行:

npm prefix -g

这条命令会输出 npm 全局目录地址。假设输出是/usr/local,那么可执行文件通常位于/usr/local/bin,检查这个目录是否在 PATH 中:

echo $PATH

把缺失路径加入 PATH 后,重新打开终端再验证一遍。Windows 用户可以在 PowerShell 中使用where.exe codex查看可执行文件位置,并检查当前用户环境变量中的 PATH。

2.2 获取 DeepSeek API Key

使用 DeepSeek 服务需要到 DeepSeek 开放平台注册账号,然后在控制台创建 API Key。创建时通常会要求选择计费方式,并保证账户有足够余额。Key 在首次创建时只会完整显示一次,之后无法从页面再次查看,所以要在创建后立即复制。

一个可靠的验证方式是直接调用模型列表接口,确认 Key 有效:

export DEEPSEEK_API_KEY="sk-你的key" curl -sS https://api.deepseek.com/v1/models \ -H "Authorization: Bearer $DEEPSEEK_API_KEY"

如果返回包含模型信息的 JSON 数据,说明 Key 可用。如果返回 401,重点检查 Key 是否复制完整,是否包含多余空格或换行。如果请求超时,则说明本机网络无法稳定访问api.deepseek.com,需要先解决网络问题,这一步不能被跳过。

2.3 配置环境变量

为了避免把 API Key 写进配置文件后传到代码仓库,推荐使用环境变量来管理。macOS/Linux 用户可以在~/.zshrc或~/.bashrc中追加:

export DEEPSEEK_API_KEY="sk-你的key"

Windows 用户可以在 PowerShell 中设置当前用户环境变量:

[System.Environment]::SetEnvironmentVariable('DEEPSEEK_API_KEY', 'sk-你的key', 'User')

配置完成后重新打开终端,执行检查命令:

echo ${#DEEPSEEK_API_KEY}

这条命令会输出环境变量的长度。如果输出为 0,说明变量没有生效;如果输出大于 0,再确认长度是否和 Key 的实际长度一致。这里不要直接echo $DEEPSEEK_API_KEY把 Key 打印出来,防止终端记录历史中被别人看到。

下面用表格汇总基础环境要求:

项目要求说明
操作系统macOS / Linux / WindowsCodex CLI 支持主流桌面系统
运行时Node.js 或 Homebrewnpm 安装方式需要 Node.js
终端支持 UTF-8 编码中文显示依赖终端编码
DeepSeek API Key可用且余额充足按 token 计费,需要预充值
网络可访问 api.deepseek.com内网或受限网络需要先解决访问链路

3. 编写 config.toml,完成 DeepSeek 接入

3.1 配置文件位置和基本结构

Codex CLI 使用 TOML 文件保存配置。默认路径是:

  • macOS/Linux:~/.codex/config.toml
  • Windows:%USERPROFILE%\.codex\config.toml

如果.codex目录不存在,先创建:

mkdir -p ~/.codex

配置文件里通常由多张表组成。模型提供者定义在一个叫model_providers的映射中,每个提供者有名字、地址和密钥环境变量三个核心属性。下面是一份可以直接复制的最简配置:

model = "deepseek-chat" model_provider = "deepseek" [model_providers.deepseek] name = "DeepSeek" base_url = "https://api.deepseek.com/v1" env_key = "DEEPSEEK_API_KEY"

这段配置的逻辑是:Codex CLI 先读model_provider,得知要使用名为deepseek的提供者;然后到model_providers表里找到deepseek的定义;最后在发起请求时,从env_key指定的环境变量中读取 API Key。

3.2 每个字段都代表什么

字段作用常见错误
model指定使用的模型名,会拼进请求体写成展示名称而不是 API 模型名
model_provider指定使用哪一组提供者配置忘记配置该项,仍走默认 OpenAI
name提供者的展示名称,仅用于日志和显示写错不影响请求,但不利于排查
base_url请求路径的基础地址多写/chat/completions或漏写/v1
env_key从哪个环境变量读取 Key设成DEEPSEEK_API_KEY但环境变量名不同

base_url是这一段最容易出错的地方。Codex CLI 在发起请求时会在基础地址后面拼接出完整的 API 路径。常见目标是https://api.deepseek.com/v1,请求最终会访问https://api.deepseek.com/v1/chat/completions。如果你在base_url里手动写上了chat/completions,最终 URL 就会变成双重路径,服务端必然返回 404。正确做法是只保留到/v1。

3.3 模型名和提供者名需要特别注意

DeepSeek 开放平台通常提供多个模型。常见 API 模型名包括deepseek-chat和deepseek-reasoner,分别对应通用对话模型和带推理步骤的模型。具体模型名要以你从 DeepSeek 控制台看到的为准,不要根据旧文章猜。

model_provider不是固定

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询