Skip to content
Neuronavt
Go back

BB объединяет ИИ-агентов и расширяется плагинами

Инструмент7/10

Коротко

Статья разбирает архитектуру BB — открытого приложения, которое сводит несколько coding-агентов в общий интерфейс и позволяет менять плагины без перезапуска. Главная ценность — не само окно, а мосты для нормализации разных агентов и цикл, в котором агент может создавать и сразу проверять расширения.

Контекст

Автор описывает репозиторий get-bb/bb по состоянию на конец сентября 2026 года; его компания или должность не указаны. BB распространяется под лицензией MIT, за семь месяцев набрал около 4 тысяч звёзд. Отправная задача — дать разным агентам единый интерфейс и возможность расширять его, не переписывая ядро.

Главное

Как сделано

Запуск npx bb-app поднимает Node-процессы server и host-daemon. Сервер на Hono по умолчанию слушает 127.0.0.1:38886 и хранит состояние в SQLite (~/.bb/bb.db); демон выполняет операции с файлами, git, терминалами и агентами. Демон сам подключается к серверу по WebSocket, а версии их протокола сверяются через HOST_DAEMON_PROTOCOL_VERSION = 220. Клиенты — веб-интерфейс на React 19, Electron, CLI bb, SDK и приложение на Expo — используют общий /api/v1. События тредов добавляются в журнал с sequence; WebSocket сообщает changed, после чего клиент дочитывает данные по HTTP.

Для каждого агента демон запускает отдельный плагин-мост, общающийся по JSON-RPC 2.0 через stdin/stdout. Мост переводит родные события в компактную общую грамматику, а runtime назначает идентификаторы и собирает таймлайн. Claude Code подключается через Claude Agent SDK и query; Codex — через отдельный codex app-server на тред; Pi — через pi —mode rpc; ACP-агенты используют session/new, session/prompt и session/update. ACP здесь лишь один из диалектов собственного протокола BB. Навыки также преобразуются под формат каждого агента, а решения о подтверждении операций могут приниматься либо самим агентом, либо runtime BB.

Плагин — папка с package.json и блоком bb; в нём могут быть серверная часть, интерфейс и, для провайдеров, машинный мост. Горячая перезагрузка использует registerHooks из node:module и метку bbPluginLoad с номером поколения, чтобы Node загружал новый граф модулей. bb plugin dev пересобирает части плагина через 300 мс после изменения. Новая версия сначала запускается рядом со старой; при ошибке остаётся прежняя. После успешного запуска старое поколение останавливается, а интерфейс обновляет бандл с хэшем содержимого. Встроенный bb-guide снабжает агента инструкциями и навыком bb-plugin-authoring примерно с 19 справочниками.

В демонстрации агент за 20 минут и два промпта создал плагин, который расшифровывает запись созвона, выделяет договорённости со сроками и составляет письмо клиенту. Автор также подключал DeepSeek Harness через customAgents плагина provider-acp.

Результаты

BB объединяет Claude Code, Codex, Pi и ACP-агентов в одном приложении, поддерживает общие навыки и расширяемый интерфейс. Плагины можно перезагружать без остановки всего приложения, с сохранением предыдущей версии при неудачном обновлении. В описанной демонстрации агент создал плагин для обработки записи созвона за 20 минут и два промпта. Количественных сравнений скорости, качества расшифровки или надёжности автор не приводит.

Ограничения

Публичный /api/v1 не требует аутентификации и допускает выполнение команд и чтение файлов; сервер по умолчанию привязан к localhost, поэтому нельзя открывать его порт в интернет. Для внешнего доступа описаны BB Connect с входом через GitHub и Tailscale. Плагины не изолированы песочницей и требуют доверия на уровне npm-пакета. Проект молодой: часть API помечена experimental_, нет ролей и совместной работы, стабильное десктопное приложение доступно только для Mac на Apple Silicon. В статье не приводятся независимые тесты демонстрационного плагина или оценка затрат.

Что взять себе

Читать оригинал, если…

Откройте оригинал, если нужны детали реализации, кодовые фрагменты, таблица запуска агентов или инструкции по подключению собственного ACP-агента.