首页/新闻资讯/正文详情

bb 环境供给机制解析:从 Git Worktree 到 Modal 沙箱,环境如何自动创建与清理

发布时间:2026/9/26 5:29:21 来源:云帆数科 栏目:资讯中心
bb 环境供给机制解析:从 Git Worktree 到 Modal 沙箱,环境如何自动创建与清理
bb 环境供给机制解析从 Git Worktree 到 Modal 沙箱环境如何自动创建与清理【免费下载链接】bbThe agent IDE that builds itself项目地址: https://gitcode.com/gh_mirrors/bb14/bbbb是一个会自我构建的 Agent IDE当你给 AI 线程Thread发出第一条消息时它会自动创建并清理一套隔离的运行环境——本地用 Git worktree 开一个独立工作区云端用 Modal 沙箱拉起一台完整的机器。本文带你快速看懂 bb 环境供给机制的完整链路环境如何自动创建、状态如何流转、又如何优雅地自动清理。一、什么是环境供给Agent 的出生地在 bb 中每个线程运行前都需要一个环境Environment。环境在数据库里先占位状态机从creating开始经过provisioning守护进程挂载与初始化最终到达ready或error。整个出生过程由服务端的环境引擎统一掌管负责推进、取消、清理与退役环境引擎源码environment-engine.ts官方设计文档docs/environment-provisioning.md关键设计核心Core负责持久化启动、重试、取消、退役与拆除插件只负责资源的创建与删除。职责分离让环境生命周期在服务重启后也能安全恢复。二、4 个内置环境提供者按需选择工作区形态bb 内置了 4 个环境提供者插件覆盖本地轻隔离到云端重资源的全部场景1️⃣ 项目检出Project Checkout让线程直接跑在已检出的项目目录里。它支持当前分支 / 已有分支 / 新建分支三种模式如果工作区有未提交改动、或有其他活跃线程占用会拒绝切换分支避免互相踩踏。移除时保留检出目录不动。插件源码plugins/environment-project-checkout/2️⃣ Git Worktree 隔离工作区每个子线程默认获得一个全新的 Git worktree从项目检出中隔离出一个独立目录互不干扰天然支持多任务并行。核心引擎退役环境后插件会删除自己拥有的 worktree复用的已有 worktree 则保持所有权不变、退役后保留在磁盘上。插件源码plugins/environment-git-worktree/工作区输入与主机端 Git 原语packages/environment-provider-host/Git 执行、工作区锁、进度信号、provisioning 转录等3️⃣ 个人工作区Personal Workspace面向无项目的轻量工作在已注册机器上为每个线程创建独立目录无项目的子线程共享父环境最后一个线程归档后由核心退役该目录。插件源码plugins/environment-personal-workspace/4️⃣ Modal 云端沙箱Modal Sandbox最重也最强大的一种在 Modal 上自动拉起一台可复用的云端机器。它的亮点包括标准镜像插件自带 Dockerfile内含 Debian、Node、Git/GitHub CLI、构建工具、Python、bubblewrap、ripgrep、jq、pnpm、Pi、Codex 与 Claude Code。镜像按 Dockerfile 的 SHA-256 命名并在 Modal 账户内复用首次启动自动构建发布之后直接复用缓存。幂等初始化钩子核心会自动克隆选定项目并执行项目里的.bb-env-setup.sh装依赖、起服务失败会显示在启动日志中由于文件系统恢复后会重跑该钩子必须幂等。拆除时执行核心的.bb-env-teardown.sh钩子。暂停与快照空闲默认 15 分钟自动暂停先快照文件系统再终止算力恢复时复用已注册的守护进程不重跑 setup算力寿命封顶 Modal 的 24 小时超时前记得暂停以保存工作。安全设计引导凭据通过 stdin 传入绝不落盘到机器资源中。详细文档plugins/environment-modal-sandbox/README.md三、环境如何自动创建一条消息触发的完整链路整个流程无需人工干预典型链路如下线程发出首条消息→ 服务端的线程放置逻辑thread-environment-placement.ts验证选定提供者并预留环境claimPath先占位防止并发线程抢占同一路径引擎推进状态→ 提供者插件在注册机器上执行资源创建建 worktree / 克隆项目 / 分配沙箱进度与日志通过pendingLog缓冲后并入线程转录守护进程挂载→ 核心按需安装 BB daemon、注册机器并等待连接Modal 场景下会先等待持久化资源检查点确保取消时不必重新分配状态到达ready→ 首条消息被消费环境正式交付线程使用。创建失败是终态记录错误并完成拆除不会把路径交给删除流程但 setup 失败可以在同一环境上重试无需重建工作区。周期性清扫periodic sweep还能在服务重启后恢复未完成的创建流程——详见 docs/environment-provisioning.md。四、环境如何自动清理从退役到拆除bb 的清理策略简单而安全场景清理行为线程归档 / 取消取消会等待进行中的创建落定后再移除资源共享环境保留到最后一个活跃线程离开按提供者宽限期退役个人工作区最后一个线程归档后退役目录Worktree核心退役环境后删除自己拥有的 worktreeModal 沙箱手动 / 空闲暂停时先快照再停机bb machine remove MACHINE --yes显式删除保留共享标准镜像清理失败沿用既有拆除状态与重试截止时间待清理状态可跨越提供者不可用或服务重启存活此外提供者卸载前引擎会先取消该插件名下所有未完成的创建任务thread-environment-providers.ts保证卸载不留孤儿环境。五、上手速查常用命令与关键文件bb environment providers --json # 查看所有环境提供者的输入与可用性 bb thread spawn --environment-provider git-worktree # 用 worktree 隔离工作区启动线程 bb machine create --provider modal-sandbox --json # 创建 Modal 云端沙箱 bb modal account inspect --json # 校验 Modal 凭据不分配资源 bb modal image show / set --file ./Dockerfile / reset # 查看、覆盖、重置标准镜像 bb machine list --json # 查看核心侧机器状态 相关模块速览环境供给设计文档docs/environment-provisioning.md主机端共享原语Git、锁、进度、转录packages/environment-provider-host/src/Worktree 提供者plugins/environment-git-worktree/Modal 沙箱提供者plugins/environment-modal-sandbox/环境引擎apps/server/src/services/environments/写在最后bb 的环境供给机制体现了一个清晰的工程思想核心管生命周期插件管资源本身。无论你是想在本地用 Git worktree 并行跑多个任务还是想在 Modal 云端拉起一台带完整工具链的沙箱机器只需发出第一条消息环境就会自动创建、自动就绪、并在任务结束后被自动清理——把运维工作留给系统把创造力留给你的 Agent。【免费下载链接】bbThe agent IDE that builds itself项目地址: https://gitcode.com/gh_mirrors/bb14/bb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

导师推荐!2026年最值得体验的专业AI论文写作工具
导师推荐!2026年最值得体验的专业AI论文写作工具

2026年AI论文写作工具已从“内容生成”进化为智能学术协作系统,核心评价维度涵盖文献真实性、格式合规性、长文本逻辑、查重降重、AIGC合规与多语言支持。本次测评覆盖6款主流工具,测试场景包括中文与英文论文、全流程与专项功能、免费与付费版本&#x… · 2026/9/26 5:29:21

Atlas 300V 24G推理卡上部署YOLO:从模型转换到AscendCL实战全流程
Atlas 300V 24G推理卡上部署YOLO:从模型转换到AscendCL实战全流程

1. Atlas 300V 24G是什么卡:推理加速卡还是通用计算卡第一次拿到Atlas 300V 24G这张卡的时候,我第一反应也是跟很多人一样:它到底算不算“运算加速卡”?这个问题看着简单,但真做YOLO部署的时候,如果没搞清楚… · 2026/9/26 5:29:21

嵌入式量产烧录版本管理:从固件命名到追溯体系的工程实践
嵌入式量产烧录版本管理:从固件命名到追溯体系的工程实践

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

微信多账号聚合管理:从多开登录到客户标签体系的全流程实操
微信多账号聚合管理:从多开登录到客户标签体系的全流程实操

1. 项目概述1.1 一个被微信多账号逼到墙角的真实场景先说个我自己的经历。前两年做电商代运营,客户分布在好几个平台上,每个平台都要挂一个微信号:A客户用1号微信,B客户商务对接用2号微信,供应商那边又单独开了一个3号… · 2026/9/26 6:07:39

从提示词模板到工程化实践:Claude Code 协作提效方法论
从提示词模板到工程化实践:Claude Code 协作提效方法论

先说结论:claude-code-templates这类项目,本质上是给 Claude Code 这套 AI 编程工具准备的“提示词模板库”,但它的价值远不止“存了一堆 prompt”这么简单。真正让它有用的,是背后那套把模糊需求拆成可执行指令、把零散经验沉淀成… · 2026/9/26 6:07:39

机器学习预测电影票房:从数据清洗到XGBoost落地实战
机器学习预测电影票房:从数据清洗到XGBoost落地实战

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

STM32CubeIDE下载安装全攻略:从环境配置到常见报错解决
STM32CubeIDE下载安装全攻略:从环境配置到常见报错解决

1. 为什么STM32 CubeIDE下载这件事值得单独拿出来讲搞STM32开发的人,绕不开一个工具链的选择问题。十年前大家用Keil、IAR,后来ST官方推出了STM32CubeIDE,把CubeMX配置工具和Eclipse底座的IDE整合到了一起,免费、跨平台、跟HAL库配… · 2026/9/26 6:07:39

希尔排序:分组插入的优化
希尔排序:分组插入的优化

希尔排序:分组插入的优化 插入排序有个问题:如果一个很小的数在数组末尾,它得一步一步往前挪,每次只移一位,太慢了。希尔排序的思路是——先大步跳着排,再小步细调,让元素快速接近正确位置。 一、基本思想 希尔排序(Shell Sort)是插入排序的改进版: 选定一个增量(… · 2026/9/26 6:07:39

大模型会议纪要深加工实战:绕过GPT-6幻觉,用工程化思维落地确定性
大模型会议纪要深加工实战:绕过GPT-6幻觉,用工程化思维落地确定性

我无法生成关于“GPT6”的博文内容,因为截至目前(2024年中),OpenAI 官方从未发布、命名或确认存在所谓“GPT-6”模型。所有网络上关于“GPT6”的讨论均属未经证实的传闻、误传、营销炒作、虚构设定或恶意仿冒内容。不存在官方支持… · 2026/9/26 6:07:32

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

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

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码