# CodeBuddy

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

Language: ru

> Подключение OpenAI-совместимого эндпоинта aicentos в CodeBuddy (IDE / CLI) через models.json

CodeBuddy поддерживает кастомные модели: через пользовательский или проектный `models.json` запросы можно направить на OpenAI-совместимый эндпоинт aicentos. IDE и CodeBuddy Code CLI используют одну и ту же конфигурацию.

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

Сначала создайте на странице «API Key» в консоли отдельный ключ для CodeBuddy (рекомендуемое имя `codebuddy`).

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

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

| Поле                                 | Значение                                   |
| ------------------------------------ | ------------------------------------------ |
| Base URL                             | `https://aicentos.com/v1`                  |
| URL эндпоинта (поле `url`)           | `https://aicentos.com/v1/chat/completions` |
| API Key (`apiKey`)                   | ключ, созданный в консоли                  |
| ID модели (`id`)                     | имя модели из «витрины моделей» в консоли  |
| `supportsToolCall`                   | `true`                                     |
| `maxInputTokens` / `maxOutputTokens` | по выбранной модели                        |

Внимание: поле `url` в `models.json` требует **полного пути к методу**, обязательно с окончанием `/chat/completions`.

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

* Один раз откройте CodeBuddy, чтобы он создал каталог конфигурации.
* Создайте или отредактируйте пользовательский файл конфигурации:
  * macOS / Linux: `~/.codebuddy/models.json`
  * Windows: `C:\Users\<имя-пользователя>\.codebuddy\models.json`
  * Если нужно действие только для одного проекта, можно использовать проектный файл `<корень-проекта>/.codebuddy/models.json` — его приоритет выше пользовательского.
* Запишите следующее содержимое, заменив `id` на имя модели, работоспособность которой вы подтвердили в консоли:

```json
{
  "models": [
    {
      "id": "gpt-5",
      "name": "GPT-5 (aicentos)",
      "vendor": "aicentos",
      "apiKey": "${AICENTOS_API_KEY}",
      "url": "https://aicentos.com/v1/chat/completions",
      "maxInputTokens": 128000,
      "maxOutputTokens": 16384,
      "supportsToolCall": true,
      "supportsImages": false,
      "supportsReasoning": false
    }
  ]
}
```

* Задайте переменную окружения (и `apiKey`, и `url` поддерживают ссылки `${VAR_NAME}`):

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

* Полностью закройте CodeBuddy и откройте заново (достаточно перезапуска панели IDE).
* Выберите только что настроенную модель в селекторе моделей.

Если не хотите редактировать файл, можно в панели диалога CodeBuddy IDE нажать под ней на селектор моделей → **Настроить кастомную модель** → в качестве провайдера выбрать **Custom**, ввести Base URL `https://aicentos.com/v1`, а также API Key и имя модели.

## Проверка

После сохранения создайте новый диалог или задачу кодирования и сначала проведите лёгкий тест простым промптом: убедившись, что содержимое возвращается нормально, переходите к реальной работе.

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

* Сейчас поддерживается API только в **формате интерфейса OpenAI**.
* `url` обязательно записывается полным путём `/v1/chat/completions`; вариант `https://aicentos.com/v1` работать не будет.
* Внешний уровень должен иметь структуру `{"models": [...]}`; `models` — обязательное поле верхнего уровня.
* `availableModels` — белый список: как только он заполнен, в выпадающем списке моделей остаются только модели из списка, а встроенные исчезают. Если ограничение не нужно, не указывайте это поле.
* Сохраняйте файл в **UTF-8 без BOM**: JSON с BOM приводит к ошибке чтения локальной конфигурации моделей.
* Переменные окружения разрешаются при запуске; если переменная не существует, `${AICENTOS_API_KEY}` из файла конфигурации останется как есть, и вызовы будут завершаться ошибкой.
* Рекомендуется выставить у `models.json` права `600` и не коммитить его в систему контроля версий.
* CLI можно настроить и через переменные окружения: `CODEBUDDY_API_KEY`, `CODEBUDDY_BASE_URL`, `CODEBUDDY_MODEL`. При прямой установке `CODEBUDDY_BASE_URL` не добавляйте `/chat/completions` — CLI допишет путь сам.
* Подробнее — на сайте документации: [https://docs.aicentos.com](https://docs.aicentos.com)