Zoo Code - ai помощник программирования - 2026
Published: 2026-08-19
Zoo Code — открытый (Apache 2.0) AI-ассистент программирования для редактора Visual Studio Code, продолжающий развитие проекта Roo Code после его сворачивания командой разработчиков в 2026 году. Zoo Code позиционируется как «целая команда разработчиков из AI-агентов прямо в вашем редакторе»: он умеет генерировать код по описанию на естественном языке, рефакторить и отлаживать существующий код, работать с терминалом, файловой системой и внешними инструментами через протокол MCP (Model Context Protocol).
Проект создан группой бывших контрибьюторов Roo Code и поддерживается сообществом. Расширение распространяется бесплатно через VS Code Marketplace и Open VSX Registry. Модельная агностичность — одна из ключевых идей проекта: пользователь сам выбирает провайдера (Anthropic, OpenAI, Google, DeepSeek, OpenRouter и десятки других) и платит напрямую провайдеру за использованные токены, либо пользуется опциональным шлюзом Zoo Gateway с кредитной системой без подписки.
История: от Roo Code к Zoo Code
История Zoo Code неразрывно связана с историей семейства Cline — популярных AI-ассистентов для VS Code, работающих по схеме «агент с доступом к файлам, терминалу и инструментам». Проект Roo Code был одним из самых массовых представителей этого семейства: по данным на начало 2026 года, расширение установили более трёх миллионов раз.
В апреле 2026 года команда Roo Code объявила о сворачивании активной разработки плагина, чтобы сфокусироваться на собственном облачном продукте Roomote. Это известие вызвало широкий резонанс в сообществе: большое количество пользователей не хотело терять инструмент, к которому привыкли. Группа разработчиков из сообщества — многие из которых ранее вносили вклад в Roo Code — решила продолжить проект самостоятельно.
Так появился Zoo Code. Проект был опубликован под новым маркетплейс-идентификатором ZooCodeOrganization.zoo-code, а версия 3.54.0 (выпущенная 8 мая 2026 года) стала первым релизом под новым брендом, продолжив нумерацию версий с Roo Code 3.53.0. Такая преемственность версий подчёркивает, что Zoo Code — это не отдельный новый продукт, а прямое продолжение существующего.
Ключевые принципы нового проекта:
- полная преемственность кодовой базы Roo Code (форк);
- сохранение лицензии Apache 2.0;
- совместимость настроек: конфигурации Roo Code переносятся в Zoo Code практически без изменений;
- развитие функциональности: новые провайдеры, новые модели, улучшение надёжности;
- управление сообществом: любой пользователь может открыть issue, предложить PR и влиять на дорожную карту.
По состоянию на август 2026 года репозиторий Zoo Code на GitHub насчитывает более 1,7 тысячи звёзд, 235 форков и свыше 7,5 тысячи коммитов. Расширение установлено около 75 тысяч раз в VS Code Marketplace, а текущая версия в основной ветке репозитория — 3.78.0.
Что умеет Zoo Code
Zoo Code — полнофункциональный агентный инструмент разработки. Его возможности включают:
- генерацию кода из описаний и спецификаций на естественном языке;
- рефакторинг и отладку существующего кода;
- написание и обновление документации;
- ответы на вопросы о кодовой базе;
- автоматизацию повторяющихся задач;
- подключение внешних инструментов и данных через MCP-серверы;
- работу с git-репозиториями, терминалом и файловой системой;
- создание чекпоинтов для отката изменений;
- работу с git worktree;
- семантический поиск по кодовой базе;
- многозадачность и делегирование подзадач агентам.
Все изменения перед применением показываются пользователю в виде диффов — «никаких тихих перезаписей». Расширение использует модель разрешений: по умолчанию агент запрашивает подтверждение на каждое значимое действие (запись файлов, выполнение команд, доступ к сети), однако пользователь может включить режим автоподтверждения (Auto-Approve) для длительных автономных прогонов.
Режимы (Modes)
Одна из центральных идей Zoo Code — режимы работы агента (Modes). Каждый режим задаёт агенту особую роль, ограничения и набор разрешённых инструментов. Переключение режимов позволяет получать разные подходы к одной и той же задаче.
Встроенные режимы:
- Code — повседневное программирование: правки файлов, файловые операции, выполнение команд;
- Architect — планирование сложных изменений без внесения правок: агент составляет стратегические документы и карты файлов до того, как будет написан код;
- Ask — быстрые ответы, объяснения и документация без изменения кодовой базы;
- Debug — трассировка проблем, добавление логов, изоляция первопричин;
- Custom Modes — пользовательские режимы, создаваемые под конкретные рабочие процессы (например, режим аудита безопасности или режим документации).
Режимы описываются в файлах конфигурации, в том числе в формате .roomodes с JSON-схемой. Каждому режиму можно задать группы инструментов, ограничения на редактирование определённых типов файлов и инструкции. Для разработки самого Zoo Code в репозитории определены специализированные режимы: переводчик локализаций, исправитель GitHub-issues, обработчик pull-request'ов, разрешитель конфликтов слияния, извлекатель документации и другие.
В состав проекта входит также режим Orchestrator («бумеранг-режим»): оркестратор координирует выполнение задач другими режимами, делегирует подзадачи и собирает результаты. Улучшению именно этих рабочих процессов команда Zoo Code уделяет особое внимание.
Модельная агностичность и провайдеры
Zoo Code не привязан к какой-либо одной языковой модели. Расширение поддерживает более 40 провайдеров API, среди которых:
| Провайдер | Особенности |
|---|---|
| Anthropic | Claude Opus/Sonnet/Haiku, прямое подключение к API |
| Amazon Bedrock | модели Anthropic и Cohere через AWS, поддержка корпоративных прокси |
| Google Vertex AI | модели Gemini с обработкой мыслительных сигнатур, мультирегиональные эндпоинты |
| OpenAI / OpenAI Codex | GPT-5.x семейство, включая ChatGPT-подписку через OAuth |
| DeepSeek | DeepSeek V4 с поддержкой reasoning_content и изображений |
| OpenRouter | универсальный шлюз с сотнями моделей |
| Zoo Gateway | собственный шлюз Zoo Code с кредитной системой |
| Vercel AI Gateway | шлюз от Vercel с поддержкой кэширования промптов |
| Moonshot AI | Kimi-модели с живым обнаружением моделей |
| Kimi Code | OAuth-авторизация по device-flow |
| Z.AI / GLM | модели GLM (вплоть до GLM 5.3) |
| xAI | Grok 4.5 и новее через Responses API |
| OpenCode Go | шлюз с моделями Qwen, GLM, Kimi и другими |
| NanoGPT | динамическое обнаружение моделей и роутинг по скорости/цене |
| LiteLLM | прокси для сотен моделей, поддержка reasoning-полей |
| Kenari | индонезийский OpenAI-совместимый шлюз |
| Friendli | серверный инференс, GLM-модели |
| Fireworks | GLM, DeepSeek, Qwen и другие модели |
| Ollama / LM Studio | локальные модели |
| MiniMax, Mistral, Poe, Requesty, SambaNova, Baseten, Unbound и др. | дополнительные провайдеры |
Команда проекта регулярно добавляет поддержку новейших моделей. Например, в версии 3.78.0 появились Gemini 3.7 Flash, GLM 5.3 и Qwen3.8 Max, а также обновлённая поддержка DeepSeek V4. Ранее были добавлены Claude Opus 5, Claude Sonnet 5, GPT-5.6 (sol, terra, luna), Grok 4.5, Kimi K3, MiniMax-M3, Gemini 3.6 Flash и другие.
Для каждого провайдера реализованы собственные трансформации форматов сообщений (Anthropic, OpenAI, Gemini, Bedrock, MiniMax, Mistral и т.д.), обработка потоковых ответов, извлечение reasoning-полей и поддержка кэширования промптов.
Zoo Gateway
Zoo Gateway — опциональный унифицированный API проекта Zoo Code. Вместо управления ключами API от каждого провайдера пользователь покупает кредиты Zoo Gateway и получает доступ ко всем поддерживаемым моделям через одну учётную запись.
Особенности Zoo Gateway:
- аутентификация через OAuth-поток на сайте zoocode.dev с колбэком в расширение;
- токены вида zoo_ext_…, хранящиеся в защищённом хранилище секретов VS Code (SecretStorage);
- верификация токена при запуске расширения и после входа;
- передача служебных заголовков X-Zoo-Editor, X-Zoo-Extension-Version, X-Zoo-Task-ID, X-Zoo-Mode для отслеживания запросов;
- умная обработка ошибок API: при истечении сессии — предложение повторного входа, при исчерпании бюджета или кредитов — переход на страницу пополнения, при блокировке аккаунта — обращение в поддержку;
- синхронизация токенов между профилями (multi-profile token sync);
- поддержка кэширования промптов для моделей, которые его допускают;
- оплата только за кредиты, без обязательной подписки.
Использование Zoo Gateway полностью необязательно: пользователь может продолжать подключать любых провайдеров напрямую, внося собственные ключи API (модель BYOK — bring your own key).
Semble: семантический поиск по коду
Для поиска по кодовой базе Zoo Code использует несколько механизмов:
- классический полнотекстовый поиск на базе ripgrep (инструмент search_files);
- семантический поиск через индексирование кода с эмбеддингами и векторной базой Qdrant (опциональный индексатор на основе tree-sitter с восемью провайдерами эмбеддингов);
- поиск через локальный CLI Semble — «интеллект кодовой базы», добавленный в версии 3.58.0.
Semble — это отдельный бинарный CLI, который расширение скачивает автоматически при первом включении. Его ключевое отличие от классического индексирования — индексация «на лету»: никакого отдельного шага построения индекса и фоновых процессов не требуется. Поиск выполняется при каждом запросе.
Команды Semble:
- search <запрос> — семантический поиск по кодовой базе;
- find-related <файл> <строка> — поиск похожего кода;
- clear — очистка кэшей;
- install / uninstall — настройка интеграций с агентами кодинга;
- savings — статистика сэкономленных токенов.
Важные детали реализации в Zoo Code:
- вызов бинарника через spawn без shell — защита от инъекций в аргументах;
- ограничение буфера вывода 10 МБ — защита от переполнения памяти;
- проверка SHA-256 загружаемых архивов и ограничение доверенных доменов скачивания;
- фильтрация результатов поиска по префиксу каталога;
- защита от path traversal: результаты, выходящие за пределы рабочей области, отбрасываются;
- кэш Semble хранится на уровне всей рабочей области, чтобы не плодить дублирующиеся индексы.
Поиск по кодовой базе особенно важен для больших репозиториев, где контекстное окно модели ограничено: вместо загрузки всего файла агент получает релевантные фрагменты кода.
Destructive Command Guard (DCG)
Destructive Command Guard — опциональный защитный слой, блокирующий опасные команды терминала до их выполнения. Проект DCG (автор — Dicklesworthstone) — отдельный высокопроизводительный инструмент на Rust, защищающий от катастрофических команд вроде git reset --hard, rm -rf или DROP TABLE.
Zoo Code интегрирует DCG как опциональную функцию: расширение скачивает бинарник dcg (версия v0.7.7) из официальных релизов GitHub с проверкой контрольных сумм, после чего перед выполнением каждой команды терминала вызывает dcg test --format json. Бинарник поддерживает все основные платформы: macOS (включая Intel, добавлено в 3.78.0), Linux (x86_64 и ARM64) и Windows.
Как это работает:
- если DCG разрешает команду — агент продолжает работу без лишних запросов подтверждения;
- если DCG блокирует команду — пользователю показывается объяснение причины блокировки и предложение альтернативы;
- решение принимается с ограничением по времени (3 секунды) и лимитом вывода (256 КБ) — защита от зависаний;
- при недоступности бинарника система «fail-closed» настаивает на проверке команды.
Эта связка — DCG + Auto-Approve — позволяет запускать длинные автономные сессии: доверенные команды выполняются без запросов, а потенциально разрушительные перехватываются до того, как нанесут ущерб.
Оркестратор и делегирование
Zoo Code унаследовал и значительно усилил механизм делегирования подзадач: основной агент (например, оркестратор) может порождать дочерние задачи, которые выполняются другими режимами или даже другими моделями.
Улучшения, внесённые командой Zoo Code:
- TaskRegistry — централизованный реестр задач, заменивший прежнее управление стеком задач;
- TaskScheduler на основе семафоров — контролируемое параллельное выполнение задач;
- TaskSemaphore — утилита координации параллельных задач;
- надёжное восстановление связей родитель-ребёнок: прерванная подзадача не теряет историю и может быть продолжена;
- изоляция провайдер-профилей: конфигурация одной подзадачи не «протекает» в другую;
- атомарная сериализация операций делегирования — защита от гонок состояний;
- «abandon subtask» — безопасное прерывание подзадачи с разрывом устаревших связей и отображением статуса делегирования.
Особое внимание уделено восстановлению после сбоев: при перезапуске расширения выполняется сверка состояния делегирования, а невалидные переходы состояний блокируются на уровне системы.
Архитектура и кодовая база
Zoo Code — это монорепозиторий на базе pnpm и Turbo, состоящий из нескольких частей:
- расширение VS Code (корневой каталог src/, около 1 300 путей);
- webview-интерфейс на React (webview-ui/, более 700 путей);
- командный интерфейс CLI (apps/cli);
- пакеты общих типов и логики (packages/*);
- пакет тестов e2e (apps/vscode-e2e) и сборка nightly (apps/vscode-nightly).
Основные модули расширения:
- api/providers — более 40 реализаций провайдеров API и их трансформации форматов;
- core/task — ядро выполнения задач: Task, TaskRegistry, TaskScheduler, сборка инструментов агента;
- core/tools — 25 инструментов: чтение/запись файлов, редактирование диффами, выполнение команд, поиск файлов, поиск по коду, вызов MCP-инструментов, делегирование (new_task), переключение режимов, использование навыков (skills), обновление todo-списка, завершение попыток, уточняющие вопросы, генерация изображений и другие;
- core/webview — ClineProvider (главный класс, связывающий расширение и интерфейс), обработчик сообщений webview, генератор системного промпта, обработка чекпоинтов и диагностики;
- core/prompts — системные промпты, разделённые на секции (возможности, правила, навыки, режимы, инструменты);
- services — MCP-хаб, менеджер навыков и правил, marketplace, семантический индексатор, DCG, сервис аутентификации Zoo;
- integrations — терминал (включая интеграцию с оболочкой), редактор (diff-просмотр), темы, рабочая область;
- i18n — 18 языков локализации, включая русский.
Интересная особенность: корневой package.json до сих пор носит имя «roo-code», а CLI — название @roo-code/cli, что отражает преемственность кодовой базы.
CLI (командная строка)
Помимо расширения для VS Code, проект включает headless CLI — запуск агента прямо из терминала без редактора. CLI использует пакет vscode-shim — имитацию API VS Code в Node.js, позволяющую запускать бандл расширения в обычной среде Node.
Возможности CLI:
- интерактивный режим с TUI на базе Ink/React с автоподтверждением действий;
- режим --print для неинтерактивного выполнения и машинно-читаемого вывода;
- режим --stdin-prompt-stream: NDJSON-протокол управления для программной интеграции (один процесс — множество запросов);
- --create-with-session-id: создание задачи с конкретным UUID сессии;
- возобновление прерванных задач (session resume/history);
- флаг --ephemeral: работа без сохранения состояния;
- --oneshot: выход после завершения задачи;
- выбор провайдера, модели, режима, shell'а и reasoning-effort;
- команды auth logout/status (управление унаследованными токенами);
- автообновление через команду upgrade.
Установка CLI выполняется одной командой:
curl -fsSL https://raw.githubusercontent.com/Zoo-Code-Org/Zoo-Code/main/apps/cli/install.sh | sh
А запуск агента выглядит так:
roo "Что это за проект?" -w ~/Documents/my-project
Установка расширения
Расширение распространяется через VS Code Marketplace и Open VSX Registry. Прямая установка из маркетплейса:
code --install-extension ZooCodeOrganization.zoo-code
Для разработки проекта предусмотрены несколько сценариев:
- режим разработки F5 — отладка расширения прямо в VS Code;
- автоматическая установка VSIX: pnpm install:vsix (поддерживаются code, cursor, code-insiders);
- ручная сборка: pnpm vsix, после чего пакет появится в каталоге bin/.
Требования: VS Code не ниже 1.100.0, Node.js 22.23.1 (для сборки из исходников).
Миграция с Roo Code
Для пользователей Roo Code переход занимает два шага:
- экспорт настроек из Roo Code (кнопка Export в настройках);
- импорт файла настроек в Zoo Code (кнопка Import Settings).
Файл настроек (по умолчанию zoo-code-settings.json) содержит профили провайдеров, пользовательские режимы, горячие клавиши и конфигурации моделей — всё это переносится без изменений. Важно: файл может содержать ключи API, поэтому его нужно хранить бережно и не передавать третьим лицам.
Дополнительно поддерживается импорт истории задач из Roo Code, а сервис облачной синхронизации настроек унаследован от Roo.
Безопасность
Zoo Code уделяет серьёзное внимание безопасности, что отражено как в архитектуре, так и в процессах:
- модель разрешений: каждое действие требует подтверждения, пока не включён Auto-Approve;
- Destructive Command Guard: блокировка разрушительных команд;
- секреты (токены, ключи API) хранятся в SecretStorage VS Code;
- скачиваемые бинарники (Semble, DCG) проверяются по SHA-256, загрузка ограничена доверенными доменами и лимитами размера;
- защита от path traversal при обработке результатов поиска;
- команды терминала запускаются без shell-интерпретации аргументов где возможно;
- регулярные обновления зависимостей с исправлением уязвимостей (undici, Mermaid, shell-quote, vite и другие);
- программа bug bounty отсутствует, но уязвимости принимаются через приватные security advisories GitHub;
- политика наименьших привилегий в GitHub Actions workflow.
Проект также публикует политику конфиденциальности (PRIVACY.md), описывающую, какие данные передаются на серверы облачных сервисов.
Управление рабочим пространством
Zoo Code предоставляет широкий набор средств контроля:
- управление правилами (rules) — глобальные и рабочие правила через отдельную вкладку настроек;
- ограничения MCP-серверов по режимам: можно разрешить агенту использовать одни MCP-серверы в режиме Code и запретить в других;
- rootResolution для многокорневых рабочих областей;
- навыки (skills) — как встроенные, так и загружаемые из Marketplace;
- slash-команды, в том числе исполнение навыков через команды;
- чекпоинты с навигацией между предыдущими состояниями;
- git worktree-селектор и автоматическое открытие панели при переключении worktree;
- кнопки «See New Changes» и «Restore Changes» после завершения задачи — просмотр и отмена изменений;
- контекстное окно: прогресс-бар и кнопка сжатия контекста;
- auto-import настроек из файла при запуске;
- миграция устаревших настроек.
Сравнение: Roo Code → Zoo Code
| Параметр | Roo Code | Zoo Code |
|---|---|---|
| Статус проекта | Свёрнут (2026) | Активно развивается сообществом |
| Лицензия | Apache 2.0 | Apache 2.0 |
| Кодовая база | — | Прямой форк, преемственность версий с 3.54.0 |
| Настройки | — | Импорт/экспорт совместим, файл zoo-code-settings.json |
| Семантический поиск | Классический индексатор | + Semble (индексация на лету) |
| Защита команд | Частичная | + Destructive Command Guard |
| Собственный шлюз | Roo Router | Zoo Gateway с кредитной системой |
| Новые провайдеры | — | Moonshot, Kimi Code, Kenari, Friendli, NanoGPT, OpenCode Go, MiMo и др. |
| Делегирование | Базовое | TaskRegistry, TaskScheduler, восстановление связей, изоляция профилей |
| Стоимость | Бесплатно + BYOK | Бесплатно + BYOK или кредиты Zoo Gateway |
Сообщество и разработка
Zoo Code управляется сообществом. Основные площадки:
- GitHub-репозиторий: issues, pull request'ы, roadmap;
- Discord-сервер: оперативная помощь и обсуждения;
- Reddit r/ZooCode: советы, конфигурации, обратная связь;
- документация docs.zoocode.dev (Docusaurus): руководства по установке, настройке и использованию.
Процесс разработки построен по принципу «issue-first»: все pull request'ы должны быть привязаны к issue. Для взятия задачи нужно оставить комментарий «Claiming» и получить назначение от команды. Неактивные PR автоматически закрываются (60 дней без активности), а PR без привязки к issue могут быть отклонены.
Политика в отношении AI-ассистированных вкладов: использование AI-инструментов допускается, но автор обязан понимать каждое изменение, уметь объяснить его и протестировать; неразобранные AI-сгенерированные изменения могут быть закрыты мейнтейнерами.
Качество кода обеспечивается многоуровневой системой:
- единицы и интеграционные тесты на Vitest (приоритет — самый узкий слой, способный поймать баг);
- e2e-тесты на реальном VS Code (apps/vscode-e2e) для полных пользовательских сценариев;
- визуальные регрессионные тесты на Playwright;
- статический анализ: ESLint с «храповиком» подавлений (количество подавлений не может расти), TypeScript strict, запрет плавающих промисов;
- непрерывная интеграция: 11 GitHub Actions workflow (code-qa, e2e, codeql, публикация в маркеты, nightly-сборки, релиз CLI, визуальные регрессии и др.);
- измерение покрытия с отчётами в Codecov.
Версионирование построено на changesets: изменения накапливаются в отдельных файлах, а при подготовке релиза объединяются в CHANGELOG. Пользователи получают стабильные релизы примерно раз в две-три недели, а также nightly-сборки для раннего доступа.
Лицензия и стоимость
Проект распространяется под лицензией Apache 2.0 — это касается как кода расширения, так и всех связанных пакетов. Расширение бесплатно «навсегда». Платежи возможны только в двух случаях:
- вы оплачиваете напрямую выбранному провайдеру моделей (по своей подписке или по своим ключам API);
- вы покупаете кредиты Zoo Gateway для доступа к моделям через единый аккаунт (без подписки).
Резюме
Zoo Code — это продолжение Roo Code силами сообщества, сохранившее всё лучшее из оригинала и добавившее существенные улучшения. Ключевые выводы:
- Преемственность: форк Roo Code с совместимыми настройками и той же лицензией Apache 2.0 — миграция занимает минуты.
- Модельная агностичность: более 40 провайдеров, сотни моделей, полная свобода выбора и BYOK.
- Новые возможности: семантический поиск Semble, защитный слой DCG, собственный шлюз Zoo Gateway, усиленный оркестратор.
- Безопасность: многоуровневая модель разрешений, проверка скачиваемых бинарников, регулярные обновления безопасности.
- Качество: многослойное тестирование, строгие стандарты кода, прозрачный процесс ревью.
- Сообщество: проект живёт благодаря вкладу пользователей — от сообщений об ошибках до целых функций.
Zoo Code подходит как одиночным разработчикам, ведущим глубокую итеративную разработку, так и командам, автоматизирующим рутинные задачи. Расширение платное в смысле токенов (в рамках философии «обмениваем токены на качество»), но бесплатное как продукт. Если вы использовали Roo Code — проект ждёт вас «дома»; если нет — это один из самых функциональных открытых AI-ассистентов для VS Code на начало второй половины 2026 года.
