Roo Code со своим API: провайдер OpenAI Compatible и go2llm
Roo Code настраивается через панель настроек в VS Code: выбираете провайдера OpenAI Compatible, вписываете Base URL https://go2llm.tech/v1, ключ gk_sk_… и точный Model ID. После этого Roo Code работает с Claude, GPT, Gemini, Kimi и GLM через один ключ и один счёт в долларах; зарубежная карта для оплаты не требуется.
Проверено живым запросом: нет. Инструкция составлена по документации Roo Code. Если что-то не сходится — напишите в @go2llm_support, поправим. Живым запросом у go2llm проверены только Claude Code и OpenCode. Roo Code относится к классу «клиент со своим base URL» — по документации Roo Code такой режим поддерживается штатно.
Источник документации: Roo Code — Using OpenAI Compatible Providers (актуальное зеркало: roocodeinc.github.io/Roo-Code/providers/openai-compatible).
Дата публикации: 11 сентября 2026.
Что понадобится
- Расширение Roo Code в VS Code (или в VS Code-совместимом редакторе).
- Ключ go2llm с префиксом
gk_sk_. При регистрации на баланс начисляется $1, минимальное пополнение — $1, оплата рублями через СБП или криптовалютой. - Base URL для OpenAI-совместимого протокола:
https://go2llm.tech/v1. - Точный public ID модели. Каталог отдаётся без ключа:
curl https://go2llm.tech/v1/models. Опубликованных моделей сейчас: 65.
Пошаговая настройка
Шаг 1. Откройте настройки Roo Code
Откройте панель Roo Code в VS Code и нажмите иконку шестерёнки — по документации Roo Code все параметры провайдера живут именно в этой панели настроек.
Шаг 2. Выберите провайдера
В поле API Provider выберите OpenAI Compatible. Это принципиальный момент: если выбрать провайдера «OpenAI», Roo Code пойдёт на https://api.openai.com/v1 и ваш ключ go2llm там не примут.
Шаг 3. Заполните три обязательных поля
Документация Roo Code называет их дословно:
| Поле в Roo Code | Что вписать |
|---|---|
| Base URL | https://go2llm.tech/v1 |
| API Key | gk_sk_… — ваш ключ из кабинета go2llm |
| Model | точный public ID, например claude-sonnet-5 |
Про Base URL документация Roo Code пишет прямо: «Enter the base URL provided by your chosen provider. This is crucial.» Адрес вводится с /v1 на конце и без завершающего слеша.
Шаг 4. Заполните блок Model Configuration
Roo Code даёт секцию Model Configuration, где задаются характеристики модели, которые Roo Code не может угадать для произвольного провайдера. Документированные поля: Max Output Tokens, Context Window, Image Support, Computer Use, Input Price, Output Price.
Рекомендации для go2llm:
- Image Support — выключить. Текстовые эндпоинты go2llm бинарные вложения не принимают и отвечают
400 unsupported_content_type. - Input Price / Output Price — заполнить ценами go2llm из таблицы ниже, чтобы счётчик расходов в Roo Code показывал реальные деньги, а не цены OpenAI.
- Context Window и Max Output Tokens — выставить по характеристикам выбранной модели.
Точные значения контекста для каждой модели go2llm сверяйте с официальной документацией вендора модели: единой таблицы context window по всем опубликованным моделям мы пока не публикуем. Список моделей доступен без ключа — GET https://go2llm.tech/v1/models.
Шаг 5. Проверьте, что модель умеет native tool calling
Здесь у Roo Code есть жёсткое ограничение, которого нет у большинства клиентов. Документация Roo Code: «Roo Code uses native tool calling exclusively. This is the only supported tool protocol — there is no XML-based fallback.» Если модель не поддерживает вызов инструментов в формате OpenAI, Roo Code с ней работать не будет вообще.
go2llm поддерживает tools на обоих эндпоинтах — /v1/chat/completions и /v1/messages. Но поддержка tools конкретной моделью — свойство самой модели. Берите модели, у которых tool use заявлен вендором: claude-sonnet-5, claude-opus-5, gpt-5.6-sol, gpt-5.3-codex.
Проверка, что заработало
Сначала проверьте шлюз отдельно от Roo 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 с фактической стоимостью запроса.
Теперь в Roo Code: откройте новую задачу и напишите «Прочитай README.md и ответь одним предложением, что делает этот проект». Правильное поведение — Roo Code вызовет инструмент чтения файла, покажет tool call в таймлайне задачи и вернёт ответ. Если tool call не появился, а пришёл голый текст — модель не умеет native tool calling, меняйте модель.
Какую модель выбрать
Актуальные ставки по каждой модели — на странице цен и в GET /api/pricing. «Кэш» — чтение кэша: у агента вроде Roo Code это основная статья расхода, потому что системный промпт и контекст файлов читаются из кэша на каждом шаге.
| Модель | Зачем нужна |
|---|---|
claude-sonnet-5 | 6.1× |
claude-opus-5 | 9.9× |
claude-haiku-4-5 | 7.7× |
gpt-5.3-codex | 3.4× |
gpt-5.6-sol | 9.9× |
kimi-k2.7-code | 9.9× |
glm-5.3 | 9.9× |
Сравнивать только цену входа неправильно: при профиле нагрузки кодинг-агента (вход 10%, выход 5%, чтение кэша 85%) решает именно цена cache read. Полная таблица — go2llm.tech/pricing.
Если не работает
- 401
no-key(в Roo Code это «Invalid API Key»). Ключ не передан или обрезан при копировании. Ключ go2llm начинается сgk_sk_. - 404
model_not_found(«Model Not Found» в Roo Code). Значение поля Model не совпадает с каталогом. Скопируйте точныйidизcurl https://go2llm.tech/v1/models:claude-sonnet-5иanthropic/claude-sonnet-5— разные строки. - 400
model_protocol_mismatch. Модель опубликована на другом эндпоинте. Нужный протокол для каждой модели указан в ответе/v1/models. - 403
model/inactive/expired/ip. У ключа стоит ограничение: не та модель в списке разрешённых, ключ отключён, истёк срок или ваш IP не в allow-list. Проверьте настройки ключа в кабинете. - 429
rate_limit. Лимит по умолчанию — 20 RPM на ключ. Roo Code в режиме автономной задачи легко его выбирает: учитывайтеRetry-After. - 502
upstream_unavailable. Внешний поставщик недоступен. Безопасный текстовый запрос можно повторить с задержкой; состояние шлюза видно на/status.
Разбор всех кодов — go2llm.tech/docs/errors.
FAQ
Чем Roo Code отличается от Kilo Code при подключении go2llm? Roo Code просит указать Base URL, API Key и Model вручную. Kilo Code умеет подтягивать список моделей автоматически из /v1/models. У go2llm этот эндпоинт открыт без ключа, поэтому автоподбор в Kilo Code срабатывает, а в Roo Code ID придётся вписать руками.
Почему Roo Code ругается на tool calling с дешёвой моделью? Roo Code не имеет XML-фолбэка для инструментов. Модели, которые не реализуют OpenAI-схему функций, в Roo Code неработоспособны независимо от шлюза. Это ограничение Roo Code, а не go2llm.
Можно ли ограничить расходы Roo Code? Да. На ключ go2llm выставляется квота в долларах и список разрешённых моделей. Ключ с квотой 0 идёт без отдельного лимита и ограничен только балансом. Стоимость каждого запроса возвращается в usage.cost_usd.
Что дальше
Как подключаются другие агенты и редакторы — в хабе go2llm.tech/docs/coding-tools. Эндпоинты, лимиты и форматы — go2llm.tech/docs.