Как установить DeepSeek в OpenAI Codex (CLI, ChatGPT Desktop, VS Code)
Полноценное практическое руководство: как подключить модели deepseek-flash и deepseek-v4-pro к официальным клиентам OpenAI Codex через нативную поддержку Responses API, снизить расходы на токены до 90%, сохранить историю официальных сессий и мгновенно переключаться между провайдерами.
Суть прорыва: почему DeepSeek работает в Codex без костылей?
Исторически кодинг-ассистенты OpenAI (включая автономный Codex CLI для терминала, десктопное приложение ChatGPT Desktop и официальное расширение Codex IDE для VS Code) были намертво привязаны к моделям OpenAI. Разработчикам приходилось платить по тарифам официального API либо использовать сторонние прокси-обертки, ломавшие потоковый вывод и инструменты редактирования файлов (patch tools).
Всё изменилось благодаря стандартизации протокола OpenAI Responses API (wire_api = "responses"). DeepSeek реализовал прямую нативную совместимость с Responses API на уровне своего эндпоинта https://api.deepseek.com/.
Codex CLI в терминале, десктопный ChatGPT и плагин для VS Code читают один и тот же файл конфигурации. Настроив его один раз, вы получаете DeepSeek во всей экосистеме.
Поддержка инструментов свободного патчинга (apply_patch_tool_type = "freeform") и параллельного вызова функций без потерь синтаксиса diff-блоков.
Модель deepseek-flash поддерживает входящую модальность ["text", "image"]: можно передавать скриншоты интерфейсов, ошибок сборки и макетов.
Диалоги по подписке ChatGPT и сторонние сессии API хранятся в разных пространствах. Ваша история диалогов OpenAI не перезаписывается и не исчезает.
При активной разработке в терминале агент сканирует десятки файлов, потребляя сотни тысяч токенов контекста в час. Модель deepseek-flash обходится всего в $0.14 за 1 млн входных токенов (кэшированные — еще дешевле) против $2.50+ у сопоставимых проприетарных моделей. Это позволяет держать сессии открытыми целый день без опасения сжечь месячный бюджет.
Автоматическая установка в 1 клик через официальный скрипт
Инженеры DeepSeek подготовили интерактивный скрипт установки, который автоматически создает каталог моделей, прописывает провайдера в config.toml, создает резервную копию и валидирует синтаксис.
Перед запуском убедитесь, что Codex CLI или ChatGPT Desktop уже установлены и были запущены хотя бы один раз, чтобы в системе была создана папка ~/.codex/.
1. Запуск для macOS и Linux
Откройте Терминал и выполните команду:
2. Запуск для Windows (PowerShell)
Запустите PowerShell от имени пользователя и вставьте команду:
3. Интерактивное меню скрипта
После запуска скрипт запросит ваш API-ключ DeepSeek и предложит выбрать действие:
- Пункт [1] (deepseek-flash): Рекомендуемый режим по умолчанию. Поддерживает зрение (vision), мгновенно отвечает, идеален для повседневной работы.
- Пункт [2] (deepseek-v4-pro): Флагманская модель с глубоким reasoning для сложных математических и архитектурных задач.
- Пункт [9] (Restore): Мгновенный откат. Восстанавливает ваши исходные файлы конфигурации из бэкапа.
Что скрипт делает под капотом?
Скрипт выполняет не просто слепую замену текста, а интеллектуальную санитарную обработку файла config.toml:
-
Резервное копирование: Создает папку
~/.codex/backup-deepseek/, куда сохраняет оригинальныйconfig.tomlи манифест изменений. -
Удаление конфликтующих параметров: Скрипт очищает параметры, которые вызывают ошибки 400 при обращении к DeepSeek:
profileиoss_provider— маскируют выбор стороннего провайдера;model_context_window— если задать вручную размер больше 1M, ломается триггер авто-компактификации;service_tierиmodel_reasoning_summary— устаревшие поля OpenAI, которые DeepSeek отклоняет со статусом 400 Bad Request.
-
Генерация
models.json: Создает манифест с объявлением двух моделей:deepseek-flashиdeepseek-v4-proсо строгими политиками усечения токенов и типом инструментаfreeform. -
Валидация через Python: Скрипт запускает внутренний парсер
tomllib, гарантируя отсутствие дубликатов ключей и битых синтаксических конструкций.
Ручная настройка (Manual Configuration)
Если вы работаете в закрытом CI/CD-контуре, на изолированном сервере или предпочитаете контролировать каждый байт конфигурации вручную, выполните три шага.
1 Получение API-ключа DeepSeek
Перейдите в DeepSeek Platform ↗, авторизуйтесь и создайте новый API Key. Скопируйте его (он начинается на sk-...).
2 Создание каталога моделей: ~/.codex/models.json
Создайте файл ~/.codex/models.json (если директория ~/.codex не существует, создайте её через mkdir -p ~/.codex) и вставьте следующее содержимое:
3 Редактирование конфига: ~/.codex/config.toml
Откройте или создайте файл ~/.codex/config.toml и вставьте следующую конфигурацию. Обязательно замените <YOUR_DEEPSEEK_API_KEY> на ваш реальный ключ:
Разбор ключевых полей config.toml
Понимание назначения каждого параметра убережет вас от неожиданных сбоев при обновлении клиентов Codex:
| Поле конфигурации | Значение | Назначение и инженерное обоснование |
|---|---|---|
model |
"deepseek-flash" или "deepseek-v4-pro" |
Модель по умолчанию. Должна строго совпадать со slug из файла models.json. |
model_provider |
"deepseek" |
Идентификатор секции поставщика модели (указывает на блок [model_providers.deepseek]). |
preferred_auth_methodforced_login_method |
"apikey""api" |
Отключает авторизацию через браузерную сессию ChatGPT и принудительно переводит клиент на API-токен. |
model_reasoning_effort |
"high" |
Глубина цепочки рассуждений (CoT). Значение high заставляет модель анализировать код глубже перед выводом правок. |
web_search |
"disabled" |
Встроенный веб-поиск OpenAI отключается, так как он не поддерживается сторонними провайдерами Responses API. |
model_catalog_json |
"~/.codex/models.json" |
Абсолютный или тильда-путь к манифесту возможностей модели (поддержка картинок, размер контекста, патчи). |
wire_api |
"responses" |
Протокол сетевого взаимодействия. Указывает клиенту использовать официальный стриминговый протокол Responses API. |
experimental_bearer_token |
"sk-..." |
Ваш API-ключ DeepSeek, передаваемый в заголовке Authorization: Bearer. |
Запуск и проверка во всех трех клиентах
После записи файлов все три клиента Codex готовы к работе. Никаких дополнительных настроек внутри самих приложений производить не требуется.
1. Codex CLI (Терминальный агент)
Перейдите в директорию любого вашего проекта и запустите команду codex:
Если в стартовом баннере отображается Model: deepseek-flash — конфигурация вступила в силу, и все команды исполняются через DeepSeek.
2. ChatGPT Desktop App
Десктопное приложение ChatGPT кэширует конфигурацию при старте. Чтобы применить изменения:
- Полностью закройте приложение: Нажмите
⌘Qна macOS (простое закрытие окна крестиком оставляет приложение работать в трее) или снимите процесс в Windows. - Запустите снова: В селекторе моделей появится пункт «Custom» либо название «DeepSeek-Flash» (в зависимости от версии сборки ChatGPT).
- Если отображается «Custom», активной рабочей моделью под капотом является именно
deepseek-flash.
3. Codex IDE Extension для VS Code
Официальное расширение Codex для VS Code использует то же самое хранилище ~/.codex/config.toml. Перезапустите окно VS Code (Developer: Reload Window), и ассистент начнет генерировать инлайн-код через DeepSeek.
Сохранность истории диалогов и легкий откат
Самое частое опасение разработчиков: «Не удалятся ли мои старые диалоги и контексты в ChatGPT после переключения на DeepSeek?»
Архитектура Codex разделяет базу данных истории сессий по методу аутентификации. Сессии, созданные через официальную подписку ChatGPT Plus/Team, и сессии, созданные через сторонний API (DeepSeek), хранятся в разных независимых группах.
Когда вы включаете forced_login_method = "api", клиент Codex просто переключает видимость на группу API-сессий. Ваши официальные диалоги остаются нетронутыми на диске.
Чтобы мгновенно вернуть всё в исходное состояние и снова увидеть свои чаты подписки ChatGPT:
- Снова запустите скрипт установки:
bash <(curl -fsSL https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.sh) - Выберите пункт меню [9] Restore default config.
- Перезапустите приложение ChatGPT (
⌘Q). Все официальные диалоги мгновенно появятся в боковой панели, а сессии DeepSeek перейдут в режим ожидания.
Частые ошибки и Troubleshooting (FAQ)
Причина: В файле config.toml остались старые параметры OpenAI: service_tier, model_context_window или model_reasoning_summary. DeepSeek отклоняет неизвестные служебные поля.
Решение: Удалите эти строки из ~/.codex/config.toml либо запустите скрипт установки повторно (он удалит их автоматически).
Причина: Клиент Codex не может найти или распарсить файл models.json.
Решение: Убедитесь, что в config.toml параметр model_catalog_json = "~/.codex/models.json" указывает на существующий файл, и в нем нет синтаксических ошибок JSON (лишних запятых).
Нюанс: Сам эндпоинт api.deepseek.com доступен глобально, однако клиенты ChatGPT Desktop и Codex CLI периодически обращаются к сервисам авторизации и телеметрии OpenAI, которые блокируют российские IP-адреса.
Решение: Используйте защищенный приватный SAGE VPN (на протоколах VLESS Reality / WireGuard) для бесперебойной синхронизации терминала и десктопных приложений.
Достаточно открыть ~/.codex/config.toml и заменить первую строчку на model = "deepseek-v4-pro". Сохраните файл и перезапустите codex в терминале.
Какую модель выбрать: Flash или V4 Pro?
DeepSeek предоставляет для Codex две ключевые модели с разной специализацией:
| Характеристика | deepseek-flash | deepseek-v4-pro |
|---|---|---|
| Основное назначение | Повседневный быстрый кодинг, написание тестов, правка компонентов | Сложный рефакторинг архитектуры, отладка concurrency, тяжелые алгоритмы |
| Поддержка изображений (Vision) | ✓ Да (text + image) | Только текст (text only) |
| Скорость отклика | Мгновенная генерация (высокий TPS) | Глубокая цепочка reasoning перед выводом |
| Стоимость токенов | Минимальная ($0.14 / 1M) | Экономичная ($0.28 / 1M) |
| Рекомендация | Выбор по умолчанию для 90% задач | Для тяжелых исследовательских задач |
Автоматизируйте разработку
в вашей команде
Помогаю компаниям и разработчикам выстраивать автономные агентные контуры: внедрение терминальных агентов, настройка MCP-серверов, кастомные харнессы и интеграция локальных/облачных LLM в CI/CD.