# Command Code

Источник: https://docs.aicentos.com/ru/clients/command-code

Language: ru

> Использование aicentos в Command Code — добавление BYOK-провайдера через providers.json

Command Code — кодинг-агент в терминале. По умолчанию он использует встроенных провайдеров, но поддерживает и BYOK: зарегистрируйте кастомного провайдера в `~/.commandcode/providers.json` и направьте baseURL на aicentos.

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

Сначала создайте на странице «API Key» в консоли отдельный ключ для Command Code (рекомендуемое имя `command-code` — так проще отслеживать расход):

* Консоль: [https://aicentos.com](https://aicentos.com)
* Создание ключа: [https://aicentos.com/keys](https://aicentos.com/keys)
* Пополнение при нехватке баланса: [https://aicentos.com/wallet](https://aicentos.com/wallet)

## Конфигурация для заполнения

| Поле              | Значение                                  |
| ----------------- | ----------------------------------------- |
| Файл конфигурации | `~/.commandcode/providers.json`           |
| baseURL           | `https://aicentos.com/v1`                 |
| apiKey            | `$AICENTOS_API_KEY`                       |
| Модель            | имя модели из «витрины моделей» в консоли |

## Шаги настройки

### 1. Задайте переменные окружения

```bash
export AICENTOS_API_KEY="sk-ваш-API-ключ"
```

Для постоянного действия добавьте строку в `~/.zshrc` или `~/.bashrc`.

### 2. Отредактируйте providers.json

Откройте `~/.commandcode/providers.json` и добавьте запись в объект `provider`:

```json
{
  "provider": {
    "aicentos": {
      "name": "aicentos",
      "api": "openai-completions",
      "baseURL": "https://aicentos.com/v1",
      "apiKey": "$AICENTOS_API_KEY",
      "models": {
        "gpt-4o": {}
      }
    }
  }
}
```

Описание полей:

| Поле      | Описание                                                                                   |
| --------- | ------------------------------------------------------------------------------------------ |
| `name`    | Отображаемое имя, показывается в `/connect` и `/model`                                     |
| `api`     | `openai-completions` (по умолчанию) или `anthropic-messages`                               |
| `baseURL` | Обязательное поле, корневой адрес API, нужен суффикс `/v1`                                 |
| `apiKey`  | Поддерживает `$VAR`, `{env:VAR}`, `!command` либо `false` для эндпоинта без аутентификации |
| `models`  | Обязательное поле, достаточно `{}`; ID моделей должны совпадать с эндпоинтом               |

ID моделей в `models` замените на имена из «витрины моделей» в консоли, см. [Поддерживаемые модели](https://docs.aicentos.com/ru/billing/models-list).

### 3. Выбор провайдера

Войдя в Command Code:

* выполните `/connect`, выберите `aicentos` и подтвердите ключ;
* выполните `/model` и выберите нужную модель.

Внимание: **после изменения `providers.json` нужно заново открыть `/model`**, чтобы подгрузилась новая конфигурация.

## Проверка

Выбрав модель, отправьте простой промпт:

```
Ответь одним предложением: сколько будет 1+1
```

Если ответ возвращается нормально, подключение выполнено. Также можно в `/connect` нажать `u` на провайдере, чтобы он обратился к эндпоинту `/models` и обновил список моделей.

## Примечания

* Command Code по умолчанию работает по OpenAI-совместимому Chat Completions, поэтому в `api` достаточно указать `openai-completions`.
* Чтобы использовать модели серии Claude, нужно завести отдельную запись провайдера с `api: "anthropic-messages"` — для двух протоколов пути собираются по-разному (OpenAI SDK добавляет `/chat/completions`, Anthropic SDK — `/v1/messages`), и один baseURL не может обслуживать оба.
* `baseURL` обязательно с `/v1`; последующие пути Command Code соберёт сам.
* Вставка открытого ключа прямо в `apiKey` будет отклонена — используйте форму `$VAR`.
* Порядок диагностики: видна ли модель в `/model` → видны ли переменные окружения в терминале, откуда запущен CLI → заканчивается ли baseURL на `/v1` → хватает ли баланса.

## Полезные ссылки

* Официальная документация BYOK: [https://commandcode.ai/docs/byok](https://commandcode.ai/docs/byok)