一个 Linux 命令行工具,可将 Firecracker microVM 的运行资源打包进单个可执行文件,运行时启动虚拟机中的容器。
- Star
- 6,766
- Fork
- 333
- 未关闭 Issue
- 74
- 最近提交
- 24小时前
这是什么?
smolvm 为每个工作负载运行一台硬件虚拟化的 microVM,拥有独立的客户机内核。它基于 libkrun 构建,在 macOS 上使用 Hypervisor.framework,在 Linux 上使用 KVM,在 Windows 上使用 Windows Hypervisor Platform。镜像采用标准 OCI 格式,可直接使用 Docker Hub 或 ghcr.io 等仓库中的镜像,无需 Docker 守护进程。通过 CLI 可以创建、启动、进入和持久化虚拟机。
项目还提供 Node、Python 和 Rust 的嵌入式 SDK,可在自己的进程中直接管理虚拟机。它支持分支与检查点:可以创建运行中的写时复制子机,也能保存包含内存、CPU 状态和磁盘的检查点,并在其他主机上恢复。虚拟机可打包为单个 .smolmachine 文件便于分发。
网络默认关闭。出站访问可限制到指定主机或域名模式,凭据也可以用占位符替代,使代码无法直接读取真实密钥。
核心功能
- 01在 macOS、Linux 和 Windows 上提供拥有独立客户机内核的硬件隔离 microVM。
- 02直接运行标准 OCI 镜像,无需 Docker 守护进程。
- 03提供 Node、Python 和 Rust 的嵌入式 SDK。
- 04支持运行中的分支以及包含内存、CPU 和磁盘状态的检查点。
- 05可将虚拟机打包为便携的 .smolmachine 文件。
- 06默认关闭网络,支持主机白名单和凭据替换。
适用场景
- 在本地笔记本上将 AI 智能体生成的代码放入隔离沙箱运行。
- 通过 Smolfile 创建可复现的便携开发环境。
- 在应用中通过 SDK 为每个任务嵌入独立虚拟机。
- 借助 RuntimeClass 在 Kubernetes 中以 microVM 运行 Pod。
快速上手
- 1
使用 Homebrew 安装(macOS)
brew install smol-machines/tap/smolvm - 2
运行一次性虚拟机并输出内核信息
smolvm machine run --net --image alpine -- uname -a - 3
在虚拟机中打开交互式 Shell
smolvm machine run --net -it --image alpine -- /bin/sh
使用前须知
- 根据 README,Windows 上不支持 GPU 加速。
- Intel Mac 没有已发布的构建版本,且未经测试。
- Linux 需要 KVM(/dev/kvm),Windows 需要启用 Windows Hypervisor Platform。
标签
常见问题
- smolvm 是什么?
- 一个基于 Rust 的轻量虚拟机运行时,用于在本地安全运行 AI 智能体和不可信代码。 smolvm 为每个工作负载运行一台硬件虚拟化的 microVM,拥有独立的客户机内核。它基于 libkrun 构建,在 macOS 上使用 Hypervisor.framework,在 Linux 上使用 KVM,在 Windows 上使用 Windows Hypervisor Platform。镜像采用标准 OCI 格式,可直接使用 Docker Hub 或 ghcr.io 等仓库中的镜像,无需 Docker 守护进程。通过 CLI 可以创建、启动、进入和持久化虚拟机。
- smolvm 可以免费使用吗?用的什么许可证?
- smolvm 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- smolvm 还在维护吗?
- 活跃维护中。smolvm 最近一次提交是在 2026年10月19日。
- smolvm 适合用来做什么?
- 在本地笔记本上将 AI 智能体生成的代码放入隔离沙箱运行。 通过 Smolfile 创建可复现的便携开发环境。 在应用中通过 SDK 为每个任务嵌入独立虚拟机。 借助 RuntimeClass 在 Kubernetes 中以 microVM 运行 Pod。
- smolvm 怎么安装和运行?
- 使用 Homebrew 安装(macOS): brew install smol-machines/tap/smolvm 运行一次性虚拟机并输出内核信息: smolvm machine run --net --image alpine -- uname -a 在虚拟机中打开交互式 Shell: smolvm machine run --net -it --image alpine -- /bin/sh
- 在哪里获取 smolvm?
- 源代码和安装说明在 GitHub 上:https://github.com/smol-machines/smolvm
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Firecracker 微虚拟机的沙箱平台,通过 HTTP API 隔离运行智能体与用户代码。
用 Rust 编写的安全 Python 沙箱,用于运行 AI 生成的代码,无需容器。
自托管的基于 Kubernetes 的平台,用轻量虚拟机沙箱安全执行不可信代码,提供 CLI、API 与 Python SDK。
面向自主 AI 智能体的安全私有运行时,按策略约束文件、系统调用与网络访问。
开源基础设施,用于在云端隔离沙箱中运行 AI 生成的代码,提供 JavaScript 和 Python SDK。