APIMaster.ai

在 Codex CLI 中使用 DeepSeek V4 Flash / Pro

通过 APIMaster 的 Responses 端点,在 Codex CLI 中配置 DeepSeek V4 Flash 和 Pro。包括 API 密钥设置、模型切换、工具测试和故障排除。

Codex CLI 能否使用 DeepSeek?我们使用 Codex CLI 0.153.4 进行的测试,通过 APIMaster 的 Responses 端点成功使用了 deepseek-v4-flashdeepseek-v4-pro 配置一个自定义提供程序,基础 URL 为 https://apimaster.ai/v1wire_api = "responses"。仅使用 OpenAI 兼容的 Chat Completions 不足以满足此配置。

实测日期:2026-09-07,Codex CLI 0.153.4,Linux。两个模型均返回了预期文本,调用了 shell 工具读取本地测试文件,并以其内容作答。所有运行均以退出代码 0 结束。出现了元数据和流式事件警告;请参阅故障排除。提供了 Windows / macOS 命令用于设置,但此测试在 Linux 上运行。未测试长时间会话、图像输入和复杂编码工作流。

1. 准备 Codex 和您的 API 密钥

按照环境指南Codex 设置指南安装 Codex,然后检查:

codex --version

创建一个APIMaster API 密钥,该密钥具有对所选 DeepSeek 模型的访问权限和足够的配额。对于本教程,请使用下面的专用配置;您无需替换现有的 auth.json 或退出其他账户。

2. 在终端中设置密钥

macOS / Linux:

export APIMASTER_API_KEY='YOUR_APIMASTER_API_KEY'

Windows PowerShell:

$env:APIMASTER_API_KEY = 'YOUR_APIMASTER_API_KEY'

该变量仅存在于当前终端会话中。配置存储的是变量名,而不是密钥本身。

3. 创建单独的提供程序配置

在您用于本教程的目录中,创建包含以下内容的 deepseek.toml。保持您现有的 Codex 配置不变。

model = "deepseek-v4-flash"
model_provider = "apimaster_deepseek"

[model_providers.apimaster_deepseek]
name = "APIMaster DeepSeek"
base_url = "https://apimaster.ai/v1"
env_key = "APIMASTER_API_KEY"
wire_api = "responses"

对于可复制、隔离的首次测试,请将相同的设置作为命令行覆盖传递。--ignore-user-config 可防止您正常配置中的其他提供程序优先。--ephemeral 避免保存此测试会话。

codex exec --ignore-user-config --ephemeral --skip-git-repo-check --sandbox read-only --model deepseek-v4-flash -c 'model_provider="apimaster_deepseek"' -c 'model_providers.apimaster_deepseek.name="APIMaster DeepSeek"' -c 'model_providers.apimaster_deepseek.base_url="https://apimaster.ai/v1"' -c 'model_providers.apimaster_deepseek.env_key="APIMASTER_API_KEY"' -c 'model_providers.apimaster_deepseek.wire_api="responses"' "Reply with exactly: DEEPSEEK_TEST_OK"

在您设置密钥的终端中运行该命令。预期最终答案:DEEPSEEK_TEST_OK。在较旧的 Windows PowerShell 版本中,本机参数引用可能不同;如果 TOML 参数被拒绝,请使用 PowerShell 7 或下面的配置文件方法。

4. 将配置保存为可重用的配置文件

对于测试的 CLI 版本,将 deepseek.toml 放置在 ~/.codex/deepseek.config.toml(Windows:%USERPROFILE%\.codex\deepseek.config.toml)。如果自定义了 CODEX_HOME,请使用该目录。此命名配置文件将 DeepSeek 设置与您的正常 config.toml 分开。

macOS / Linux,从包含 deepseek.toml 的目录:

mkdir -p ~/.codex
cp deepseek.toml ~/.codex/deepseek.config.toml
codex --profile deepseek --model deepseek-v4-flash

Windows PowerShell:

New-Item -ItemType Directory -Force "$env:USERPROFILE\.codex" | Out-Null
Copy-Item .\deepseek.toml "$env:USERPROFILE\.codex\deepseek.config.toml"
codex --profile deepseek --model deepseek-v4-flash

如果该文件名已存在,请先备份配置文件。配置文件语法取决于版本:这些命令针对 0.153.4。请检查您安装版本的 codex --help;较旧的版本可能使用 config.toml 中的配置文件。

要使用 Pro:

codex --profile deepseek --model deepseek-v4-pro

配置文件会叠加在您的正常配置之上,因此现有的 MCP 服务器或其他设置可能仍然适用。步骤 3 中的隔离命令在诊断配置冲突时很有用。

5. 验证工具调用

创建一个名为 probe.txt 的本地文件,内容为:

TOOL_PROBE_739182

从同一目录运行:

codex exec --profile deepseek --skip-git-repo-check --sandbox read-only --model deepseek-v4-flash "Use your file reading or shell tool to read probe.txt in the current directory. Reply with only the exact content. Do not guess."

预期:文件读取命令成功执行,随后是 TOOL_PROBE_739182。使用 --model deepseek-v4-pro 重复。这检查了工具请求/工具结果的往返,而不仅仅是简单的文本响应。在实际项目工作中,请保持正常的权限提示启用。

故障排除

症状 解释或下一步
Model metadata ... not found 测试的 CLI 没有这些模型 ID 的内置元数据,并使用了回退元数据。我们的文本和工具测试已完成,但上下文限制和其他默认值不应被视为已验证的模型能力。
模型列表解析错误 网关的模型列表可能与 Codex 的元数据目录不同。显式指定模型,并检查实际请求是否完成。
OutputTextDelta without active item 在我们的流式测试中出现。最终响应和工具往返仍然完成。如果输出丢失或中断,请保留 CLI 版本、时间戳和错误以获取支持。
401 或请求转到其他提供程序 检查 APIMASTER_API_KEY、提供程序选择和继承的设置。重试步骤 3 中的隔离命令。
404 或协议不受支持 基础 URL 以 /v1 结尾,而不是 /chat/completions;设置 wire_api = "responses"
未知的命令行选项 检查已安装的 CLI 版本。文档中的选项已使用 0.153.4 测试。

常见问题解答

这是否意味着每个 DeepSeek 端点都可以在 Codex 中使用?

不。这些结果适用于 APIMaster 的网关配置。提供程序必须支持 Codex 期望的协议和工具行为;接受 /chat/completions 并不能建立 Responses 兼容性。

此设置是否需要 ChatGPT 订阅?

此自定义提供程序使用您的 APIMaster API 密钥和账户配额。它不使用 ChatGPT 订阅配额。请查看模型广场了解当前的 API 费率。

我可以从这些测试中声称完全兼容 Codex 吗?

验证的范围是短文本输出和本地文件读取工具往返。上述警告仍然相关;未涵盖长上下文行为、每个工具以及每个未来的 CLI 版本。

继续使用 DeepSeek