> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aibal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Codex

> Установите Codex CLI, настройте провайдера aibal.ai и проверьте первый запрос

Это руководство настраивает пользовательского провайдера Codex CLI, чтобы запросы из терминала отправлялись через aibal.ai. Для управления конфигурациями через графический интерфейс см. [cc-switch](/ru/cc-switch).

## Подготовка

* [Создайте API Key](/ru/create-api-key) в группе с текстовой моделью, поддерживающей Responses. Проверьте доступный баланс или квоту.
* Подготовьте папку проекта, которую разрешаете читать Codex. Для первой проверки можно использовать пустую папку.
* Для установки через npm нужны поддерживаемые версии Node.js и npm. Другие способы описаны в [официальной инструкции Codex](https://developers.openai.com/codex/cli).

## Настройка Codex

<Steps>
  <Step title="Установите и проверьте команду">
    Выполните в терминале:

    ```bash theme={null}
    npm install -g @openai/codex
    codex --version
    ```

    Продолжайте, когда появится номер версии. Если команда не найдена, откройте терминал заново и проверьте, включена ли папка глобальных команд npm в `PATH`.
  </Step>

  <Step title="Подготовьте ключ и ID модели">
    Войдите на [aibal.ai](https://aibal.ai/), откройте **Использовать ключ** в списке API-ключей и выберите Codex. Скопируйте ID текстовой модели, поддерживаемой текущей группой. Значение `YOUR_AVAILABLE_MODEL_ID` ниже — заполнитель, его необходимо заменить.
  </Step>

  <Step title="Отредактируйте пользовательский config.toml">
    Откройте `~/.codex/config.toml`, а в Windows — `%USERPROFILE%\.codex\config.toml`. Если задан `CODEX_HOME`, используйте файл из этого каталога. Если файла нет, создайте каталог и файл; если есть, сначала сохраните резервную копию и объедините следующие поля с существующими настройками.

    ```toml theme={null}
    model_provider = "aibal"
    model = "YOUR_AVAILABLE_MODEL_ID"

    [model_providers.aibal]
    name = "aibal.ai"
    base_url = "https://aibal.ai/v1"
    env_key = "AIBAL_API_KEY"
    wire_api = "responses"
    requires_openai_auth = false
    supports_websockets = false
    ```

    Поля верхнего уровня `model_provider` и `model` должны находиться перед первой секцией `[таблица]`. Не дублируйте существующие поля или `[model_providers.aibal]`. Сохраните остальные настройки. Конфигурацию провайдера размещайте в пользовательском файле, а не в `.codex/config.toml` внутри проекта.
  </Step>

  <Step title="Задайте ключ в терминале запуска">
    Используйте скрытый ввод, чтобы ключ не попал в историю команд. В Bash или Zsh выполните команду и вставьте ключ по запросу; символы не будут отображаться:

    ```bash theme={null}
    export AIBAL_API_KEY="$(bash -c 'read -r -s -p "aibal.ai API Key: " key; printf "\n" >&2; printf "%s" "$key"')"
    ```

    В Windows PowerShell:

    ```powershell theme={null}
    $credential = Get-Credential -UserName "aibal" -Message "Paste your aibal.ai API Key in the password field"
    $env:AIBAL_API_KEY = $credential.GetNetworkCredential().Password
    Remove-Variable credential
    ```

    Переменная действует только в этом терминале и запущенных из него процессах. После закрытия терминала задайте её повторно или используйте доверенный менеджер секретов. Не сохраняйте настоящий ключ в файлах проекта.
  </Step>

  <Step title="Начните новый сеанс и проверьте подключение">
    Выполните `codex` в подготовленной папке проекта. Подтвердите область доверия к проекту, затем отправьте:

    ```text theme={null}
    Ответь только «Подключение успешно». Не читай и не изменяй файлы, не выполняй команды.
    ```

    После нормального ответа проверьте время, ключ и модель в разделе **История использования** aibal.ai. Тестовый запрос может тарифицироваться.
  </Step>
</Steps>

## Поля конфигурации

| Поле                   | Значение                                           |
| ---------------------- | -------------------------------------------------- |
| `model_provider`       | Выбирает провайдера `aibal`, определённого ниже    |
| `model`                | Полный ID текстовой модели, доступной вашему ключу |
| `base_url`             | Базовый адрес API, обычно `https://aibal.ai/v1`    |
| `env_key`              | Имя переменной `AIBAL_API_KEY`, а не сам ключ      |
| `wire_api`             | Протокол Codex; используйте `responses`            |
| `requires_openai_auth` | `false` для этого способа с ключом из окружения    |
| `supports_websockets`  | `false` для HTTP/SSE в данном примере              |

<Note>
  Если панель предлагает файл каталога моделей или специальный адрес группы, сохраните файл по инструкции **Использовать ключ** и укажите предоставленные путь и ID модели. Не смешивайте конфигурации разных групп.
</Note>

## Частые вопросы

### Переменная AIBAL\_API\_KEY не найдена

Запустите `codex` из терминала, в котором задали переменную. Программы, открытые из Dock, меню «Пуск» или другого терминала, могут не унаследовать её. Это руководство для CLI; настольному приложению может потребоваться отдельная настройка.

### Всё ещё появляется вход через ChatGPT или используется другой провайдер

Проверьте, что `model_provider = "aibal"` находится на верхнем уровне, пользовательский файл применяется и другой менеджер конфигураций не перезаписал настройки. Не объединяйте этот способ с `env_key` и способ через `auth.json` из другого руководства.

### Модель не найдена или запрос завершается ошибкой

Замените заполнитель на ID модели, доступной ключу. Проверьте поддержку Responses, отсутствие повторного `/v1` в адресе и квоту ключа. Другие ошибки описаны в [обзоре интеграции](/ru/integrations).

### Старый сеанс не применяет новые настройки

Завершите старый процесс Codex и запустите его снова из настроенного терминала. Если используете CC Switch, в дальнейшем редактируйте того же провайдера в нём, чтобы ручные настройки и управляемая конфигурация не перезаписывали друг друга.

### Можно ли создавать изображения непосредственно в Codex?

Доступ к текстовой модели не означает, что встроенный инструмент изображений автоматически использует этот шлюз. Если клиент поддерживает исполнитель генерации изображений, следуйте [инструкции Codex для изображений](/ru/text-to-image): выберите в панели **API Key Mode**, сохраните всю соответствующую конфигурацию и перезапустите клиент. Не смешивайте эту конфигурацию с фрагментом `env_key` из данной страницы. Также можно явно вызвать API изображений и сохранить результат по тому же руководству. Доступность инструмента зависит от клиента и группы. Для видео см. [генерацию видео](/ru/text-to-video).

## Безопасность ключа и следующие шаги

Не раскрывайте API Key в запросах к модели, снимках экрана, коммитах Git или журналах. Для Codex можно установить отдельный лимит ключа. При утечке отключите и замените ключ.

Источники: [официальный справочник конфигурации Codex](https://developers.openai.com/codex/config-reference) и [пользовательские провайдеры моделей](https://developers.openai.com/codex/config-advanced). Интерфейс клиента может меняться между версиями.
