🤖

Roo Code: ваш AI-напарник в VS Code

Открытый AI coding-агент — форк Cline с расширенной архитектурой, поддержкой любых LLM-провайдеров, многоагентными возможностями и полной кастомизацией под ваш рабочий процесс

🆓 Бесплатно 🔓 Open Source (Apache 2.0) 🧩 BYOK — ваш ключ, ваши правила 🔌 MCP-серверы 🧠 Plan + Act режимы

# 1. Что такое Roo Code и чем он отличается от Cline

Roo Code — это open-source расширение для VS Code, представляющее собой автономного AI-агента, способного читать и редактировать файлы, запускать команды в терминале, выполнять поиск по проекту и взаимодействовать с внешними API через MCP-серверы. Изначально проект появился как форк популярного расширения Cline (ранее Claude Dev) и назывался Roo Cline. Со временем он перерос родительский проект, добавив уникальные возможности, которые делают его самостоятельным продуктом.

Ключевые отличия от Cline: гранулярная система ролей (Plan/Act/Commander), поддержка кастомных режимов с собственными системными промптами, встроенный мультиагентный оркестратор (Roo Commander), который может распараллеливать задачи между несколькими суб-агентами, и расширенная интеграция с MCP-серверами. При этом Roo Code сохраняет полную совместимость с экосистемой Cline — можно использовать те же MCP-конфигурации и провайдеров.

Проект распространяется под лицензией Apache 2.0, весь код доступен на GitHub. Это означает полную прозрачность: вы всегда можете проверить, что именно агент отправляет внешним API и как обрабатывает ваши данные. Модель BYOK (Bring Your Own Key) — вы используете собственные API-ключи, никакой дополнительной платы за расширение нет.

# 2. Архитектура Roo Code

Понимание архитектуры помогает эффективнее использовать агента. Roo Code построен по модульному принципу: UI-слой в VS Code взаимодействует с ядром агента, которое маршрутизирует запросы к выбранному LLM-провайдеру, а ответы преобразует в конкретные действия — редактирование файлов, терминальные команды, вызовы MCP-инструментов.

Архитектура Roo Code VS Code UI Чат-интерфейс · Панель задач 🧠 Ядро агента Парсинг задач · Маршрутизация · Контекст Plan Mode / Act Mode / Commander 🔗 LLM-провайдеры (подключаемые адаптеры) Anthropic Claude · OpenAI GPT · DeepSeek · OpenRouter · Google Gemini · Ollama (локальные) · LM Studio ⚙️ Встроенные инструменты read_file · write_file · terminal · search · browser 🔌 MCP-серверы Базы данных · GitHub · Jira · Slack · кастомные результат / ошибка

# 3. Установка и первый запуск

Установка предельно проста — Roo Code доступен в официальном маркетплейсе VS Code. Откройте панель расширений (Ctrl+Shift+X / Cmd+Shift+X), введите в поиске «Roo Code» и нажмите Install. Либо используйте командную строку:

# Быстрая установка из терминала VS Code
code --install-extension rooveterinaryinc.roo-cline

# Альтернативно — поиск и установка из CLI
code --list-extensions | grep roo

После установки в боковой панели VS Code появится иконка Roo Code (стилизованный кенгуру/робот). При первом открытии расширение предложит базовую настройку — выбор провайдера и ввод API-ключа. На этом этапе агент ещё не активен: вы сами решаете, когда начинать сессию.

# 4. Настройка LLM-провайдеров

Roo Code поддерживает множество провайдеров «из коробки». В настройках расширения (шестерёнка → API Provider) вы выбираете нужный и вводите API-ключ. Конфигурация хранится локально в защищённом хранилище VS Code (Secret Storage) и никогда не покидает вашу машину, кроме как в зашифрованных запросах к выбранному API.

Anthropic Claude (рекомендуется) — лучшая производительность для сложных задач:

# Получите ключ на https://console.anthropic.com
# В настройках Roo Code:
API Provider: Anthropic
API Key:    sk-ant-api03-xxxxxxxxxxxxxxxx
Model:       claude-sonnet-4-20250514

DeepSeek — бюджетный вариант с отличным качеством кода:

# Ключ: https://platform.deepseek.com
API Provider: DeepSeek
API Key:    sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Model:       deepseek-chat  # или deepseek-reasoner для сложных задач

Ollama (локально) — полная конфиденциальность, модель на вашей машине:

# Установите Ollama: https://ollama.com
ollama pull qwen2.5-coder:14b

# В настройках Roo Code:
API Provider: Ollama
Base URL:   http://localhost:11434/v1
Model:       qwen2.5-coder:14b

Roo Code также поддерживает OpenRouter (единый API-ключ для 200+ моделей), Google Gemini, OpenAI, LM Studio и любые OpenAI-совместимые эндпоинты (vLLM, LiteLLM, Together AI и др.). Переключение между провайдерами занимает один клик в выпадающем меню.

# 5. Режимы работы: Plan, Act и Commander

Одно из главных преимуществ Roo Code перед Cline — система режимов (modes). Каждый режим имеет собственный системный промпт, набор доступных инструментов и стратегию поведения. Это позволяет тонко контролировать, как агент взаимодействует с вашим проектом.

📋 Plan Mode (режим планирования)

В этом режиме агент не выполняет никаких изменений — он только анализирует задачу, изучает кодовую базу с помощью read_file и search, после чего выдаёт структурированный план действий. Plan Mode идеален на старте сложных задач: вы получаете пошаговую стратегию, оцениваете её корректность и только затем переключаете агента в Act Mode для реализации. Системный промпт Plan Mode инструктирует модель быть максимально аналитичной, разбивать задачу на атомарные шаги и явно указывать файлы, которые потребуется изменить.

⚡ Act Mode (режим действий)

Основной рабочий режим: агент имеет доступ ко всем инструментам — чтение и запись файлов, выполнение терминальных команд, поиск, браузер (через Puppeteer), MCP-серверы. Act Mode автономно итерирует: пишет код → запускает тесты → видит ошибки → исправляет → повторяет, пока задача не будет решена. Вы можете в любой момент остановить агента, дать промежуточную обратную связь или скорректировать направление.

🚀 Roo Commander (мультиагентный оркестратор)

Самый мощный режим. Commander декомпозирует сложную задачу на подзадачи и запускает несколько суб-агентов параллельно (каждый — в отдельной «песочнице» с ограниченным контекстом). Например, при миграции базы данных Commander может поручить первому агенту анализ схемы, второму — написание миграционных скриптов, а третьему — обновление ORM-моделей. Результаты агрегируются в итоговый отчёт. Commander работает поверх стандартных Plan/Act — вы можете в любой момент переключиться в обычный чат для ручного контроля.

# 6. Подключение MCP-серверов

Model Context Protocol (MCP) — открытый протокол от Anthropic, позволяющий AI-агентам взаимодействовать с внешними сервисами через стандартизированный интерфейс. Roo Code полностью поддерживает MCP: вы подключаете сервер, и у агента появляются новые «инструменты» — запросы к базе данных, создание тикетов в Jira, деплой через GitHub Actions и так далее.

Конфигурация MCP-серверов задаётся в JSON-файле. Откройте настройки Roo Code, найдите раздел MCP Servers и добавьте конфигурацию:

// Файл конфигурации MCP-серверов (VS Code settings.json)
"roo-cline.mcpServers": {
  "postgres": {
    "command": "npx",
    "args": [
      "-y",
      "@anthropic/mcp-server-postgres",
      "postgresql://user:pass@localhost:5432/mydb"
    ]
  },
  "github": {
    "command": "npx",
    "args": [
      "-y",
      "@anthropic/mcp-server-github"
    ],
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
    }
  },
  "filesystem": {
    "command": "npx",
    "args": [
      "-y",
      "@anthropic/mcp-server-filesystem",
      "/home/user/projects"
    ]
  }
}

После сохранения конфигурации Roo Code автоматически запускает MCP-серверы как дочерние процессы. В интерфейсе чата появится список доступных инструментов от каждого сервера. Агент будет использовать их прозрачно — например, при запросе «покажи топ-10 пользователей по заказам» он сам вызовет MCP-инструмент для выполнения SQL-запроса.

Кроме официальных серверов от Anthropic, вы можете подключать любые MCP-совместимые серверы, включая самописные на Python или TypeScript. Протокол MCP использует JSON-RPC поверх stdio или HTTP (с SSE-транспортом), что делает интеграцию тривиальной.

# 7. Кастомные режимы (Custom Modes)

Roo Code позволяет создавать собственные режимы с уникальными системными промптами, набором доступных инструментов и правилами поведения. Это мощнейший механизм для адаптации агента под специфику вашего проекта или команды.

Кастомные режимы настраиваются в JSON-конфигурации расширения. Вы определяете имя режима, роль (alwaysApply для автоактивации или manual для ручного выбора), системный промпт и список разрешённых/запрещённых инструментов:

// Настройка кастомных режимов в VS Code settings.json
"roo-cline.customModes": [
  {
    "slug": "code-reviewer",
    "name": "🔍 Code Reviewer",
    "role": "Ты — строгий ревьюер кода. Проверяешь безопасность, " +
           "производительность, читаемость и соответствие лучшим практикам. " +
           "НИКОГДА не изменяешь код, только даёшь рекомендации.",
    "groups": ["read"],
    "customInstructions": "Всегда указывай severity и файл/строку."
  },
  {
    "slug": "test-writer",
    "name": "🧪 Test Writer",
    "role": "Ты пишешь только тесты. Твоя задача — покрыть код юнит-тестами " +
           "с максимальным покрытием. Используй pytest (Python) или jest (JS/TS).",
    "groups": ["read", "edit", "command"],
    "customInstructions": "Пиши тесты в отдельных файлах. Запускай их сразу."
  },
  {
    "slug": "docs-writer",
    "name": "📝 Docs Writer",
    "role": "Ты пишешь документацию. Создаёшь README, docstrings, " +
           "API-документацию. Формат: Markdown или reStructuredText.",
    "groups": ["read", "edit"]
  }
]

После настройки кастомные режимы появляются в выпадающем меню рядом со стандартными Plan/Act. Вы можете переключаться между ними прямо во время сессии — агент мгновенно адаптирует своё поведение под новый контекст. Это особенно полезно в CI/CD-пайплайнах и при работе в больших командах, где разные участники выполняют разные роли.

# 8. Продвинутый пример: автономная задача с тестами

Рассмотрим реальный сценарий. Допустим, у вас есть Python-проект с REST API на FastAPI, и вы хотите добавить новый эндпоинт для получения статистики пользователей. Вы даёте агенту задачу в Act Mode:

# Промпт, который вы отправляете агенту:
"Добавь эндпоинт GET /api/users/stats, который возвращает:
    - total_users: общее количество пользователей
    - active_today: активные за последние 24 часа
    - by_role: группировка по ролям (user, admin, moderator)
  Используй SQLAlchemy для запросов к PostgreSQL.
  Напиши unit-тесты с pytest и проверь, что всё работает."

Агент выполнит следующую последовательность самостоятельно:

# 1. Изучит структуру проекта
read_file("app/main.py")
read_file("app/models/user.py")
read_file("app/routers/")

# 2. Добавит Pydantic-схему
# app/schemas/stats.py
from pydantic import BaseModel
from typing import Dict

class UserStatsResponse(BaseModel):
    total_users: int
    active_today: int
    by_role: Dict[str, int]

# 3. Добавит эндпоинт в роутер
# app/routers/users.py
@router.get("/stats", response_model=UserStatsResponse)
async def get_user_stats(
    db: Session = Depends(get_db)
):
    now = datetime.utcnow()
    yesterday = now - timedelta(days=1)

    total = db.query(User).count()
    active = db.query(User).filter(
        User.last_active >= yesterday
    ).count()
    roles = db.query(User.role, func.count(User.id))\
              .group_by(User.role).all()

    return UserStatsResponse(
        total_users=total,
        active_today=active,
        by_role={dict(roles)}
    )

# 4. Напишет и запустит тесты
# tests/test_user_stats.py
async def test_get_user_stats(client, db_session):
    create_test_users(db_session)
    response = client.get("/api/users/stats")
    assert response.status_code == 200
    data = response.json()
    assert data["total_users"] == 5
    assert "user" in data["by_role"]

# 5. Увидит результат тестов
terminal("pytest tests/test_user_stats.py -v")
# → 3 passed in 1.02s

# 6. Если тесты упали — найдёт ошибку в трейсе, исправит, перезапустит

Весь цикл от получения задачи до работающего протестированного кода занимает 1–3 минуты. Вы как разработчик только формулируете задачу на естественном языке и проверяете итоговый результат. При необходимости агент сам запустит линтер (ruff/flake8), форматтер (black) и убедится, что код соответствует стилю проекта.

# 9. Сравнение Roo Code vs Cline: что выбрать

Оба расширения решают одну задачу — дать разработчику AI-агента в VS Code, — но с разной философией. Cline придерживается минималистичного подхода: один агент, один поток, фокус на надёжности. Roo Code расширяет эту концепцию системой режимов, мультиагентностью и глубокой кастомизацией.

Критерий Roo Code Cline
Лицензия Apache 2.0 Apache 2.0
Цена Бесплатно (BYOK) Бесплатно (BYOK)
LLM-провайдеры 10+ (включая кастомные) 8+ провайдеров
Режимы работы Plan / Act / Commander + кастомные Единый режим
Мультиагентность ✅ Roo Commander ❌ Нет
MCP-серверы ✅ Полная поддержка ✅ Полная поддержка
Кастомные промпты ✅ Custom Modes ✅ .clinerules
Лучше для Сложные проекты, команды, кастомизация Простые задачи, минимализм, стабильность

Выбор зависит от ваших потребностей. Если вы цените простоту и предсказуемость — Cline отличный выбор. Если вам нужна гибкость, мультиагентные сценарии, кастомные режимы под специфику команды и продвинутая оркестрация — Roo Code даёт значительно больше возможностей без дополнительной платы.

✅ Итог

Roo Code — это эволюция идеи AI coding-агента в VS Code. Взяв за основу проверенную архитектуру Cline, проект добавил систему режимов (Plan/Act/Commander), полноценную мультиагентность, кастомные режимы с собственными промптами и расширенную интеграцию с MCP-серверами. При этом расширение остаётся полностью бесплатным и open-source (Apache 2.0), с моделью BYOK — вы платите только за API-запросы к выбранному LLM-провайдеру. Для соло-разработчиков Roo Code заменяет рутинные операции: написание тестов, рефакторинг, документирование, поиск по кодовой базе. Для команд — даёт единый интерфейс AI-помощника с настраиваемыми ролями и аудитом всех действий. Начать можно за 2 минуты: ext install rooveterinaryinc.roo-cline — и ваш AI-напарник готов к работе.