Firecracker microVMとコンテナを単一のLinux CLI実行ファイルにまとめるツール。
smol-machines/smolvm
ハードウェア分離でAIエージェントや信頼できないコードをローカル実行できる、Rust製の組み込み可能なポータブルmicroVM。
代替できる製品:Docker Desktop
- スター
- 6,766
- フォーク
- 333
- 未解決の Issue
- 74
- 最終コミット
- 21 時間前
これは何?
smolvmは、各ワークロードを専用のゲストカーネルを備えたハードウェア仮想化microVMで実行します。libkrunをベースにしており、macOSではHypervisor.framework、LinuxではKVM、WindowsではWindows Hypervisor Platformを使用します。イメージにはDocker Hubやghcr.ioなどのレジストリから取得できる標準OCIイメージを使うため、Dockerデーモンは不要です。CLIからマシンの作成、起動、execでの接続、再起動をまたいだ永続化ができます。
また、Node、Python、Rust向けの組み込み可能なSDKを提供しており、独自のプロセスからマシンを操作できます。ライブなcopy-on-write子マシンの作成や、RAM、CPU状態、ディスクを保存し、別のホストで復元できるチェックポイントなど、ブランチ機能にも対応しています。マシンは配布用の単一の.smolmachineファイルにまとめられます。
ネットワークはデフォルトで無効です。外向き通信は指定したホストやパターンに制限でき、認証情報を置き換えることで、コードが秘密情報そのものではなくプレースホルダーを使うようにできます。
主な機能
- 01macOS、Linux、Windowsで、専用のゲストカーネルを備えたハードウェア分離microVMを実行。
- 02Dockerデーモンなしで標準OCIイメージを実行。
- 03Node、Python、Rust向けの組み込み可能なSDK。
- 04RAM、CPU、ディスクの状態を保存するライブブランチとチェックポイント。
- 05マシンをポータブルな.smolmachineファイルにパッケージ化。
- 06デフォルトではネットワークを無効化し、ホストの許可リストと認証情報の置き換えに対応。
ユースケース
- ノートPC上の分離されたサンドボックスで、AIエージェントが生成したコードを実行する。
- Smolfileから再現性のあるポータブルな開発環境を作成する。
- SDKを通じて、アプリケーションにタスクごとのVMを組み込む。
- RuntimeClassを使い、KubernetesでPodをmicroVMとして実行する。
クイックスタート
- 1
Homebrewでインストール(macOS)
brew install smol-machines/tap/smolvm - 2
一時的なVMを起動してカーネル情報を表示する
smolvm machine run --net --image alpine -- uname -a - 3
VMで対話型シェルを開く
smolvm machine run --net -it --image alpine -- /bin/sh
使う前に知っておきたいこと
- READMEによると、WindowsではGPUアクセラレーションを利用できません。
- Intel Mac向けのリリースビルドは公開されておらず、テストもされていません。
- LinuxではKVM(/dev/kvm)が必要です。WindowsではWindows Hypervisor Platformを有効にする必要があります。
トピック
よくある質問
- smolvm とは?
- ハードウェア分離でAIエージェントや信頼できないコードをローカル実行できる、Rust製の組み込み可能なポータブルmicroVM。 smolvmは、各ワークロードを専用のゲストカーネルを備えたハードウェア仮想化microVMで実行します。libkrunをベースにしており、macOSではHypervisor.framework、LinuxではKVM、WindowsではWindows Hypervisor Platformを使用します。イメージにはDocker Hubやghcr.ioなどのレジストリから取得できる標準OCIイメージを使うため、Dockerデーモンは不要です。CLIからマシンの作成、起動、execでの接続、再起動をまたいだ永続化ができます。
- smolvm は無料で使えますか?ライセンスは?
- smolvm は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- smolvm は今もメンテナンスされていますか?
- 活発にメンテナンス中。smolvm の最終コミットは 2026年10月19日 です。
- smolvm は何に使えますか?
- ノートPC上の分離されたサンドボックスで、AIエージェントが生成したコードを実行する。 Smolfileから再現性のあるポータブルな開発環境を作成する。 SDKを通じて、アプリケーションにタスクごとのVMを組み込む。 RuntimeClassを使い、KubernetesでPodをmicroVMとして実行する。
- smolvm のインストール方法は?
- Homebrewでインストール(macOS): brew install smol-machines/tap/smolvm 一時的なVMを起動してカーネル情報を表示する: smolvm machine run --net --image alpine -- uname -a VMで対話型シェルを開く: smolvm machine run --net -it --image alpine -- /bin/sh
- smolvm はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/smol-machines/smolvm
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
HTTP APIで制御する、Firecracker microVM内でエージェントやユーザーのコードを隔離実行するサンドボックス基盤。
AI生成コードをコンテナなしで実行できる、Rust製の安全なPythonサンドボックス。
信頼できないコードを軽量なVMサンドボックスで実行する、CLI・HTTP API・Python SDKで操作可能なKubernetesベースのセルフホスト型基盤。
サンドボックスごとにファイル、システムコール、ネットワークのポリシーを適用する、安全でプライベートな自律型AIエージェント向けランタイム。
AI生成コードを隔離されたクラウドサンドボックスで実行するオープンソース基盤。JavaScriptとPythonのSDKを提供します。