get-bb/bb

The agent IDE that builds itself

bb —— 一个“代理型”IDE,可自我构建

它是什么 —— bb 是一个全栈开发环境,可通过桌面GUI、Web UI、命令行界面或HTTP API进行驱动。它旨在让自主“代理”(脚本、机器人或AI驱动的助手)控制、定制和自动化IDE本身,将环境转变为一种个人软件工厂。

核心理念

  • 自我构建 —— IDE可以修改自身的配置、安装插件,甚至在运行时生成新代码。
  • 多界面 —— 同一底层系统通过以下方式呈现:
    • 原生桌面应用(基于Electron,macOS Apple-Silicon稳定,Linux/Windows为alpha版本),
    • 可通过 http://localhost:38886 访问的Web应用,
    • bb CLI,以及
    • REST风格的HTTP API。
  • 线程化工作 —— 任务在独立线程中运行,您可以实时查看、干预或将任务交给另一个代理。
  • 可扩展的插件模型 —— 插件可以发布到公共的 bb-community 市场,或从本地路径、私有git仓库或npm包加载。

快速开始

  1. 桌面应用 —— 从GitHub desktop-latest 标签下载最新发布版本。macOS Apple-Silicon官方支持;Linux和Windows构建为实验性。
  2. 随处运行 —— 使用一条命令即可在本地启动服务器:
    npx bb-app@latest   # 然后打开 http://localhost:38886
    
    (使用 @nightly 获取最新的预发布版本)。在npm 12+上,您必须允许原生附加组件的安装脚本,例如:
    npx --allow-scripts=better-sqlite3,node-pty,@parcel/watcher bb-app@latest
    
  3. CLI访问 —— 在设置 → 常规 → 命令行面板中启用 bb 命令,然后使用 bb … 从终端或其他自动化工具驱动系统。

开发工作流

  • pnpm dev —— 启动基于Vite的热重载前端,并将API/WebSocket流量代理到单独的开发服务器。
  • pnpm start —— 构建生产风格的包并运行。
  • 专用脚本(pnpm dev:remote、pnpm start:worktree-remote 等)允许您通过可信网络(例如,通过Tailscale)暴露UI和API,以支持多设备使用。
  • 仓库是一个monorepo;有关包映射,请参阅 docs/repository-overview.md。

遥测

  • 生产运行(桌面应用、npx bb-app 或检出的构建)会发送匿名使用事件(应用启动、线程创建数、消息数、插件安装)。事件包括版本、安装方式、操作系统/CPU/Node详细信息,以及每次安装的随机标识符。不传输项目名称、文件路径、提交哈希或消息内容。
  • 开发运行(pnpm dev、pnpm start:worktree 等)从不发送遥测数据。
  • 可以使用 BB_TELEMETRY=false 禁用遥测。

当前状态

  • 核心架构稳定,但UI界面、工作流和插件生态系统仍在演进(README指出项目处于积极开发中)。
  • 需要原生附加组件(better-sqlite3、node-pty、@parcel/watcher);较新的npm版本默认阻止安装脚本,因此README提供了明确的解决方法。

适用人群

  • 希望拥有可通过脚本或AI代理进行编程控制的IDE的开发者。
  • 构建“软件工厂”的团队,其中工具本身可以被生成、扩展和自动化。
  • 熟悉Node.js、npm,并可选安装桌面应用的用户。

了解更多

  • 系统和数据模型详情:docs/system-overview.md
  • 愿景和路线图:docs/VISION.md
  • 配置指南:docs/configuration.md
  • 社区Discord(链接位于README顶部的徽章中)。

以上所有信息均直接取自仓库的README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目