bb — agentic IDE, который строит себя сам
📂 Исходный код на GitHubThe agent IDE that builds itself
bb — это агентная IDE, которая способна управлять, кастомизировать и автоматизировать саму себя. Проект создаёт основу для построения собственной фабрики программного обеспечения, где каждый интерфейс — десктоп-приложение, веб-приложение, CLI и HTTP API — является первоклассным способом взаимодействия.
Архитектура
bb построен как монорепозиторий на pnpm и Turbo. Основные компоненты:
- Desktop app — Electron-оболочка для macOS (Apple Silicon) и Linux (alpha). Для Windows используется WSL2.
- Web app — Vite-фронтенд с проксированием API и WebSocket-трафика.
- CLI — терминальный интерфейс для запуска из npx.
- Server — бэкенд-сервис, обрабатывающий API-запросы и WebSocket-соединения.
- Host daemon — фоновый процесс для управления состоянием.
Сервер и host daemon не поддерживают hot reload, в то время как фронтенд обновляется автоматически. Для перезапуска сервера используются команды pnpm dev:restart-server и pnpm dev:restart-host-daemon.
Запуск
Рекомендованный способ — десктоп-приложение:
npx bb-app@latest
После запуска приложение доступно на http://localhost:38886. Для nightly-сборки:
npx bb-app@nightly
Начиная с npm 12, необходимо явно разрешить установку нативных зависимостей:
npx --allow-scripts=better-sqlite3,node-pty,@parcel/watcher bb-app@latest
Ключевые особенности
- Агентные потоки — работа ведётся в потоках (threads), которые можно отслеживать в реальном времени, перенаправлять на любом этапе или передавать другому агенту.
- Мульти-интерфейс — десктоп, веб, CLI и HTTP API как равноправные способы управления.
- Плагинная система — расширение функциональности через плагины из маркетплейса
bb-community. - Ночной режим — отдельный канал обновлений с жёлтой иконкой для ранних последователей.
Разработка
Для работы над bb используется цикл разработки с Vite:
pnpm dev
Каждый чекаут получает изолированную директорию данных в ~/.bb-dev/<checkout-instance>/ и детерминированные порты. Отдельные worktree могут работать параллельно.
Для доступа к dev-серверу из другой машины через Tailscale:
tailscale serve --bg --https=443 http://127.0.0.1:<app-port>
Телеметрия
Production-сборки отправляют анонимную телеметрию: запуски приложений, количество созданных потоков, сообщений и установок плагинов. Идентификация — случайный per-install ID. Отключение: BB_TELEMETRY=false.
Источник: https://github.com/get-bb/bb