Droid
Использование 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/keys
- Пополнение при нехватке баланса: https://aicentos.com/wallet
Конфигурация для заполнения
| Поле | Значение |
|---|---|
| Файл конфигурации | ~/.factory/settings.json |
| provider | generic-chat-completion-api |
| baseUrl | https://aicentos.com/v1 |
| apiKey | ${AICENTOS_API_KEY} |
| Модель | имя модели из «витрины моделей» в консоли |
Шаги настройки
1. Задайте переменную окружения для API Key
export AICENTOS_API_KEY="sk-ваш-API-ключ"Для постоянного действия добавьте её в ~/.zshrc или ~/.bashrc.
2. Отредактируйте settings.json
Откройте ~/.factory/settings.json и добавьте массив customModels:
{
"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