Перейти к содержимомуKumoДокументация
Разделы
На странице
Интеграции

Codex CLI

Провайдер в config.toml, ключ из переменной окружения — и Codex CLI работает через шлюз, не меняя ни одной вашей привычки.

Открыть как Markdown

Быстро

Codex CLI — OpenAI-совместимый клиент, поэтому base URL у него заканчивается на /v1.

Добавьте в конфигурацию провайдера и выберите его. Ключ в файл не кладите — Codex читает его из переменной окружения, имя которой вы называете сами.

# ~/.codex/config.toml
model = "<model>"
model_provider = "kumo"

[model_providers.kumo]
name = "Kumo"
base_url = "https://api.kumorouter.com/v1"
env_key = "KUMO_API_KEY"
wire_api = "responses"

Где живёт конфигурация

Файл — ~/.codex/config.toml. Если его нет, создайте. Если задана переменная окружения CODEX_HOME, конфигурация лежит там, а не в домашнем каталоге.

Провайдеров в файле может быть несколько. Блок [model_providers.kumo] добавляется к тому, что уже есть; model_provider = "kumo" только выбирает, кто из них используется по умолчанию.

  • base_url — адрес шлюза, https://api.kumorouter.com/v1, вместе с /v1.
  • env_key — имя переменной окружения, из которой Codex возьмёт ключ. Не сам ключ.
  • wire_api — форма запроса; responses означает протокол Responses, единственный, который допускает актуальный справочник Codex CLI.
  • model — идентификатор из каталога, <model> в примере выше.

Имена ключей в разных выпусках отличаются. Если ваш выпуск называет их иначе, следуйте документации установленного выпуска — смысл полей тот же.

Заметка

Более старые выпуски Codex принимали и wire_api = "chat". Ориентируйтесь на справочник установленного у вас выпуска: если он всё ещё называет chat, шлюз ответит и на нём — оба протокола у Kumo живые.

Проверка

# 1. Шлюз отвечает и ключ жив
curl https://api.kumorouter.com/v1/responses \
  -H "Authorization: Bearer $KUMO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model>",
    "max_output_tokens": 64,
    "input": [
      {
        "type": "message",
        "role": "user",
        "content": [{ "type": "input_text", "text": "reply with OK" }]
      }
    ]
  }'

# 2. Клиент ходит туда же — в новом терминале, в пустом каталоге
codex exec --skip-git-repo-check "reply with OK"

Второй шаг делайте в пустом каталоге: так Codex нечего читать и нечего править, и вы проверяете только подключение. Флаг --skip-git-repo-check нужен здесь именно поэтому: вне Git-репозитория Codex останавливается со словами Not inside a trusted directory and --skip-git-repo-check was not specified и до шлюза не доходит. Либо оставьте флаг, либо запустите проверку из Git-репозитория, которому вы доверяете.

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

  • 401 — ключ не дошёл. Переменная, названная в env_key, не экспортирована в той оболочке, из которой вы запускаете Codex; или ключ отозван.
  • 404 — адрес. В base_url нет /v1 или, наоборот, есть лишний сегмент пути.
  • Модель не найдена — идентификатор не из каталога. Спросите список у шлюза по адресу https://api.kumorouter.com/v1/models.
  • Работает старый провайдер — model_provider не переключён либо перекрыт профилем или флагом командной строки.

Как называется модель → Все статусы шлюза →