# Droid

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

Language: ru

> Использование aicentos в Factory Droid — регистрация кастомных моделей через settings.json (BYOK)

Droid — консольный кодинг-агент от Factory с поддержкой BYOK: зарегистрируйте кастомную модель в `~/.factory/settings.json` и направьте `baseUrl` на aicentos. Droid требует, чтобы окно контекста модели было не меньше 64k — учитывайте это при выборе.

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

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

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

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

| Поле              | Значение                                  |
| ----------------- | ----------------------------------------- |
| Файл конфигурации | `~/.factory/settings.json`                |
| provider          | `generic-chat-completion-api`             |
| baseUrl           | `https://aicentos.com/v1`                 |
| apiKey            | `${AICENTOS_API_KEY}`                     |
| Модель            | имя модели из «витрины моделей» в консоли |

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

### 1. Задайте переменную окружения для API Key

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

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

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

Откройте `~/.factory/settings.json` и добавьте массив `customModels`:

```json
{
  "customModels": [
    {
      "model": "gpt-4o",
      "displayName": "GPT-4o (aicentos)",
      "baseUrl": "https://aicentos.com/v1",
      "apiKey": "${AICENTOS_API_KEY}",
      "provider": "generic-chat-completion-api",
      "maxOutputTokens": 8192
    }
  ]
}
```

Ключевые поля:

| Поле          | Описание                                                                                     |
| ------------- | -------------------------------------------------------------------------------------------- |
| `model`       | ID модели, реально отправляемый на эндпоинт; должен совпадать с «витриной моделей» в консоли |
| `displayName` | Отображаемое имя в селекторе моделей; можно задать своё                                      |
| `baseUrl`     | Адрес API, рекомендуется с `/v1`                                                             |
| `apiKey`      | Поддерживает раскрытие `${VAR_NAME}`                                                         |
| `provider`    | `anthropic` / `openai` / `generic-chat-completion-api`                                       |

### 3. Выбор модели

После запуска `droid` выполните `/model` и выберите только что зарегистрированную модель. **После изменения конфигурации нужно перезапустить `droid` в новом терминале**, чтобы файл был перечитан.

## Проверка

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

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

Если ответ возвращается нормально, подключение выполнено.

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

* **В `provider` рекомендуется указывать `generic-chat-completion-api`**: он работает по протоколу OpenAI Chat Completions и является правильным выбором для большинства сценариев BYOK. Значение `openai` включает Responses API, причём на части шлюзов при этом значении `base_url` игнорируется и запрос уходит напрямую в `api.openai.com`; значение `anthropic` идёт через `/v1/messages`.
* **Сначала очистите переменные окружения**. Если в shell экспортированы `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_BASE_URL` или `ANTHROPIC_API_KEY`, они перекроют файл конфигурации, и запросы пойдут в обход настроенного вами шлюза. Перед подключением рекомендуется выполнить `unset` этих переменных.
* Droid читает и `~/.factory/settings.json`, и устаревший `~/.factory/config.json`, причём первый в приоритете. В старом формате имена полей в snake\_case: `custom_models` / `model_display_name` / `base_url` / `api_key`, и раскрытие `${VAR_NAME}` **не поддерживается**; рекомендуем повсеместно использовать `settings.json`.
* Окно контекста модели — минимум 64k; слишком маленькие локальные модели могут работать некорректно.
* Factory проводит базовое тестирование только официальных интерфейсов Anthropic / OpenAI; совместимость кастомных моделей не гарантируется. Известно, что субагенты (subagent) иногда откатываются на официальный интерфейс Anthropic.
* Порядок диагностики: видна ли модель в `/model` → не перекрыты ли переменные окружения значениями ANTHROPIC\_\* → есть ли `/v1` в baseUrl → хватает ли баланса.

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

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