Repolode
smol-machines

smol-machines/smolvm

一个基于 Rust 的轻量虚拟机运行时,用于在本地安全运行 AI 智能体和不可信代码。

可替代:Docker Desktop

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. 1

    使用 Homebrew 安装(macOS)

    brew install smol-machines/tap/smolvm
  2. 2

    运行一次性虚拟机并输出内核信息

    smolvm machine run --net --image alpine -- uname -a
  3. 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 数据每日更新。

相关项目