给 Codex 配置 DeepSeek 模型——小白也能照做的完整步骤
Codex 是 OpenAI 推出的 AI 编程助手,装在命令行或桌面应用里,用自然语言让它改代码、跑命令。它默认使用 OpenAI 的模型,需要 ChatGPT 付费订阅或 OpenAI 的 API Key。
DeepSeek 是国内的大模型,价格比 OpenAI 低很多。从 2026 年 7 月底开始,DeepSeek 官方直接支持了 Codex 使用的通信协议,因此可以把 Codex 背后的模型换成 DeepSeek,界面和用法不变,只换背后运行的实际模型。
需要准备三样东西
第一,装好 Codex 并至少启动过一次。启动一次会生成配置目录 ~/.codex,Windows 上对应 C:\Users\你的用户名\.codex,后续配置都写在这里。
第二,注册 DeepSeek 并拿到 API Key。打开 platform.deepseek.com,注册登录后在左侧「API Keys」创建新密钥。密钥是一串 sk- 开头的字符,创建后只显示一次,务必立刻保存。
第三,记住两个配置文件的用途。~/.codex/config.toml 告诉 Codex 用哪个模型、连哪个地址、用哪把密钥。~/.codex/models.json 描述模型的能力,比如上下文长度、能否看图、支持哪些推理档位。
做法一 官方一键脚本
DeepSeek 官方提供了一键脚本,会自动备份旧配置、写入上述两个文件并做语法检查。打开终端执行。
macOS 和 Linux
bash <(curl -fsSL https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.sh)
Windows PowerShell
irm https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.ps1 | iex
脚本第一次运行会问 API Key 和选哪个模型,按提示填写即可。执行前先把 ~/.codex/config.toml 复制一份留作备份,脚本本身也会在 backup-deepseek 目录保留一份原始配置。
做法二 手动改两个文件
想看清楚每一步改了什么,可以手动操作,一共两步。
第一步,新建 ~/.codex/models.json。这个文件描述模型能力,官方模板字段较多,最简单的方式是运行上面的官方脚本让它自动生成,也可以打开 DeepSeek 官方文档的 Codex 接入页复制全文。下面给出精简版,保留了 Codex 判断模型能力所需的关键字段。
{
"models": [
{
"slug": "deepseek-flash",
"display_name": "DeepSeek-Flash",
"description": "Latest frontier agentic coding model with image input.",
"context_window": 1048576,
"max_context_window": 1048576,
"input_modalities": ["text", "image"],
"default_reasoning_level": "high",
"supported_reasoning_levels": [
{ "effort": "low", "description": "Fast responses with lighter reasoning" },
{ "effort": "high", "description": "Extra high reasoning depth for complex problems" },
{ "effort": "max", "description": "Maximum reasoning depth for the hardest problems" }
],
"apply_patch_tool_type": "freeform",
"shell_type": "shell_command",
"minimal_client_version": "0.144.0",
"supported_in_api": true
}
]
}
第二步,打开 ~/.codex/config.toml,在文件最上面写入模型相关设置,在文件末尾写入连接设置。
model = "deepseek-flash"
model_provider = "deepseek"
preferred_auth_method = "apikey"
forced_login_method = "api"
model_reasoning_effort = "high"
model_catalog_json = "C:/Users/你的用户名/.codex/models.json"
web_search = "disabled"
show_raw_agent_reasoning = true
[model_providers.deepseek]
name = "deepseek"
base_url = "https://api.deepseek.com/"
wire_api = "responses"
experimental_bearer_token = "sk-你的密钥"
其中两处要替换成自己的值。model_catalog_json 那一行指向第一步生成的 models.json 的完整路径,Windows 上写 C:/Users/你的用户名/.codex/models.json,macOS 和 Linux 上可以写 ~/.codex/models.json。experimental_bearer_token 那一行填入你的 API Key,两边的双引号保留。
最容易出错的一点
旧教程大多写 wire_api = "chat",这是过时写法。现在的 Codex 版本已经不再支持 chat 协议,照旧教程写 chat 会直接启动失败。DeepSeek 当前支持的是 responses 协议,所以这里必须写 wire_api = "responses"。看到旧教程让写 chat 的,直接跳过。
验证有没有成功
保存后重新打开 Codex,命令行就重开终端,桌面应用就退出重进。启动时显示的信息里出现下面两行即成功。
model: deepseek-flash
provider: deepseek
再随便让它做一件小事,比如读一个文件并说明它讲了什么,能正常回答即可。
习惯命令行的用户,可以再测一下 DeepSeek 接口本身。在 Git Bash 或 macOS、Linux 终端执行,Windows PowerShell 用户可跳过这条。
curl -sS https://api.deepseek.com/responses \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-flash","input":"只回复两个字 正常"}'
返回结果里出现 "status":"completed" 和文字回复,说明密钥和模型都正常。实测这一步会返回 HTTP 200。
想换回原来的模型
把 config.toml 最上面的 model = "deepseek-flash" 改回原来的模型名即可。之前用 OpenAI 账号产生的会话记录不会丢,只是和 DeepSeek 的会话分开存放,换回来后仍能看到。

浙公网安备 33010602011771号