Содержание статьи+
Codex CLI работает с кастомным API через провайдера в config.toml. Нужно задать три вещи: base URL, переменную с ключом и формат wire API. После этого команда codex открывает агент в терминале и использует вашу модель вместо официальной. Ниже — рабочий конфиг, объяснение wire_api и ошибки, из-за которых подключение чаще всего срывается.
Node.js 20+, Codex CLI, API-ключ и баланс. В CheApi стартовые 5 млн токенов покрывают первые эксперименты.
Установка
npm install -g @openai/codex
codex --versionКлюч в переменной окружения
Ключ хранится в переменной, а не в config.toml. Так его проще отозвать и невозможно случайно закоммитить вместе с настройками проекта.
export CHEAPI_API_KEY="che_sk_ваш_ключ"
# проверка, что переменная видна процессу
echo $CHEAPI_API_KEYДобавьте строку в ~/.zshrc или ~/.bashrc, если не хотите повторять её в каждом терминале. После изменения выполните source ~/.zshrc.
config.toml
Файл лежит в ~/.codex/config.toml. Укажите модель, имя провайдера и блок с адресом. env_key — имя переменной, из которой Codex возьмёт ключ.
model = "gpt-6.1-sol"
model_provider = "cheapi"
[model_providers.cheapi]
name = "CheApi"
base_url = "https://cheapi.ru/v1"
wire_api = "responses"
env_key = "CHEAPI_API_KEY"wire_api = "responses" использует Responses API. Если ваш клиент или инструмент умеет только Chat Completions, поставьте wire_api = "chat" и тот же base URL. Модель должна существовать в каталоге: опечатка в ID даёт 404.
Запуск
cd ~/projects/my-app
codex
# или сразу с задачей
codex "объясни структуру проекта и предложи план рефакторинга"При первом запуске Codex может спросить подтверждение команд и доступ к папке. Начните с тестового проекта и чистой ветки git, чтобы агент не изменил рабочие файлы без вашего контроля.
Ошибки и причины
Таблица прокручивается по горизонтали →
| Симптом | Причина | Решение |
|---|---|---|
| 401 Unauthorized | Переменная не видна процессу или ключ отозван | Проверьте echo $CHEAPI_API_KEY, перезапустите терминал, создайте новый ключ |
| 404 Not Found | Неверный base URL или wire_api | Для Responses — /v1 и wire_api = responses; проверьте путь |
| model not found | ID модели устарел или не существует | Скопируйте ID из каталога моделей |
| 402 Payment Required | Недостаточно баланса | Пополните баланс в кабинете |
| Ответ обрывается | Таймаут или прокси | Проверьте сеть, увеличьте таймаут, попробуйте другой терминал |
CheApi
Ключ, 5 млн токенов и готовый config.toml. Если конфиг не заводится, пришлите ошибку в поддержку — разберём.
Сколько стоит работа Codex
Codex отправляет в контекст файлы и историю, поэтому один запрос может занимать десятки тысяч токенов. Для расчёта возьмём 20 000 входных и 3 000 выходных токенов. На GPT 6.1 Sol это 23 000 × 4 = 92 000 базовых токенов, около 1,05 ₽ за запрос. На GPT 6.1 Terra — около 0,39 ₽, на GPT 6 Astra — около 2,95 ₽.
Таблица прокручивается по горизонтали →
| Модель | Цена запроса 23k токенов | 100 запросов |
|---|---|---|
| GPT 6.1 Terra | 0,39 ₽ | 39 ₽ |
| GPT 6.1 Sol | 1,05 ₽ | 105 ₽ |
| GPT 6 Astra | 2,95 ₽ | 295 ₽ |
При пополнении 600 ₽, без кеша. Реальный расход виден в истории кабинета.
Безопасность
- Не храните ключ в
config.tomlи в репозитории. - Запускайте агент в отдельной ветке и проверяйте diff перед коммитом.
- Отзывайте ключ, если он попал в логи или историю терминала.
- Не давайте агенту доступ к секретам и production-базам без необходимости.
Частые вопросы
Нужна ли подписка ChatGPT для Codex CLI?+
Почему выбирать responses, а не chat?+
Можно ли использовать несколько моделей?+
model в config.toml или в параметрах запуска. Ключ и баланс остаются общими.Codex пишет 401, хотя ключ верный+
env_key совпадает. Перезапуск терминала решает большинство случаев.Попробовать
5 млн токенов на тесты
Зарегистрируйтесь, получите ключ и проверьте модели на своих задачах. Карта не нужна.