Zoo Code - ai помощник программирования - 2026

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 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, среди которых:

Провайдеры, поддерживаемые Zoo Code
Провайдер Особенности
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
Параметр 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 года.

Ссылки

×
Реклама
ИКС