bb — agentic IDE, который строит себя сам

· 1 мин чтения
agent-ide coding-agent typescript desktop-app cli
📂 Исходный код на GitHub

The agent IDE that builds itself

bb — agentic IDE, который строит себя сам

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