Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Как устроена открытая IDE BB для Claude Code и Codex

Как устроена открытая IDE BB для Claude Code и Codex

Платформа BB под лицензией MIT объединяет популярные ИИ-агенты вроде Claude Code, Codex и Pi в едином рабочем пространстве. За несколько месяцев репозиторий проекта привлек внимание тысяч разработчиков благодаря архитектуре, которая позволяет расширять функциональность плагинами на лету без перезапуска.

В недавнем ролике я показывал, как ИИ всего за двадцать минут создал инструмент для обработки созвонов. Теперь давайте изучим внутреннее устройство и программный код этой платформы, разобрав ключевые технические решения по состоянию репозитория.

Интерфейс и конфигурация плагинов BB
Пример подключения сторонней нейросети через конфигурационный файл плагина
Исходный код обработчиков событий BB
Управление эпохами загрузки модулей в исходном коде платформы
Таблица поддержки провайдеров в BB
Параметры инициализации Claude Code, Codex, Pi и ACP-агентов
Конфигурация манифеста плагина tasks
Описание структуры манифеста расширения в формате JSON
Лог работы разработческого режима BB
Процесс отслеживания изменений и перезагрузки компонентов в реальном времени
Схема безопасности и туннелирования в BB
Организация удаленного доступа к серверу через зашифрованные шлюзы

Архитектура и разделение процессов

Проект построен на двухуровневой концепции. Снизу функционируют привычные вам языковые модели со своими инструментами, а сверху располагается универсальный графический интерфейс, координирующий их работу.

Реклама
Схема системных процессов в BB
Взаимодействие клиентских приложений, сервера на Hono, системного демона и подключенных агентов

Сервер и управляющий демон

При запуске утилиты через лаунчер стартуют два ключевых Node-процесса: серверное приложение и системный демон. Бэкенд написан с использованием фреймворка Hono, принимает запросы на локальном адресе и сохраняет всю историю в базе данных SQLite. Демон отвечает за низкоуровневые операции с файловой системой, запуск терминалов и управление процессами самих ассистентов.

Интересно решено направление связи: демон самостоятельно устанавливает исходящее WebSocket-соединение с сервером. Благодаря этому удаленные машины подключаются без проброса портов, используя простой установочный скрипт.

Передача ответов ИИ-агентов в интерфейс BB
Путь сообщения от системного моста через журнал событий в клиентский интерфейс

Клиентская часть и синхронизация данных

Интерфейс платформы может работать в окне Electron, браузере через React 19, мобильном приложении или терминале. Все клиенты обращаются к единому API, что позволяет бесшовно переключаться между устройствами во время диалога.

История тредов хранится в виде журнала событий. Когда демон передает новую порцию информации, сервер рассылает клиентам лишь легкое уведомление об изменении, после чего интерфейс самостоятельно подгружает актуальный срез данных по HTTP.

Мосты протоколов и нормализация

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

Структура плагина BB и точки выполнения
Единая папка плагина, код которой исполняется на бэкенде, в клиенте и на уровне системы

Система разрешений и управление дополнительными навыками также абстрагированы от конкретных вендоров. Единый каталог навыков автоматически адаптируется под требования конкретного ИИ, будь то Claude, Codex или ACP-совместимый агент.

Анатомия и жизненный цикл плагинов

Любое дополнение в системе представляет собой директорию с файлом манифеста, описывающим серверные обработчики, графические компоненты интерфейса и наборы системных навыков.

Горячее обновление кода без перезагрузки

Главная сложность в экосистеме Node.js заключается в кэшировании модулей при импорте. Создатели обошли это ограничение с помощью специального хука загрузчика, который добавляет уникальный идентификатор эпохи к путям файлов при каждом изменении.

Режим разработки отслеживает изменения в папке плагина, пересобирает компоненты и безопасно заменяет старое поколение кода на новое прямо во время работы сервера, не прерывая активные сессии пользователей.

Безопасность, ограничения и выводы

Открытая архитектура накладывает определенные требования к безопасности. Публичный API бэкенда по умолчанию не требует авторизации и предназначен для работы на локальной машине, поэтому для удаленного доступа рекомендуется использовать защищенные туннели.

Процесс обновления плагина без перезапуска в Node.js
Механизм динамической подгрузки новых модулей с помощью изменения путей и очистки кэша

Несмотря на свою молодость, проект демонстрирует отличные инженерные практики: надежную изоляцию процессов, эффективную систему горячей перезагрузки и возможность модифицировать саму среду разработки с помощью встроенного искусственного интеллекта.

01.