尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
bb 数据模型全解:Project、Thread、Environment、Host 四大核心概念彻底搞懂
bb 数据模型全解Project、Thread、Environment、Host 四大核心概念彻底搞懂【免费下载链接】bbThe agent IDE that builds itself项目地址: https://gitcode.com/gh_mirrors/bb14/bbbb 是一个能自我构建的 AI 智能体 IDEthe agent IDE that builds itself它把 AI 编程助手变成可以并行运行的数字员工。要真正玩转 bb绕不开它的数据模型Project项目、Thread会话线程、Environment执行环境、Host主机四大核心概念。本文用一份完整指南带你快速搞懂它们各自是什么、如何关联、生命周期如何流转看完即可上手使用。bb 系统架构四个组件各管一摊在讲数据模型前先花 30 秒认识 bb 的四个运行时组件详见 docs/system-overview.md组件角色一句话理解Server中央枢纽所有状态存在 SQLite 里数据库是唯一事实来源Host daemon每台机器的执行器接收指令、准备环境、运行 AI 进程、回传事件AppWeb 界面查看项目/线程、跟进进度、指挥工作CLIbb命令行界面和 App 能力相同但可脚本化四大核心概念就是 Server 数据库里四张核心表对应四个顶层定义packages/domain/src/project.ts → Projectpackages/domain/src/thread.ts → Threadpackages/domain/src/environment.ts → Environmentpackages/domain/src/host.ts → Host数据库表定义projects、threads、environments、hosts、events统一收在 packages/db/src/schema.ts 中。Project 项目所有工作的顶层容器Project 是顶层容器通常对应一个代码仓库。它是你在 bb 侧边栏看到的第一个层级。关键特性一个项目可以有多个 Source来源Source 声明代码在哪里。当前类型是local_path本地路径且每个本地路径 Source 绑定到一台特定 Host——所以同一个项目可以同时映射到你多台机器上的不同路径。两种类型standard普通项目和personal个人项目固定 ID 为proj_personal存放不依赖仓库的私人工作。可关联 Git 远程仓库字段gitRemoteUrl记录远端地址。首次打开 bb 时界面就围绕项目展开可以手动新建项目从本地文件夹也可以自动导入最近 30 天动过的仓库——这正是 Source 扫描的体现。Thread 会话线程最小工作单位Thread 是 bb 里的工作单位unit of work每一条 Thread 就是你和某个 AI 编程助手的完整对话 它做过的所有事。核心要素状态机一条线程有 6 个持久状态——pending等待启动、idle空闲、starting启动中、active运行中、stopping停止中、error出错定义见 packages/domain/src/thread-status.ts状态流转规则在 docs/lifecycle-diagrams.md 中有完整图表。追加式事件流每条线程产生一条只增不改的Event 事件流消息、工具调用、文件变更……存储在events表中这就是你在界面上看到的完整工作记录。两种角色standard亲自干活和manager协调其他线程。线程还能拥有子线程实现任务委派。丰富的关系字段parentThreadId侧边栏里的父子关系、lifecycleOwnerThreadId生命周期属主归档/删除会级联、sourceThreadId分叉来源——线程之间可以 fork 出新线程互不干扰地并行探索。生命周期管理支持归档archivedAt、置顶pinnedAt、软删除deletedAt归档还带撤销宽限期误操作有救。bb 最强的场景之一就是让多条线程并行推进不同任务在平铺视图里一眼看全Environment 环境线程的执行上下文Environment 回答线程在哪台机器的哪个目录里干活这个问题它把一块工作区磁盘上的目录绑定到一台 Host。两种模式模式说明unmanaged非托管直接指向你已有的目录bb 不碰它的生命周期managed托管由 bb 创建例如managed-worktreegit worktree当没有未归档线程还在用它时会被自动清理其他关键特性多条线程可以共享同一个 Environment互不干扰地操作同一份工作区。完整生命周期状态从creating → provisioning → ready → error/destroyed流转生命周期阶段则是active → retiring → teardown → destroyed规则见 packages/domain/src/environment-lifecycle.ts。Git 感知Environment 记录branchName、baseBranch、defaultBranch、是否 worktree 等 Git 信息bb 据此自动判断改动量、分支状态和 PR 可合并性。当 AI 在一个真实工作区里写代码、你盯着右侧的对话流时Environment 绑定工作区 Host 这件事就已经在幕后发生了Host 主机真正执行工作的机器Host 是一台会干活的机器的长期驻留身份对应一个常驻的 host daemon 进程。Server 本身就跑在一台 Host 上API 中的primaryHostId并可以注册enroll更多远程 Host——项目来源和环境都带着这个主机边界所以你可以让不同机器执行不同线程。两种类型persistent常驻机器如你的笔记本和ephemeral临时机器由云厂商按需创建/销毁字段machineProviderId记录由哪个云环境提供商提供。连接状态connected/disconnected断连期间相关线程会进入waiting-for-host等待态。权限上限maxPermissionMode定义这台机器上代理最高能行使什么权限比如能否执行任意命令远程机器可以收得更紧。Server 与 daemon 之间的通信协议由两个契约包严格界定bb/server-contract负责客户端↔Serverbb/host-daemon-contract负责 Server↔daemon实现包之间不允许跨界引用——Server 不需要知道工作区怎么被创建daemon 也无需理解线程和业务。四大概念如何协作一张关系图理清概念是什么类比数据库表Host干活的机器 常驻守护进程工位所在的办公楼hostsProject顶层容器通常对应一个仓库公司里的一个产品projectsEnvironment工作区目录 × 主机的绑定一张办公桌 打开的工程environmentsThread与 AI 助手的一次完整协作一位工程师接到的任务单threadsevents协作链条一句话概括一个 Project 声明代码在哪几台 Host 上Environment 在某台 Host 上圈出一块工作区Thread 在这块工作区里和 AI 对话、产生事件流多条 Thread 可共享环境、委派子线程、跨机器并行。快速上手从零跑通 bb仓库地址https://gitcode.com/gh_mirrors/bb14/bb克隆仓库并安装依赖pnpm monorepo。启动 Server 与本机 Host daemon——本机即primaryHost。在 App 或 CLI 中新建项目从本地文件夹创建第一个 Project。发起第一条 Threadbb 会自动 provision 一个 Environment开始工作。延伸阅读去哪里看源码系统总览与数据模型官方说明docs/system-overview.md线程生命周期状态机packages/domain/src/thread-lifecycle.ts环境生命周期状态机packages/domain/src/environment-lifecycle.ts四大实体数据库表定义packages/db/src/schema.ts服务端契约HTTP WebSocket APIpackages/server-contract/主机守护进程契约命令/事件协议packages/host-daemon-contract/项目文档目录docs/总结Project 是事的边界一个仓库一个容器可挂多台机器的来源。Thread 是活的单位一条会话、一个状态机、一条只增的事件流可并行、可委派、可 fork。Environment 是场的绑定目录 × 主机托管环境用完自动清理。Host 是人的载体常驻守护进程本地或云端带权限上限。理解了这四者你就掌握了 bb 数据模型的全貌——它不是一个编辑器 聊天框而是一套以 SQLite 为唯一事实来源、可跨机器调度 AI 代理的工作系统。【免费下载链接】bbThe agent IDE that builds itself项目地址: https://gitcode.com/gh_mirrors/bb14/bb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

JSP+MySQL校园二手交易系统完整实现与部署指南

JSP+MySQL校园二手交易系统完整实现与部署指南

简介:本资源是一套完整的校园二手物品交易系统毕业设计源码,面向计算机专业本科生及Web开发初学者,解决高校学生闲置物品线上流转难、交易效率低的现实问题。系统基于B/S架构与SSM(SpringSpringMVCMyBatis)框架开发&am…

📅 2026/9/26 2:42:59
告别手动导出的视频批量处理:FFmpeg工作流搭建与命令行实战

告别手动导出的视频批量处理:FFmpeg工作流搭建与命令行实战

视频处理别再用"打开软件--导出"的笨办法了:我搭的video-use工作流,一次能处理几百个文件先交代一下背景。我手里长期积压着大量短视频素材——有手机拍的、有无人机拍的、有录屏软件抓的,还有甲方丢过来的各种奇怪格式。最早我也跟…

📅 2026/9/26 2:42:59
Ubuntu 安装 Git 从入门到排障:完整配置指南

Ubuntu 安装 Git 从入门到排障:完整配置指南

想在一台刚装好 Ubuntu 的机器上把 Git 跑起来,是每个开发者都绕不开的第一步。这个操作看起来简单,但实际折腾过的人都知道,它牵扯到软件源更新、版本选择、身份配置、SSH 密钥、换行符处理、中文乱码修正等等一堆细节。很多新手上来就sudo …

📅 2026/9/26 2:37:59
MORE NEWS

更多资讯

📰

agentscope 以 STUDIO 方式调用 MCP 服务:TaoToken 统一 Key 配置与 STDIO 联调指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

OpenClaw多智能体协作架构实战:从SubAgent到Agent Teams的TaoToken配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

法财税机构数字获客团队怎么选?自建、外包、混合模式全解析

这两年我接触了不少法财税机构——律所、会计师事务所、税务师事务所、做代理记账和财税咨询的公司都有——大家碰到的最大难题其实高度一致:专业能力不缺,客户转介绍也一直有,但增长就是上不去。尤其是2020年之后,原来靠线下活动…

📰

流水灯效果

文章目录流水灯实验实验目的时钟说明(本板实测)任务 1:寄存器方式控制流水灯(间隔 1s)1.1 程序设计思路1.2 寄存器方式代码1.4效果展示1.5 补充说明任务 2:标准外设库方式控制 LED 轮流闪烁(间隔…

📰

农行BRIDGE商户直连Java DEMO:签名验签与证书配置实战

简介:面向需要接入中国农业银行缴费中心的Java开发人员,这份BRIDGE新版商户直连DEMO(V1.4)提供了完整的支付对接示例,解决商户系统与农行缴费中心之间订单处理、支付确认、退款、回调通知等接口联调问题。压缩包共133个…

📰

慢SQL优化实战:一条统计SQL从8小时到1毫秒

1. 性能噩梦的现场:一个统计查询如何拖垮整个库先交代一下背景,这个案例来自一个真实的电商订单中心。当时线上反馈“每日销售报表”打开极其缓慢,运营同事点一次查询,运气好等五六分钟,运气不好直接超时报错。后台DBA…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬