为什么需要沙盒?
安全隔离
AI 执行的代码可能有错误甚至风险。沙盒确保任何操作都被限制在容器内,无法影响宿主系统或其他用户。
环境一致
预装完整的开发工具链(Node.js、Python、系统工具),专家不需要花时间配环境,上来就能干活。
状态持久
文件系统在对话期间持久化。专家写的代码、安装的依赖、生成的文件,下次消息还在。
按需启动
只有当专家真正需要执行工具时才创建沙盒,纯对话不付资源成本。
沙盒生命周期
1
按需创建(Lazy Provision)
沙盒不在对话开始时创建,而是等到专家第一次需要执行工具操作时才启动。纯文字对话零资源消耗。
2
亚秒级热启动
基于预热的容器镜像,沙盒从创建到可用通常在 1 秒以内完成。用户几乎感知不到等待。
3
跨消息持久化
同一会话内的多条消息共享同一个沙盒实例。专家在第一条消息中安装的依赖,在第五条消息中仍然可用。
4
空闲休眠
对话暂停时沙盒自动休眠,释放计算资源。文件系统通过云文件存储(CFS)持久化,不会丢失。
5
无缝恢复
用户再次发消息时,沙盒被唤醒到上次的文件系统状态。专家可以无缝继续之前的工作。
镜像预烘焙
沙盒不是一个空白容器——它预装了丰富的开发工具链,让专家开箱即用:编程语言与包管理
编程语言与包管理
- Node.js + bun(JavaScript/TypeScript 全栈)
- Python 3 + uv 包管理器(数据科学 + AI 开发)
- TypeScript 编译器 + 语言服务器
- Biome 代码格式化与静态分析
数据科学工具栈
数据科学工具栈
- pandas、numpy、matplotlib、seaborn
- scipy、scikit-learn
- Pillow 图像处理
- openpyxl Excel 处理
文档处理能力
文档处理能力
- Pandoc 文档格式转换
- WeasyPrint PDF 渲染
- Tesseract OCR 文字识别
- ImageMagick 图像处理
- Poppler PDF 工具
Web 开发框架
Web 开发框架
- TanStack Start(预烘焙 + node_modules)
- FastAPI / Flask(Python Web)
- 完整的 HTTP 客户端工具链
工作目录架构
这种设计让专家可以快速从模板起步(零安装延迟),同时保证用户的实际工作不会被后续镜像更新影响。
Dev Server 懒启动
Web 预览是专家常用的能力——让用户实时看到代码的视觉效果。但 Dev Server 是资源密集型进程: 不变式:Dev Server 唯一的启动入口是专家主动调用初始化工具。不做预览的对话(数据分析、脚本执行、文档处理)永远不付 Dev Server 的内存和 CPU 成本。网络与安全策略
沙盒具备受控的网络访问能力:出站访问
专家可以访问外部 API、下载资源、进行网络请求。这对 Web 开发和数据采集是必需的。
进程隔离
每个沙盒是独立的 Linux 容器,具有完整的进程命名空间隔离。一个用户的操作绝不可能影响另一个用户。
资源上限
CPU、内存、磁盘用量都有容器级别的硬限制,防止恶意或失控的程序耗尽共享基础设施。
文件系统隔离
云文件存储按会话隔离挂载,跨会话不可访问。即使同一用户的不同会话也看不到彼此的文件。
Provider 抽象
沙盒系统采用 Provider 抽象设计,使底层实现可以透明切换: Runtime 不关心容器的具体实现细节——它通过统一的 Provider 接口与沙盒交互。这意味着未来可以无缝接入新的容器供应商,而上层的 Agent 逻辑无需任何改动。文件同步与预览
沙盒中专家创建的文件可以被用户实时预览和下载:- 代码文件:语法高亮展示,支持 diff 对比
- Web 项目:通过 Dev Server 实时预览,支持 HMR 热更新
- 数据文件:表格、图表内联渲染
- 文档:PDF、Markdown 即时预览
沙盒是袋袋「AI 不只是说,还能做」理念的技术基石。没有它,专家只能生成文本;有了它,专家可以写代码、运行程序、创建项目、生成文档——像一个真正的数字同事一样工作。

