Загрузка...

Вайб-кодинг в Zoo Code: настройка через RouterAI (Claude, GPT, DeepSeek)

Zoo Code — расширение VS Code с автономными ИИ-агентами, которое продолжает разработку Roo Code после того, как команда Roo закрыла проект. В этой статье мы установим его из Marketplace, подключим RouterAI как OpenAI-совместимого провайдера, разберём режимы Code / Architect / Ask / Debug и оркестратор, настроим MCP и перенесём настройки из Roo Code. Всё это — без VPN и с оплатой в рублях.

Что такое Zoo Code и зачем ему RouterAI

Zoo Code — форк Roo Code, который поддерживает команда бывших контрибьюторов Roo. В README репозитория прямо сказано: проект продолжает развитие после того, как команда Roo свернула активную работу над Roo Code. Расширение распространяется под лицензией Apache 2.0, ставится из VS Code Marketplace (идентификатор ZooCodeOrganization.zoo-code), текущая версия — 3.92.0.

Что даёт Zoo Code:

  • Режимы — Code, Architect, Ask, Debug и собственные. Каждый режим — отдельная роль со своим набором инструментов и системным промптом: Architect не станет править код, Ask не получит доступ к записи файлов.
  • Оркестратор (Boomerang Tasks) — режим, который разбивает большую задачу на подзадачи и раздаёт их другим режимам, каждая в изолированном контексте.
  • MCP — подключение внешних инструментов и сервисов по Model Context Protocol.
  • Своя модель на каждый режим — например, планирование на сильной модели, рутинные правки — на быстрой и дешёвой.

Сам Zoo Code модель не предоставляет: нужен ключ провайдера. Здесь и пригодится RouterAI — один ключ ко всем популярным моделям (Claude, GPT, DeepSeek, Gemini и другие) в формате OpenAI API. Расширение видит RouterAI как обычного OpenAI-совместимого провайдера, поэтому достаточно подставить Base URL.

Требования

  • VS Code (или совместимый редактор с поддержкой расширений Marketplace).
  • Аккаунт RouterAI и созданный ключ sk-... из раздела «Ключи API».
  • Модель, которая поддерживает native tool calling по схеме OpenAI. Zoo Code работает только с нативным вызовом инструментов — XML-фолбэка в нём нет, и модель без поддержки инструментов подключить не получится.

Установка

  1. Откройте панель Extensions (Ctrl+Shift+X, на macOS — Cmd+Shift+X).
  2. Введите в поиске Zoo Code.
  3. Найдите расширение Zoo Code от издателя ZooCodeOrganization и нажмите Install.
  4. После установки в боковой панели появится иконка Zoo Code — нажмите на неё.

Поиск расширения Zoo Code в VS Code Marketplace

Первый запуск показывает экран Welcome to Zoo Code с кнопкой Choose your provider и ссылкой Import Settings внизу — она понадобится, если вы переходите с Roo Code.

Подключение к RouterAI

В мастере первого запуска заполните четыре поля (номера соответствуют меткам на скриншоте):

  1. API Provider — выберите OpenAI Compatible из списка провайдеров (в строке поиска достаточно набрать OpenAI Compatible).
  2. Base URL — https://routerai.ru/api/v1.
  3. API Key — ваш ключ RouterAI.
  4. Model — идентификатор модели из каталога RouterAI, например anthropic/claude-sonnet-5.5. Начните вводить его в поле — Zoo Code подскажет совпадения; если нужной модели нет в списке подсказок, выберите вариант Use custom.

Подключение Zoo Code к RouterAI: провайдер OpenAI Compatible, Base URL, API Key и Model

Нажмите Finish — откроется панель чата.

Добавить остальные модели

Одну модель на все задачи держать невыгодно: архитектуру лучше доверить Claude Sonnet, а мелкие правки — быстрой Haiku или DeepSeek. Остальные модели добавляются в настройках:

  1. Нажмите шестерёнку в шапке панели Zoo Code — откроются Settings.
  2. Раздел Providers (иконка вилки). Здесь же лежит текущий профиль Configuration Profile — профили позволяют держать несколько наборов настроек и переключаться между ними.
  3. Задайте тот же Base URL и API Key, поменяйте Model и, при желании, имя профиля.
  4. Нажмите Save.

Настройки провайдера Zoo Code: Base URL, API Key и Model в разделе Providers

Под полем Model Zoo Code показывает, что он знает о модели: длину контекста, поддержку изображений и кэширования, цены. Для нестандартных моделей эти параметры задаются вручную — Context Window Size, Max Output Tokens, Image Support. Значения берите из каталога RouterAI, а не угадывайте: слишком маленькое окно контекста обрежет задачу, слишком большое приведёт к ошибкам провайдера.

Режимы: Code, Architect, Ask, Debug и Orchestrator

Режим переключается селектором слева под полем ввода, слэш-командой в начале сообщения (/code, /architect, /ask, /debug, /orchestrator) или сочетанием Ctrl+., которое циклически перебирает режимы.

Режим Что делает Доступ к инструментам
💻 Code Основной режим: правки файлов, запуск команд, реализация фич Полный: чтение, редактирование, терминал, MCP
🏗️ Architect Планирование: структура проекта, спецификации, миграции Чтение, MCP и правка только markdown-файлов
❓ Ask Объяснения и вопросы по кодовой базе Только чтение и MCP
🪲 Debug Поиск причин ошибок: логи, изоляция проблемы Полный
🪃 Orchestrator Декомпозиция задачи и делегирование подзадач другим режимам Управляющий режим, работает через подзадачи

Каждый режим запоминает свою модель: переключили режим — Zoo Code сам подставит ту, что вы назначили ему в Settings → Modes. Это и есть основной способ экономить: Architect на Claude Sonnet 5.5, Code на anthropic/claude-haiku-5.5 или deepseek/deepseek-v4-flash, а сложные правки — обратно на Sonnet.

Оркестратор (Boomerang Tasks)

В режиме Orchestrator вы описываете большую задачу, а Zoo Code разбивает её на подзадачи и запускает каждую в отдельном режиме — например, сначала Architect проектирует, затем Code реализует, затем Debug проверяет. Ключевой момент: каждая подзадача работает в изолированном контексте и не наследует родительский. В родитель возвращается только итоговое резюме, поэтому основной контекст не забивается диффами и логами. По умолчанию создание и завершение каждой подзадачи нужно подтверждать вручную.

MCP: внешние инструменты

MCP-серверы в Zoo Code настраиваются на двух уровнях: глобально в файле mcp_settings.json и на уровне проекта в .roo/mcp.json (путь остался от Roo Code). Если имя сервера есть в обоих файлах, приоритет у проектного. Открыть оба файла можно из панели MCP: иконка MCP в верхней навигации → прокрутить вниз → Edit Global MCP или Edit Project MCP.

Панель MCP Servers в настройках Zoo Code: включение MCP и кнопки Edit Global MCP, Edit Project MCP, Refresh MCP Servers

Формат конфигурации стандартный:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/project"],
      "alwaysAllow": ["read_file"],
      "disabled": false
    }
  }
}

Поддерживаются три транспорта: STDIO для локальных процессов, Streamable HTTP (рекомендуется для новых удалённых серверов) и SSE для старых.

Перенос настроек из Roo Code

Если вы уже работали в Roo Code, перенос делается в два шага — экспорт и импорт одного и того же файла:

  1. Откройте настройки Roo Code и нажмите Export. В диалоге сохранения выберите папку и сохраните файл.
  2. В Zoo Code нажмите Import Settings (кнопка на экране приветствия, а также команда Zoo Code: Import Settings в палитре команд) и выберите этот файл.

Zoo Code импортирует файл и сольёт настройки с текущими. Учтите: в экспорте могут лежать API-ключи, поэтому файл не стоит хранить в репозитории или пересылать.

Выбор модели

Zoo Code требует поддержки native tool calling, поэтому для агентных режимов берите модели с инструментами. Ориентир по задачам:

Модель (id в RouterAI) Для чего
anthropic/claude-sonnet-5.5 Основная рабочая модель: сложные правки, рефакторинг, режимы Code и Architect
anthropic/claude-haiku-5.5 Быстрая и дешёвая: рутинные правки, Ask, черновики тестов
openai/gpt-5.5 Второе мнение на архитектуре, задачи, где GPT сильнее
deepseek/deepseek-v4-flash Массовые однотипные изменения, длинные файлы — экономит бюджет
google/gemini-3.1-pro-preview Большой контекст, разбор крупных репозиториев

Актуальный список и цены — в каталоге моделей RouterAI. Идентификаторы меняются: если модель перестала отвечать, сверьтесь с каталогом.

Проверка подключения

Самый быстрый способ — попросить что-то простое, что не требует правок:

  1. Переключитесь в режим Ask.
  2. Напишите: Сколько файлов в этом проекте и что делает invoices.js?
  3. Агент должен прочитать файлы и ответить по существу.

Если ответ пришёл — связка работает.

Так выглядит рабочая задача в режиме Code на демо-проекте Invoices: модель через RouterAI прочитала файлы, добавила функцию overdueInvoices() и показывает дифф перед сохранением.

Живая сессия Zoo Code в режиме Code на демо-проекте Invoices: модель через RouterAI добавляет overdueInvoices() в invoices.js, дифф изменений и кнопки Save/Deny

При подключении из России VPN не нужен: запросы идут на https://routerai.ru/api/v1. Расход токенов и стоимость запросов видны в статистике RouterAI.

Решение проблем

401 Unauthorized или OpenAI completion error: 401. Ключ не сохранён или сохранён не полностью. Откройте Settings → Providers, вставьте ключ в поле API Key ещё раз и нажмите Save — без сохранения профиля ключ в запрос не попадёт.

401 в браузерном VS Code (openvscode-server, code-server). В веб-версии редактора Zoo Code (проверено на 3.92.0) может не сохранять ключ, введённый в поле API Key: профиль сохраняется, а запросы всё равно получают 401. Рабочий обход — автоимпорт настроек. Создайте файл, например ~/zoo-settings.json:

{
  "providerProfiles": {
    "currentApiConfigName": "routerai",
    "apiConfigs": {
      "routerai": {
        "apiProvider": "openai",
        "openAiBaseUrl": "https://routerai.ru/api/v1",
        "openAiApiKey": "sk-xxxxxxxxxxxxxxxx",
        "openAiModelId": "anthropic/claude-sonnet-5.5"
      }
    }
  },
  "globalSettings": {}
}

и укажите путь к нему в settings.json редактора: "zoo-code.autoImportSettingsPath": "~/zoo-settings.json". При следующем запуске расширение импортирует профиль (в логе Zoo Code появится [AutoImport] Successfully imported settings). Файл содержит ключ — не кладите его в репозиторий.

404 или model not found. В поле Model указан несуществующий id. Скопируйте идентификатор из каталога целиком, с префиксом провайдера: anthropic/claude-sonnet-5.5, а не claude-sonnet-5.5.

Агент не вызывает инструменты, отвечает текстом. Модель не поддерживает native tool calling либо провайдер реализует схему частично. Возьмите модель из таблицы выше — Zoo Code не умеет работать через XML-фолбэк.

Ошибка про лимит контекста. В настройках модели задано Context Window Size больше, чем поддерживает модель, или наоборот — меньше реального. Выставьте значение из каталога RouterAI.

API Streaming Failed. Обычно следствие двух предыдущих причин — неверного ключа или модели. Проверьте их, затем нажмите Retry.

Что дальше

Удачного вайб-кодинга!