Codex CLI

Codex CLI — агент для программирования от OpenAI с открытым кодом. К Infergate он подключается как OpenAI-совместимый провайдер через Responses API.

Что понадобится

Установка

npm install -g @openai/codex
codex --version

Настройка

Добавьте провайдера в ~/.codex/config.toml (если файла нет, создайте его):

model_provider = "infergate"
model = "openai/gpt-5.3-codex"

[model_providers.infergate]
name = "Infergate"
base_url = "https://infergate.ru/api/v1"
env_key = "INFERGATE_API_KEY"
wire_api = "responses"
  • model — идентификатор модели из каталога, целиком, со слешем.
  • base_url — адрес вместе с /v1: путь /responses Codex допишет сам.
  • env_key — имя переменной окружения, из которой Codex берёт ключ. Сам ключ в файл не записывается.
  • wire_api = "responses" — единственное значение, которое принимают свежие версии Codex.

Положите ключ в переменную окружения (чтобы он был доступен в каждом терминале, добавьте строку в ~/.zshrc или ~/.bashrc) и запустите Codex:

export INFERGATE_API_KEY="sk-..."
codex

Проверка

codex doctor проверяет конфигурацию и окружение, а codex exec выполняет одно задание без интерактивной сессии:

codex doctor
codex exec "Привет! Ответь одним предложением."

Предупреждение Model metadata for … not found. Defaulting to fallback metadata не мешает работе: Codex просто не знает этой модели заранее.

Каждый запрос агента появится в разделе «Запросы» личного кабинета — с моделью, токенами и стоимостью.

Выбор модели и расход

Модель меняется в поле model конфигурации или флагом --model на один запуск. Подойдёт любая текстовая модель каталога, которая умеет вызывать инструменты (capabilities.tools в списке моделей).

codex exec --model anthropic/claude-sonnet-4.6 "…"

Codex добавляет к каждому запросу большой системный промпт и описания инструментов — это тысячи токенов даже на короткое задание. Чтобы держать расход под контролем, задайте ключу лимит расхода.

Если не работает

  • wire_api = "chat" is no longer supported — замените значение на "responses".
  • Not inside a trusted directory and --skip-git-repo-check was not specified — Codex запущен вне git-репозитория. Добавьте флаг --skip-git-repo-check или выполните git init.
  • codex exec висит после Reading additional input from stdin... — Codex ждёт ввода. В скриптах закрывайте его: codex exec "…" < /dev/null.
  • 401 — переменная INFERGATE_API_KEY не задана в этом терминале или ключ неверный, отключён или удалён.
  • 402 — на балансе не хватает денег или исчерпан лимит ключа.