# Roo Code (VS Code)

[Roo Code](https://github.com/RooCodeInc/Roo-Code) — форк Cline с режимами работы
(Code, Architect, Ask, Debug) и возможностью назначить разную модель каждому режиму.
Подключается через провайдер «OpenAI Compatible».

## Настройка

1. Установите расширение **Roo Code** из Marketplace.
2. Панель Roo Code → ⚙ → **Providers**.
3. Заполните:

| Поле | Значение |
|---|---|
| **API Provider** | `OpenAI Compatible` |
| **Base URL** | `https://api.agentapi.ru/v1/ai` |
| **API Key** | `agentapi-ВАШ_КЛЮЧ` |
| **Model** | `anthropic/claude-3.5-sonnet` |

Base URL — до `/v1/ai`, без `/chat/completions`. Модель вводится вручную полным слагом.

## Разные модели под разные режимы

Главное преимущество Roo Code — можно не платить за флагманскую модель там, где хватает
дешёвой. Создайте несколько профилей конфигурации (**Providers → +**), в каждом тот же
Base URL и ключ, но своя модель, и назначьте профиль режиму:

| Режим | Что делает | Разумная модель |
|---|---|---|
| **Code** | Пишет и правит код | `anthropic/claude-3.5-sonnet` |
| **Architect** | Планирует, не трогая файлы | `openai/gpt-4.1` |
| **Ask** | Отвечает на вопросы по коду | `deepseek/deepseek-chat` |
| **Debug** | Ищет причину ошибки | `anthropic/claude-3.5-sonnet` |

## Индексация кодовой базы

Если включаете семантический поиск, укажите там же embedding-модель:

| Поле | Значение |
|---|---|
| **Embedding Provider** | `OpenAI Compatible` |
| **Base URL** | `https://api.agentapi.ru/v1/ai` |
| **API Key** | `agentapi-ВАШ_КЛЮЧ` |
| **Model** | `openai/text-embedding-3-small` |

Эндпоинт embeddings не лимитируется по числу запросов, но токены оплачиваются —
для больших репозиториев оцените стоимость заранее.

## Что учесть

| Особенность | Следствие |
|---|---|
| Нет списка моделей | Слаг вводится вручную — внешнего `GET /v1/ai/models` нет |
| Изображения | Не поддерживаются, см. [Ограничения](https://agentapi.ru/docs/limitations) |
| Rate limit | 60 запросов/минуту **по IP**, общий для всех профилей и ключей |

## Диагностика

| Симптом | Что проверить |
|---|---|
| `404` | Пропущен `/ai` в Base URL или неверный хост |
| `401` | Ключ не начинается с `agentapi-` |
| `400 Negative or zero balance` | Пустой баланс |
| `502` | Неверный слаг модели |
| `429` | Лимит по IP — подождите минуту |
