
Codex CLI с пользовательским провайдером: config.toml, модели GPT и Claude, расширение для IDE и исправления
Codex читает один файл, ~/.codex/config.toml, общий для CLI, codex exec и расширения для IDE. Пользовательский провайдер в этом файле направляет Codex на этот шлюз, где одна и та же конфигурация позволяет запускать модели GPT и Claude. Текущие версии Codex работают только с Responses API (wire_api = "responses"), поэтому старые руководства, в которых используется wire_api = "chat" больше не работают.
Установите Codex
# macOS / Linux
curl -fsSL https://chatgpt.com/codex/install.sh | sh
# or with a package manager
npm install -g @openai/codex
brew install --cask codex
codex --versionpowershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"Расширение Codex для VS Code, Cursor и Windsurf устанавливается из магазина расширений редактора и использует тот же ~/.codex/config.toml что и CLI, поэтому всё описанное ниже относится к обоим вариантам.
Используйте ключ из нужной группы
Ключ шлюза относится к одной группе, и эта группа определяет, какие модели можно вызывать с помощью ключа. Для моделей GPT создайте ключ в группе **Codex** в панели управления. Для моделей Claude подойдёт любой ключ Claude с оплатой по мере использования. Для ключа из безлимитной группы нужен активный тариф; без него каждый запрос завершается ошибкой No active subscription found for this group.
export AIPRIME_CODEX_KEY=key_from_the_codex_group # GPT models
export AIPRIME_CLAUDE_KEY=key_from_a_claude_group # Claude modelssetx AIPRIME_CODEX_KEY "key_from_the_codex_group"
setx AIPRIME_CLAUDE_KEY "key_from_a_claude_group"
# open a new terminal afterwardsconfig.toml для моделей GPT
model_provider = "aiprime"
model = "gpt-6-astra"
model_reasoning_effort = "high"
[model_providers.aiprime]
name = "AI Prime Tech"
base_url = "https://aiprimetech.io/v1"
env_key = "AIPRIME_CODEX_KEY"
wire_api = "responses"
supports_websockets = false| Настройка | Почему |
|---|---|
[model_providers.aiprime] | Любой идентификатор, кроме зарезервированного openai, ollama и lmstudio |
base_url = "https://aiprimetech.io/v1" | Codex добавляет /responses к нему |
env_key | **Имя** переменной окружения, которая содержит ключ, а не сам ключ |
wire_api = "responses" | Единственное значение, которое принимает текущая версия Codex |
supports_websockets = false | Оставляет Codex на обычной потоковой передаче HTTP, которая работает через любой прокси или VPN |
requires_openai_auth = true или experimental_bearer_token для этого провайдера. При requires_openai_auth = true Codex игнорирует env_key и вместо этого отправляет данные авторизации ChatGPT или OpenAI, которые шлюз отклоняет.Запускайте Codex с моделями Claude
Шлюз принимает запросы Responses API для моделей Claude и преобразует их, поэтому Codex может работать и с Claude. Добавьте второго провайдера, использующего ваш ключ Claude, а затем профиль для переключения на него.
[model_providers.aiprime_claude]
name = "AI Prime Tech (Claude)"
base_url = "https://aiprimetech.io/v1"
env_key = "AIPRIME_CLAUDE_KEY"
wire_api = "responses"
supports_websockets = falsemodel_provider = "aiprime_claude"
model = "claude-sonnet-5"
model_reasoning_effort = "high"codex --profile claude
codex exec --profile claude "review the last commit for bugs"Начиная с Codex 0.134.0 профиль хранится в отдельном файле, ~/.codex/<name>.config.toml, с ключами на верхнем уровне; [profiles.<name>] таблицы внутри config.toml больше не читаются. Профили и провайдеры можно задавать только в пользовательской конфигурации: файл проекта .codex/config.toml игнорирует model_provider и model_providers.
Модели и интенсивность рассуждений
| Идентификатор модели | Провайдер | Для каких задач |
|---|---|---|
gpt-6-astra | Ключ группы Codex | Самая мощная модель GPT на шлюзе; длительные задачи агента |
gpt-6-sol | Ключ группы Codex | Более быстрая и дешёвая модель GPT для повседневного программирования |
gpt-5.6-terra | Ключ группы Codex | Простые задачи и быстрые правки |
claude-sonnet-5 | Ключ Claude | Модель Claude по умолчанию для программирования |
claude-opus-5-5 | Ключ Claude | Более сложные рассуждения и масштабный рефакторинг |
claude-fable-5-1 | Ключ Claude | Самая функциональная и самая дорогая |
model_reasoning_effort принимает low, medium, high, xhigh или max, в зависимости от модели. Не задавайте none: эти модели отклоняют это значение с ошибкой 'none' is not supported. review_model задаёт другую модель для /review если это нужно. В панели управления отображаются все модели, доступные группе вашего ключа.
Расширение для IDE и codex exec
Расширение для IDE читает тот же config.toml, но env_key берётся из собственного окружения редактора. Редактор, запущенный из Dock или меню «Пуск», не видит переменные, экспортированные в .bashrc, и тогда Codex завершается с ошибкой Invalid API key хотя CLI работает. Задайте переменную на уровне системы (в Windows setx делает это) или запустите редактор из терминала, например code ..
codex exec выполняет одну задачу без интерактивного интерфейса, что подходит для скриптов и CI. Используются те же конфигурация и профили:
codex exec "write unit tests for utils.py"
codex exec --profile claude "summarise the changes on this branch"
codex login status # which authentication method is activeПовторные попытки и тайм-ауты
У каждого провайдера свои настройки повторных запросов и потоковой передачи. По умолчанию выполняется 4 повторных попыток запроса, 5 повторных подключений к потоку, а тайм-аут бездействия каждого потока составляет 5 мин. Длительные этапы рассуждений могут какое-то время не выдавать данных, поэтому увеличение тайм-аута бездействия помогает при высоких уровнях интенсивности рассуждений.
[model_providers.aiprime]
# ...settings from above...
request_max_retries = 6
stream_max_retries = 8
stream_idle_timeout_ms = 600000Устранение неполадок: ошибки, с которыми сталкиваются пользователи Codex
Ниже приведены ошибки, которые действительно возникают у клиентов Codex при работе с этим шлюзом, начиная с самых распространённых.
| Что вы видите | Причина | Решение |
|---|---|---|
403 No active subscription found for this group | Ключ относится к безлимитной группе без активного тарифа | Используйте ключ из группы с оплатой по мере использования (Codex для GPT) или купите тариф |
401 Invalid API key | Переменная пуста в процессе, запускающем Codex (часто это IDE), или requires_openai_auth = true заставило Codex отправить другие данные авторизации | echo $AIPRIME_CODEX_KEY; удалите requires_openai_auth; перезапустите редактор |
404 Model "..." is not supported by any configured account in this group | Модель не относится к группе ключа, например модель Claude используется с ключом GPT | Переключите провайдера или профиль, чтобы ключ соответствовал модели |
426 WebSocket upgrade required | Транспорт WebSocket включён, но соединение не было переключено на этот протокол | supports_websockets = false, и удалите responses_websockets_v2 из [features] |
403 Your API key has expired | Ключ был создан с ограниченным сроком действия | Создайте новый ключ в панели управления |
'none' is not supported | Интенсивность рассуждений задана как none | Используйте low или выше |
404 page not found | base_url содержит /v1 дважды | Используйте в точности https://aiprimetech.io/v1 |
Ошибка конфигурации, связанная с wire_api после обновления | A wire_api = "chat" строка из старого руководства | Задайте wire_api = "responses" |
Your balance is used up | Баланс исчерпан | Пополнить баланс |
Concurrency limit exceeded for user | Несколько агентов или окон Codex работают одновременно | Запускайте меньше экземпляров параллельно или обратитесь в поддержку, чтобы увеличить лимит одновременных запусков |
Сравниваете Codex с Claude Code, прежде чем выбрать один из них? См. Claude Code и Codex: сравнение.
Часто задаваемые вопросы
Где находится файл конфигурации Codex?
Можно ли использовать модели Claude в Codex CLI?
Работает ли ещё wire_api = "chat" в Codex?
Почему расширение Codex для VS Code сообщает о недействительном ключе API, хотя CLI работает?
Что означает сообщение «Для этой группы не найдена активная подписка» в Codex?
Получите ключ API — учётная запись Anthropic и запись в лист ожидания не нужны.
Получить ключ APIAI Prime Tech — независимый API-шлюз. Он не связан с Anthropic, не одобрен этой компанией и не является её реселлером. Claude и названия связанных моделей — товарные знаки их соответствующих владельцев.