起因
最近在做 AI Agent 相关的项目,遇到一个老大难问题:你敢让 AI 直接在你的机器上执行代码吗?
不敢。但不让它执行,AI 的能力就被阉割了一半。
试过 Docker ?内核共享,容器逃逸的 CVE 年年有。试过传统 VM ?太重了,而且 orchestration 复杂到想哭。试过云端沙盒?延迟、成本、vendor lock-in 三连击。
于是我们做了 BoxLite 。
BoxLite 是什么
一句话:能嵌入你应用的虚拟机运行时,给 AI Agent 一个完整的”沙盒电脑”。
- 硬件级隔离(真 VM ,不是容器)
- 无需 daemon ,无需 root
- 兼容 OCI 镜像(直接用 Docker Hub 的镜像)
- 支持 macOS ( Apple Silicon )和 Linux
- Python/Rust SDK ( Node.js 和 Go 即将支持)
核心理念
借鉴 SQLite 的哲学:small, fast, reliable, embeddable
import asyncio
import boxlite
async def main():
async with boxlite.SimpleBox(image=”python:slim”) as box:
result = await box.exec(“pip”, “install”, “numpy”)
result = await box.exec(“python”, “-c”, “import numpy; print(numpy.version)”)
print(result.stdout) # AI 随便折腾,你的机器安全无虞
asyncio.run(main())
就这么简单。没有 Docker daemon ,没有复杂配置,没有 root 权限要求。
为什么不是 Docker ?
Docker 容器共享宿主机内核,一个 CAP_SYS_ADMIN 的容器就能玩出花来。而 BoxLite 的每个 Box 都是独立的 microVM ,有自己的内核,硬件级隔离。
为什么不是传统 VM ?
传统 VM 太重。BoxLite 是嵌入式的,就是个 library:
[dependencies]
boxlite = { git = “https://github.com/boxlite-labs/boxlite” }
不需要管理 VM 基础设施,不需要学习复杂的 orchestration 工具。启动一个 Box 就像 new 一个对象。
典型场景
- AI Agent 沙盒 – 让 Claude/GPT 在一个完整的 Linux 环境里自由发挥,装包、写代码、起服务随便来
- 多租户 AI 托管 – 每个用户的 AI 跑在独立 VM 里,真正的隔离
- 本地开发环境 – Mac 上跑 Linux 环境,不需要 Docker Desktop
- 合规场景 – 需要硬件级隔离的监管环境
技术细节
- macOS 使用 Hypervisor.framework
- Linux 使用 KVM
- 基于 libkrun (轻量级 VMM )
- 支持端口转发、卷挂载、网络访问
- 异步 API ,可并发运行多个 Box
现状
- 开源( Apache 2.0 )
- Python SDK 已发布到 PyPI:pip install boxlite
- Rust SDK 可用
- macOS ( M 系列芯片)和 Linux ( x86_64/ARM64 )支持
路线图
- Node.js 和 Go SDK
- 更多镜像优化和缓存策略
- 性能和资源控制增强
项目地址
GitHub: https://github.com/boxlite-labs/boxlite
如果你也在做 AI Agent 相关的项目,或者需要安全的代码执行环境,欢迎试试。Issue 和 PR 都欢迎。
P.S. 写这个项目的初衷很简单:AI 应该有 freedom to explore ,但你的系统必须 safe 。BoxLite 就是在这两者之间找到了平衡点。
Leave a Reply Cancel reply