Использование DeepSeek в Codex CLI: руководство по настройке V4 Flash / Pro
Настройте DeepSeek V4 Flash и Pro в Codex CLI через конечную точку Responses от APIMaster. Включает настройку ключа API, переключение моделей, тесты инструментов и устранение неполадок.
Может ли Codex CLI использовать DeepSeek? Наши тесты с Codex CLI 0.153.4 успешно использовали deepseek-v4-flash и deepseek-v4-pro через конечную точку Responses от APIMaster. Настройте пользовательского провайдера с базовым URL https://apimaster.ai/v1 и wire_api = "responses". Только OpenAI-совместимых Chat Completions недостаточно для этой конфигурации.
Последнее тестирование: 2026-09-07, Codex CLI 0.153.4, Linux. Обе модели вернули ожидаемый текст, вызвали инструмент оболочки для чтения локального тестового файла и ответили его содержимым. Все запуски завершились с кодом 0. Возникли предупреждения о метаданных и событиях потоковой передачи; см. устранение неполадок. Команды для Windows / macOS приведены для настройки, но тест выполнялся на Linux. Длительные сеансы, ввод изображений и сложные рабочие процессы кодирования не тестировались.
1. Подготовьте Codex и ваш ключ API
Установите Codex, следуя руководству по окружению и руководству по настройке Codex, затем проверьте:
codex --version
Создайте ключ API APIMaster с доступом к выбранной модели 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 собственное цитирование аргументов может отличаться; используйте PowerShell 7 или метод профиля ниже, если аргументы TOML отклоняются.
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 не имел встроенных метаданных для этих идентификаторов моделей и использовал резервные метаданные. Наши текстовые и инструментальные тесты завершились, но ограничения контекста и другие значения по умолчанию не следует рассматривать как проверенные возможности модели. |
| Ошибка парсинга списка моделей | Список моделей шлюза может отличаться от каталога метаданных 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 для этой настройки?
Этот пользовательский провайдер использует ваш ключ API APIMaster и квоту учетной записи. Он не использует квоту подписки ChatGPT. Проверьте маркетплейс моделей для актуальных тарифов API.
Могу ли я заявить о полной совместимости с Codex на основе этих тестов?
Проверенный объем — это короткий текстовый вывод и цикл инструмента чтения локального файла. Предупреждения выше остаются актуальными; длинноконтекстное поведение, каждый инструмент и каждый будущий выпуск CLI не покрыты.