AX 爱鲜报

smolvm

smolvm 是一个可嵌入、可移植、可分支的轻量级微虚拟机,专为安全运行 AI Agent 设计。它能在本地以硬件隔离方式启动 OCI 镜像,支持快照、分支和跨平台迁移,并提供多语言 SDK。

爱鲜报评分

0.0

0 人评分

开源 · Apache-2.0 #AI #Agent #Docker #Rust #虚拟机 #沙箱

6.8k

星数

是

中文

Rust

主语言

是

活跃

61

贡献者

人工分析

EDITORIAL

推荐理由

smolvm 为 AI Agent 提供了接近容器的轻量体验,却拥有虚拟机级别的安全隔离,启动快、内存弹性、支持分支与检查点,非常适合需要本地安全执行不可信代码的场景。项目由 Rust 编写,提供 Node、Python、Rust、Go SDK,生态完整,且已有中文文档,对中文开发者友好。

适用场景

  • AI Agent 本地安全沙箱
  • 不可信代码执行环境
  • 可移植开发环境打包
  • 微虚拟机快速实验与测试
  • 跨平台应用分发(单文件可执行)

优点

  • 硬件级隔离,每个工作负载独立内核,安全性高
  • 启动迅速(亚秒级),内存弹性,资源占用低
  • 支持运行中快照、回滚与分支,便于调试和实验
  • 兼容 OCI 镜像,无需 Docker 守护进程
  • 提供多语言 SDK,易于嵌入现有应用
  • 有中文文档,社区活跃(近 7k stars)

缺点

  • 依赖硬件虚拟化支持(macOS Hypervisor.framework、Linux KVM、Windows Hypervisor Platform)
  • Windows 支持需额外启用 Hypervisor Platform,配置略复杂
  • 网络默认关闭,需显式配置允许规则,增加使用门槛
  • 项目较新,生态和第三方工具集成仍在发展中
上手难度 进阶

smolvm 简介

smolvm 是一个用 Rust 编写的可嵌入、可移植、可分支的微虚拟机(microVM),旨在让 AI Agent 在本地安全地运行。每个工作负载都运行在拥有独立内核的硬件虚拟化虚拟机中,既具备容器般的轻量体验,又提供虚拟机级别的隔离。

核心特性

  • 本地运行:在笔记本或自有服务器上启动真实虚拟机,启动时间低于 1 秒,内存弹性分配,仅占用实际使用量。
  • 可嵌入:通过统一的 Machine API 从代码中驱动虚拟机,提供 Node/TypeScript、Python、Rust、Go SDK,无需守护进程。
  • 可分支:支持对运行中的虚拟机进行快照、回滚和分支(写时复制),便于调试、实验和并行任务。
  • 可移植:将虚拟机打包为单个 .smolmachine 文件,可推送到 OCI 仓库或作为独立可执行文件分发,启动仅需 200ms。
  • 安全隔离:默认关闭网络,可限制出口主机,支持凭据替换(代码使用凭据但无法读取明文)。

快速开始

安装(macOS/Linux):

brew install smol-machines/tap/smolvm
# 或
curl -sSL https://smolmachines.com/install.sh | bash

运行一次性虚拟机:

smolvm machine run --net --image alpine -- uname -a

交互式 Shell:

smolvm machine run --net -it --image alpine -- /bin/sh

使用场景

  • AI Agent 沙箱:安全执行 LLM 生成的代码,避免影响宿主机。
  • 可移植开发环境:将配置好的环境打包,随处运行。
  • 分支实验:从运行中的状态创建多个副本,并行测试不同方案。

工作原理

smolvm 基于 libkrun 作为 VMM,使用 libkrunfw 提供客户机内核,底层利用各平台的硬件虚拟化能力(macOS Hypervisor.framework、Linux KVM、Windows Hypervisor Platform)。镜像采用 OCI 标准,可直接运行 Docker Hub 或 ghcr.io 上的镜像,无需 Docker 守护进程。

注意事项

  • 需要宿主机开启硬件虚拟化支持。
  • 网络默认关闭,需通过 --net 及允许规则显式开放。
  • Windows 用户需启用 Windows Hypervisor Platform。

更多文档请参考仓库中的 docs/ 目录,包含中文 README。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。