Kilo Code со своим API: Custom provider и go2llm
Kilo Code подключается к произвольному OpenAI-совместимому эндпоинту через Settings → вкладка Providers → Custom provider, где выбирается Provider API = OpenAI Compatible и вписывается Base URL https://go2llm.tech/v1. Kilo Code при валидном URL сам подтягивает список моделей из /v1/models, так что ID моделей набирать руками не придётся.
Проверено живым запросом: нет. Инструкция составлена по документации Kilo Code. Если что-то не сходится — напишите в @go2llm_support, поправим. В таблице совместимости go2llm Kilo Code отмечен статусом «по документации, вручную не тестировали». Живым запросом у go2llm проверены только Claude Code и OpenCode.
Источник документации: Kilo Code — Using OpenAI-Compatible Providers, Kilo Code — Custom Models.
Дата публикации: 11 сентября 2026.
Что понадобится
- Расширение Kilo Code в VS Code либо Kilo Code CLI.
- Ключ go2llm с префиксом
gk_sk_. При регистрации на баланс начисляется $1, минимальное пополнение — $1, оплата рублями через СБП или криптовалютой. - Base URL:
https://go2llm.tech/v1. - Каталог моделей:
curl https://go2llm.tech/v1/models. Эндпоинт открыт без ключа, опубликованных моделей сейчас: 65.
Пошаговая настройка в VS Code
Шаг 1. Откройте вкладку Providers
Нажмите иконку шестерёнки (Settings) в панели Kilo Code и перейдите на вкладку Providers.
Шаг 2. Добавьте Custom provider
Прокрутите список вниз и нажмите Custom provider. Откроется диалог настройки провайдера.
Шаг 3. Заполните диалог
Документация Kilo Code называет поля дословно:
| Поле Kilo Code | Значение для go2llm |
|---|---|
| Provider ID | go2llm — произвольный уникальный идентификатор |
| Display name | go2llm — как провайдер будет называться в интерфейсе |
| Provider API | OpenAI Compatible |
| Base URL | https://go2llm.tech/v1 |
| API key | ваш ключ gk_sk_… |
| Models | выберите из автоподхваченного списка |
| Headers | оставьте пустым — go2llm авторизует стандартным Bearer |
Про Provider API документация Kilo Code уточняет: OpenAI Compatible — для эндпоинтов формата OpenAI Chat Completions; OpenAI Responses — для OpenAI и xAI; Anthropic Messages — для Anthropic и MiniMax. Для go2llm через https://go2llm.tech/v1 берите именно OpenAI Compatible: эндпоинт /v1/responses у go2llm не опубликован, и выбор «OpenAI Responses» даст 404.
Нажмите Submit. Провайдер появится в списке, а его модели — в пикере моделей.
Шаг 4. Автоподбор моделей
Kilo Code при валидном Base URL и ключе опрашивает /v1/models провайдера и показывает поисковый список моделей с нечётким поиском: ввод «sonnet» найдёт claude-sonnet-5. У go2llm /v1/models открыт и отдаёт полный каталог, поэтому автодетект должен сработать без дополнительных настроек.
Если автодетект не сработал, Kilo Code позволяет вписать ID вручную. Здесь критична точность: документация Kilo Code прямо предупреждает, что anthropic/claude-sonnet-4-6 и claude-sonnet-4-6 — разные строки. У go2llm public ID идут без вендорного префикса: claude-sonnet-5, gpt-5.6-sol, deepseek-v4-pro.
Настройка в Kilo Code CLI
CLI-версия Kilo Code читает конфиг из ~/.config/kilo/kilo.json или ./kilo.json в проекте. Рабочий конфиг для go2llm:
{
"provider": {
"go2llm": {
"npm": "@ai-sdk/openai-compatible",
"models": {
"claude-sonnet-5": {
"name": "go2llm Sonnet 5",
"limit": {
"context": 200000,
"output": 32000
}
},
"gpt-5.6-luna": {
"name": "go2llm Luna",
"limit": {
"context": 200000,
"output": 16384
}
}
},
"options": {
"baseURL": "https://go2llm.tech/v1",
"apiKey": "gk_sk_ВАШ_КЛЮЧ"
}
}
},
"model": "go2llm/claude-sonnet-5"
}
Разбор полей по документации Kilo Code. npm: "@ai-sdk/openai-compatible" — протокол OpenAI Chat Completions (значение по умолчанию, если поле опущено). options.baseURL — адрес эндпоинта. Блок limit с context и output документация рекомендует заполнять: если его опустить, значения уходят в 0, и агент перестаёт корректно управлять контекстом. Модель по умолчанию задаётся в формате provider-id/model-id.
Ключ можно не держать в файле — Kilo Code умеет читать его из переменной окружения через поле env:
{
"provider": {
"go2llm": {
"env": ["GO2LLM_API_KEY"],
"models": {
"claude-sonnet-5": {
"name": "go2llm Sonnet 5",
"limit": { "context": 200000, "output": 32000 }
}
},
"options": {
"baseURL": "https://go2llm.tech/v1"
}
}
}
}
Точные значения контекста и лимита вывода по каждой модели go2llm сверяйте с документацией вендора модели: единой таблицы по всем опубликованным моделям мы пока не публикуем. Список самих моделей всегда можно получить без ключа — GET https://go2llm.tech/v1/models.
Проверка, что заработало
Сначала проверьте шлюз отдельно от Kilo Code:
curl https://go2llm.tech/v1/chat/completions \
-H "Authorization: Bearer gk_sk_ВАШ_КЛЮЧ" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":120,"messages":[{"role":"user","content":"Ответь одним словом: работает"}]}'
Ожидаемый результат: HTTP 200, в choices[0].message.content — «работает», в блоке usage — поле cost_usd с фактической стоимостью запроса.
Отдельно проверьте, что увидит автодетект Kilo Code:
curl https://go2llm.tech/v1/models
Ожидаемый результат: HTTP 200 и список моделей с их id, модальностями и эндпоинтами.
В самом Kilo Code: выберите в пикере модель go2llm / claude-sonnet-5 и дайте задачу «Прочитай README.md и опиши проект одним предложением». Правильное поведение — Kilo Code вызовет инструмент чтения файла и вернёт ответ, а не просто текст.
Какую модель выбрать
Актуальные ставки по каждой модели — на странице цен и в GET /api/pricing. Колонка «кэш» — чтение кэша: у кодинг-агента вроде Kilo Code это 85% профиля нагрузки, поэтому именно она определяет счёт.
| Модель | Зачем нужна |
|---|---|
claude-sonnet-5 | 6.1× |
claude-opus-5 | 9.9× |
claude-haiku-4-5 | 7.7× |
gpt-5.3-codex | 3.4× |
kimi-k2.7-code | 9.9× |
glm-5.3 | 9.9× |
deepseek-v4-pro | 10× |
Смешанная цена для профиля агента считается как вход × 0.10 + выход × 0.05 + чтение кэша × 0.85 — сравнение только по цене входа вводит в заблуждение. Полный прайс — go2llm.tech/pricing.
Если не работает
- «Invalid API Key» / 401
no-key. Ключ скопирован не полностью или не начинается сgk_sk_. Проверьте поле API key в диалоге Custom provider. - «Model Not Found» / 404
model_not_found. ID модели не совпадает с каталогом. Возьмите точныйidизcurl https://go2llm.tech/v1/models— go2llm не публикует алиасы вродеgpt-4o. - Connection Errors. Проверьте Base URL: нужен
https://go2llm.tech/v1без завершающего слеша. Kilo Code также принимает полный URL эндпоинта —https://go2llm.tech/v1/chat/completions. - 404 при выборе «OpenAI Responses». Provider API выставлен неверно. У go2llm
/v1/responsesне опубликован, нужен режим OpenAI Compatible. - 403
model/inactive/expired/ip. Ограничения самого ключа: модель не входит в список разрешённых, ключ отключён, истёк срок или IP не в allow-list. - 429
rate_limit. Лимит 20 RPM на ключ по умолчанию. Автономная задача Kilo Code выбивает его быстро — учитывайте заголовокRetry-Afterили заведите отдельный ключ под IDE.
Разбор всех кодов — go2llm.tech/docs/errors.
FAQ
Чем Kilo Code удобнее Roo Code при подключении go2llm? Автодетектом моделей. Kilo Code опрашивает /v1/models и показывает готовый список с нечётким поиском, а в Roo Code Model ID вписывается руками. Поскольку /v1/models у go2llm открыт без ключа, автодетект здесь работает в свою полную силу.
Можно ли ограничить расходы отдельного разработчика? Да, средствами go2llm. На каждый ключ выставляется квота в долларах, список разрешённых моделей, IP allow-list и срок действия. Ключ с квотой 0 идёт без отдельного лимита и ограничен только балансом аккаунта.
Нужны ли кастомные заголовки? Нет. Поле Headers в диалоге Custom provider оставьте пустым: go2llm принимает стандартный Authorization: Bearer. Заполнять его нужно только тем провайдерам, которые требуют нестандартную авторизацию.
Что дальше
Сравнение всех поддерживаемых агентов и честный статус проверки по каждому — в хабе go2llm.tech/docs/coding-tools. Эндпоинты, лимиты и приватность — go2llm.tech/docs.