BoxLite:AI 智能体的微虚拟机引擎
为 AI 智能体提供硬件隔离的微 VM,轻量可嵌入,弹性支撑智能体云。
- Star 数
- ★ 2.6k
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- TypeScript
- FA 评分
- 57/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- AI 智能体开发者:在本地笔记本上嵌入 BoxLite,为智能体提供隔离、持久的代码执行环境。
- 不适合
- 没有 KVM 或硬件虚拟化支持的 Linux 用户
- 需要 macOS Intel 机器的用户
- 不想为每个 Box 承担一个 VM 资源开销的团队
- 源码审查
- 57/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
BoxLite 是一个用 Rust 编写的微虚拟机引擎,专门为 AI 智能体设计。它可以在笔记本电脑上作为库嵌入,也可以部署为多租户云服务。每个“Box”都是一个硬件隔离的 VM,运行任意 OCI 镜像,并支持持久化——智能体可以在多次交互中保留安装的软件和写入的文件。BoxLite 提供 Python、Node.js、Go、Rust 和 C SDK,以及 CLI 和 REST API。它强调无守护进程运行,可直接嵌入应用,无需 root 权限。安全性通过 KVM/Hypervisor.framework 硬件虚拟化和 OS 级沙箱(seccomp/sandbox-exec)实现。BoxLite 支持 macOS(Apple Silicon)和 Linux(x86_64 和 ARM64),并计划支持更多平台。它已集成到 Databricks Omnigent、Alibaba AgentScope Runtime 和 ByteDance deer-flow 等智能体框架中。
BoxLite 执行以下操作:
- 通过库或 CLI 创建并管理硬件隔离的微 VM(Box)。
- 拉取并运行任何 OCI 镜像(例如 python:slim、alpine:latest)。
- 在 VM 内执行命令,支持流式 stdout/stderr、退出码、交互式 PTY、超时和工作目录设置。
- 支持持久化磁盘存储,Box 停止/重启后保留状态。
- 通过 allow_net 控制网络访问,并支持端口转发和隧道。
- 提供秘密注入,真实凭证不会进入 VM。
- 提供 CPU、内存和资源限制,以及环境变量清洗。
- 可通过 CLI 作为独立服务器运行,提供 REST API。
- AI 智能体开发者:在本地笔记本上嵌入 BoxLite,为智能体提供隔离、持久的代码执行环境。
- 平台工程师:使用 BoxLite CLI 快速创建隔离的微 VM 以运行 OCI 镜像,用于测试或数据处理。
- 研究团队:集成 BoxLite 到自定义智能体框架(如 deer-flow),提供沙箱后端的计算隔离。
- 云服务提供商:使用 BoxLite 的控制平面部署多租户智能体云,支持自动扩展。
- 安全敏感应用:利用硬件隔离和网络白名单(allow_net)保护敏感数据,防止智能体越权访问。
如何安装或部署这个 Agent?
安装 BoxLite Python SDK:
pip install boxlite安装 CLI(可选):
curl -fsSL https://sh.boxlite.ai | sh需要 macOS 12+(Apple Silicon)或 Linux 且启用 KVM(/dev/kvm 可访问)。Windows 用户需使用 WSL2 并启用 KVM。
如何使用这个 Agent?
在 Python 中使用:
import asyncio
import boxlite
async def main():
async with boxlite.SimpleBox(image="python:slim") as box:
result = await box.exec("python", "-c", "print('Hello from BoxLite!')")
print(result.stdout)
asyncio.run(main())使用 CLI 运行镜像:
boxlite run python:slim python -c "print('Hello from BoxLite!')"启动 REST 服务器:
boxlite serve
curl -X POST http://localhost:8100/v1/boxes -H 'Content-Type: application/json' -d '{"image": "alpine:latest"}'这个 Agent 有哪些优点和局限?
- 硬件隔离比容器更强,比传统 VM 更轻量。
- 支持多语言 SDK(Python、Node.js、Go、Rust、C)和 REST API,易于集成。
- Box 持久化,智能体可在多次交互中保留状态。
- 无守护进程设计,可嵌入应用无 root 权限。
- 需要硬件虚拟化支持(KVM/Hypervisor.framework),在无 KVM 的 Linux 上可能无法运行。
- macOS Intel 支持尚未实现。
- 作为库嵌入时,运行多个 Box 可能占用大量资源(每个 Box 一个 VM)。
- 对网络限制(allow_net)需要开发者明确配置,否则默认为开放。
这个 Agent 与同类方案有什么区别?
与 Docker 容器相比,BoxLite 提供更强的隔离(硬件虚拟化)但更重;与 Firecracker 等其他微 VM 方案相比,BoxLite 专注于 AI 智能体场景,提供更简单的 API 和持久化功能。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| BoxLite:AI 智能体的微虚拟机引擎 当前 | 57 · 缺口较多 | 代码库 / SDK免费 | ★ 2.6k | 今天 | TypeScript | — |
| microsandbox | 61 · 存在缺口 | 命令行工具免费 | ★ 8.7k | 今天 | Rust | Claude Code |
| Astrid 操作系统 | 70 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 10k | 4 天前 | Rust | — |
| OpenFang | 56 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 18k | 5 个月前 | Rust | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 强调硬件隔离、seccomp/sandbox-exec、资源限制、环境净化,以及 allow_net 和秘密注入(真实值不进入 VM),表明最小权限原则得到部分处理。但缺少用户确认机制(如执行敏感操作前的提示)的明确文档。数据流透明度有限,未详细说明数据如何流动或日志记录。敏感数据处理有秘密注入和 env 净化,但未说明存储加密。依赖安全:Cargo.toml 使用 git 依赖(youki)并固定 rev,但未提供依赖审计或漏洞扫描证据。外部影响:网络限制和端口转发有文档,但未说明默认网络策略。回滚:有快照和导出/导入,但未明确回滚流程。来源归属:作者在 Cargo.toml 中列出,但发布者未验证。扣分原因:缺少用户确认、数据流透明度不足、回滚流程不明确、发布者未验证。
证据显示:README 和 CI 工作流描述一致,版本号在 Cargo.toml 和 package.json 中一致(0.9.7 vs 1.0.0 不一致,但 package.json 可能是根目录占位)。依赖可用性:有 CI 构建流程,但未提供依赖可用性保证。失败消息:测试文件中有错误处理测试,但未提供用户可见的失败消息示例。扣分原因:版本号不一致(package.json 1.0.0 vs Cargo.toml 0.9.7),依赖可用性未明确保证。
证据显示:README 描述了多种使用场景(嵌入、CLI、服务器、云),支持多语言 SDK,平台支持列表明确。能力边界:有 allow_net、资源限制等,但未明确默认限制。触发精度:CLI 和 API 有文档,但未详细说明触发条件。环境适配:支持 macOS、Linux、WSL2,但未说明 Windows 原生支持。扣分原因:能力边界默认值未明确,触发条件文档不详细。
证据显示:README 结构清晰,有安装说明(pip、npm、cargo、curl),命名稳定(boxlite),有示例和 FAQ 链接,已知限制未明确列出,许可证为 Apache-2.0(LICENSE 文件完整),版本号在 Cargo.toml 中为 0.9.7,但 package.json 为 1.0.0,无 CHANGELOG 文件,维护责任在 README 中提及(GitHub Issues、Discord)。扣分原因:版本号不一致,无 CHANGELOG,已知限制未明确。
证据显示:输出可用性:SDK 提供 stdout/stderr 和退出码,文档有示例。边际价值:提供微 VM 隔离,有独特价值。成本效益:开源免费,但未提供性能基准。扣分原因:无性能数据,成本效益未量化。
证据显示:README 中的声明部分有文档支持(如架构图),但未提供测试结果或独立验证。跨来源佐证:有 CI 工作流和测试文件,但未提供外部验证。事实与推断分离:文档中未明确区分事实和推断。扣分原因:声明缺乏可追溯性,无独立验证,事实与推断未分离。
- 版本号不一致:Cargo.toml 为 0.9.7,package.json 为 1.0.0,可能引起混淆。
- 发布者未验证,身份未知,需谨慎评估。
- 依赖使用 git 固定 rev,但未提供依赖审计证据。
- 缺少用户确认机制,敏感操作可能无提示。
- 数据流透明度有限,日志和监控细节不足。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's Changed * feat!: start a box from any public image by @silverzki in https://github.com/boxlite-ai/boxlite/pull/1547 * chore: update agent tooling to 0.1.27 by @DorianZheng in https://github.com/boxlite-ai/boxlite/pull/1941 * feat(infra): manage a dedicated OpenAPI log reader by @DefeatMan in https://github.com/boxlite-ai/boxlite/pull/1932 * fix(api): enforce box/proxy API-key permissions, authorize volume attach by @Monsteer714 in https://github.com/boxlite-ai/boxlite/pull/1911 …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * chore: ignore local agent instruction files by @mamamiyear in https://github.com/boxlite-ai/boxlite/pull/1817 * feat(vmm): expose x86 entry register configuration by @DorianZheng in https://github.com/boxlite-ai/boxlite/pull/1710 * feat(vmm): expose host CPUID and checked MSR configuration by @DorianZheng in https://github.com/boxlite-ai/boxlite/pull/1711 * feat(copy): accept docker's SRC/. spelling for a directory's contents by @ltstriker in https://github.com/boxlite-ai/boxlite/pull/1826 …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * chore: adopt agent-tooling 0.1.21 by @DorianZheng in https://github.com/boxlite-ai/boxlite/pull/1618 * docs(ssh): explain russh and guest SSH architecture by @DorianZheng in https://github.com/boxlite-ai/boxlite/pull/1649 * docs(infra): map cloud architecture and billing components by @DorianZheng in https://github.com/boxlite-ai/boxlite/pull/1650 * docs(infra): document configuration and image builds by @DorianZheng in https://github.com/boxlite-ai/boxlite/pull/1651 …在 GitHub 查看 ↗