Бесплатные модели OpenRouter для Kilo Code: выбор и проверка инструментов
Выберите кандидата и проверьте цикл вызова инструментов
Для первой бесплатной проверки в Kilo Code можно взять cohere/north-mini-code:free. Его публичный endpoint заявляет нулевую цену входных и выходных токенов, tools и tool_choice. Это основание для небольшого теста инструментов. Эти поля не доказывают, что модель лучше других подходит вашему репозиторию.
23 октября 2026 года мы изучили официальную документацию и загрузили публичный каталог OpenRouter. Мы проверили команды для чтения метаданных ниже. Запросы инференса не отправлялись, инструменты Kilo не запускались, задержка и качество кода не сравнивались. Используйте датированный снимок как отправную точку, затем выберите модель, которая проходит одинаковую задачу в вашей версии Kilo.
Сначала выберите провайдера
Встроенный провайдер Kilo и прямое подключение OpenRouter используют разные аккаунты, маршруты и квоты. Перед разбором ошибки проверьте название провайдера в активной конфигурации.
| Подключение | Аккаунт и управление | Что означает бесплатность |
|---|---|---|
| Провайдер Kilo через Kilo Gateway | Аккаунт Kilo и маршрутизация Kilo | Бесплатное предложение Kilo, например kilo-auto/free, на текущих условиях Kilo. |
| Провайдер OpenRouter с вашим ключом OpenRouter | Аккаунт, журнал, маршрутизация и лимиты OpenRouter | Точная бесплатная запись каталога или openrouter/free. |
Подключение своего ключа OpenRouter к Kilo иногда называют BYOK. Это отличается от BYOK провайдеров в OpenRouter, где используется ключ вышестоящего провайдера и действуют отдельные правила оплаты. Бесплатная квота Kilo или стороннего провайдера не переносится на прямое подключение OpenRouter. См. официальное сравнение подключений и документацию провайдера Kilo.
Повторите фильтрацию бесплатных кандидатов
Выполняйте команду в Bash или Zsh с установленными curl и jq. Она читает публичный каталог, не передает учетные данные или содержимое репозитория и не вызывает инференс. Тайм-аут 30 секунд ограничивает загрузку метаданных, а не задачи Kilo.
set -o pipefail
curl -fsS --max-time 30 https://openrouter.ai/api/v1/models |
jq -er '
.data
| if type == "array" then . else error("missing data array") end
| map(select(.id | endswith(":free")))
| map(select((.pricing.prompt | tonumber?) == 0
and (.pricing.completion | tonumber?) == 0))
| map(select((.supported_parameters // []) | index("tools")))
| if length > 0 then . else error("no matching candidates") end
| sort_by(.id)[]
| [.id, .pricing.prompt, .pricing.completion,
.context_length, .top_provider.max_completion_tokens] | @tsv'
Строка содержит точный ID, цену ввода, цену вывода, контекст и максимальный вывод основного провайдера из каталога. Отсутствующие и нечисловые цены не проходят фильтр. Ошибка HTTP, некорректный JSON или пустой список кандидатов завершают команду с ошибкой. Сначала разберите сбой, вместо того чтобы считать старый скриншот актуальным списком моделей.
В нашем снимке было 468 записей. Семнадцать ID оканчивались на :free, у всех были нулевые цены ввода и вывода, а 16 также указывали tools. Мы исключили nvidia/nemotron-3.5-content-safety:free, поскольку tools отсутствовал. Фильтр точных вариантов также исключает платные ID и маршрутизаторы. Отдельный вариант openrouter/free разобран ниже.
Эти два примера из 16 кандидатов показывают, зачем проверять еще и предел вывода. Это примеры метаданных, а не рейтинг производительности.
| Точный ID | Контекст, токены | Максимальный вывод основного провайдера, токены | Проверка инструментов Kilo |
|---|---|---|---|
cohere/north-mini-code:free |
256000 | 64000 | Не проводилась |
nvidia/nemotron-3-super-120b-a12b:free |
262144 | 235929 | Не проводилась |
Эти пределы не являются рекомендуемой длиной запроса и не гарантируют успех длинного обращения. Системные инструкции, определения инструментов, файлы и прежние результаты занимают контекст. Ограничения бесплатного варианта могут отличаться от платного. Повторите команду, когда вернетесь к проекту.
Проверьте endpoint за записью каталога
Поле tools на уровне модели не гарантирует поддержку вашего запроса каждым маршрутом провайдера. Перед фиксацией провайдера изучите метаданные его endpoints. Этот второй публичный GET выводит текущие endpoints первого примера.
set -o pipefail
curl -fsS --max-time 30 \
'https://openrouter.ai/api/v1/models/cohere/north-mini-code:free/endpoints' |
jq '.data.endpoints[] | {provider_name, pricing, context_length,
max_completion_tokens, supported_parameters, supports_tool_choice}'
Наша проверка вернула endpoint Cohere с нулевыми ценами токенов и обоими параметрами инструментов. Это по-прежнему заявленная возможность. Она не доказывает, что Kilo отправляет корректные аргументы и обрабатывает результат инструмента.
В документации маршрутизации tools по умолчанию является предпочтением. OpenRouter выбирает поддерживающих провайдеров, если они есть. Если параметр не поддерживает ни один провайдер, его могут проигнорировать. require_parameters: true требует поддержки всех переданных параметров, поэтому подходящего провайдера может не остаться.
Для версий из документации OpenRouter в Kilo объедините следующую конфигурацию модели с вашим kilo.json. Сохраните существующие настройки подключения. Kilo передает options модели без проверки значений.
{
"provider": {
"openrouter": {
"models": {
"cohere/north-mini-code:free": {
"options": {
"provider": { "require_parameters": true }
}
}
}
}
}
}
Отдельно проверьте политику данных. Уведомление бесплатного endpoint Nemotron сообщает о регистрации использования и запрещает конфиденциальные и персональные данные. Если требование приватности исключает единственный совместимый endpoint, прекратите использовать этот маршрут.
Проведите ручную проверку чтения файла
В настройках Kilo откройте Providers, подключите OpenRouter ключом со страницы ключей и выберите проверенный точный ID. Начните новую задачу в папке, где есть только безопасный probe.txt с одной отличительной строкой. Не включайте строку в промпт и не прикладывайте содержимое файла как контекст.
Используйте следующий промпт.
Прочитай probe.txt инструментом чтения файлов и верни точную строку из файла.
Не изменяй файлы, не запускай команды, не открывай веб-страницы и не используй внешние инструменты.
Остановись после возврата строки.
- Разрешите только ожидаемое чтение. Найдите настоящее событие инструмента с правильным путем.
- Проверьте совпадение строки и завершение задачи. Угаданный ответ или инструкция по чтению файла не считаются успехом.
- Отмените задачу после пяти запросов к модели или двух минут, в зависимости от того, что наступит раньше. Это наши рекомендуемые рамки теста, не лимиты провайдера.
- В журнале OpenRouter проверьте реальную модель, провайдера, число запросов и списанную сумму. Остановитесь, если модель или стоимость отличаются от ожидаемого бесплатного маршрута.
- Запишите результат. После успешного чтения проверьте небольшую правку в отдельной временной задаче и изучите diff до работы с настоящим репозиторием.
Дата и версия Kilo:
Выбранный провайдер / запрошенный ID / фактические модель и провайдер:
Цены каталога и параметры маршрутизации:
Событие чтения / совпадение строки / завершение задачи:
Запросы / списанная сумма / тело ошибки:
Результат: не проводилась, успех или ошибка
Наша запись приемки имеет статус не проводилась. Проверку прошли только метаданные каталога и endpoint. Реальная совместимость Kilo, списания, качество правок и задержка не измерены. Успешное чтение подтверждает цикл вызова инструмента для данного подключения, но не качество программирования. Другие поддерживаемые клиенты, например Cline, требуют отдельных тестов даже при одинаковом ID OpenRouter. Конфигурации Roo Code служат исторической справкой: расширение, Cloud и Router закрылись 15 мая 2026 года.
Разделяйте бесплатный выбор и контроль расходов
Точный ID :free должен существовать. Суффикс не создает бесплатный вариант платного ID. openrouter/free случайно выбирает бесплатную модель после проверки возможностей. При отдельном использовании он остается среди бесплатных моделей. Записывайте фактически выбранную модель. Для повторяемых сравнений используйте точный ID.
Правила бесплатных вариантов предупреждают, что резервный список models может перейти к платной модели. Каждый вариант оплачивается по собственной цене. Оставляйте бесплатным весь список и отдельно проверяйте платные плагины и сервисы. Промокредиты оплачивают счет, но не меняют тариф. Лимит расходов ограничивает допустимые списания, а не делает платный маршрут бесплатным.
Опубликованные базовые лимиты бесплатных моделей составляют 20 запросов в минуту и 50 в день. Дневной максимум повышается до 1000 после соответствующих покупок кредитов с заявленным порогом $10. Покупка кредитов является необязательной оплатой. Проверьте фактический дневной счетчик и уровень через free_model_daily_requests в авторизованном GET /api/v1/key. Для действующих ограничений расходов смотрите limit_remaining и effective_budget. Справочник лимитов описывает исключения и корректировки порога. Не определяйте квоту только по is_free_tier. Неудачные попытки могут расходовать дневной лимит, а одна задача агента может вызывать несколько запросов.
Определите причину ошибки и условие остановки
Сохраните тело ошибки, ID запроса, выбранную модель и провайдера. Изучите справочник ошибок, включая ошибки внутри потока, начатого с HTTP 200.
| Симптом | Как различить причины | Когда остановиться |
|---|---|---|
429 |
Проверьте X-RateLimit-*, Retry-After, метаданные провайдера и дневной счетчик. Квота OpenRouter и перегрузка провайдера требуют разных действий. |
Остановитесь при дневном лимите. При временном ограничении выдержите паузу и сделайте не более одной ручной повторной попытки. При повторном сбое остановитесь. Смена модели не обнуляет квоту аккаунта. |
404 с упоминанием модели или отсутствующих endpoints |
Сверьте точный ID с текущим каталогом, затем проверьте endpoints и ограничения маршрута. Существующий ID тоже может не иметь допустимого маршрута. | Остановитесь до исправления ID или появления разрешенного маршрута. Повтор не создает endpoint. Не удаляйте правило приватности ради успешного запроса. |
402 или бюджетный 403 |
До изменения лимитов изучите error.metadata.limit_source и страницу использования аккаунта. Проверьте платные резервы, баланс, пределы ключа и бюджет рабочего пространства. |
Прекратите бесплатную проверку при неожиданном платном маршруте. До пополнения выясните, какой уровень заблокировал запрос. |
| Ошибка контекста или текст вместо вызова инструмента | Проверьте точный endpoint, аргументы, подтверждения и запас контекста. Вернитесь к тесту одного файла. | Допускается одна исправленная проверка. Остановитесь при повторном сбое инструмента или достижении рамок запросов. |
Региональное ограничение также может вызвать 404, что описано в официальном объяснении региональной маршрутизации. Код HTTP сам по себе не является диагнозом.
О расширении читайте на нашей странице Kilo Code, а о различиях клиентов в сравнении Kilo Code и Cline.