[Local LLM] 给 AI Agent 一个完整的”沙盒电脑”: BoxLite – 嵌入式 VM 运行时

·

起因

最近在做 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 一个对象。

典型场景

  1. AI Agent 沙盒 – 让 Claude/GPT 在一个完整的 Linux 环境里自由发挥,装包、写代码、起服务随便来
  2. 多租户 AI 托管 – 每个用户的 AI 跑在独立 VM 里,真正的隔离
  3. 本地开发环境 – Mac 上跑 Linux 环境,不需要 Docker Desktop
  4. 合规场景 – 需要硬件级隔离的监管环境

技术细节

  • 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 就是在这两者之间找到了平衡点。

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *