- macOSのVirtualization.frameworkをベースに動作する、AIエージェント実行向けの軽量Linux仮想マシン環境。Docker不要
- すべての実行はデフォルトで一時的(Ephemeral) に開始され、インストールや変更は終了時に自動的に初期化される
- Checkpoint機能によりディスク状態をスナップショットとして保存でき、復元・分岐・再利用が可能
- ネットワーク、CPU、メモリ、ディスクサイズをコマンドラインオプションや設定ファイルで細かく制御可能
- AIコード実行、パッケージインストール、評価およびテスト向けに、安全で再現可能なローカルサンドボックス環境を提供
ローカルファーストなサンドボックス shuru 概要
- macOS上でAIエージェント向け軽量Linux VMを実行する構成
- Apple Virtualization.frameworkを使用し、エミュレーションなしでARM64ネイティブ速度を提供
- Docker依存はなく、デフォルトで一時的(Ephemeral) な実行形態
- 各実行はクリーンなrootfsから開始され、変更内容は保存しない限り保持されない
状態管理とスナップショット
- Checkpoint機能でディスク状態を名前付きスナップショットとして保存可能
- 保存済みスナップショットは復元、分岐、繰り返し実行が可能
- Gitコミットのように環境をバージョン管理できる
- 例示コマンド:
$ shuru checkpoint create myenv --allow-net -- sh -c 'apk add nodejs npm' → myenv スナップショットを保存
$ shuru run --from myenv -- node -e 'console.log("ready")' → 保存済み環境から即座に実行
CLI機能
- 単一コマンドでVMを起動して終了するシンプルなCLIインターフェースを提供
$ shuru run -- echo "hello from the sandbox" → サンドボックス内でコマンドを実行
$ shuru run -- cat /etc/os-release | head -1 → Alpine Linux環境を確認
- ネットワークアクセスはデフォルトで無効、
--allow-net フラグでNATを有効化可能
- リソース設定:
--cpus, --memory, --disk-size オプションで実行環境を調整
- ポートフォワーディング対応:
-p 8080:8000 形式でホストとゲスト間を接続可能
AIエージェント実行と活用
- AI生成コード実行のための隔離されたVM環境を提供
- パッケージインストール、コードコンパイル、システムツール利用を安全に実行
- 並列サンドボックス実行により、環境間で一貫した評価を実施可能
- テスト、デバッグ、プロトタイピング向けの使い捨てLinux環境として活用可能
インストールと開始
- インストールも実行も単一コマンドで行える
- 高速な初期化と破棄可能な環境により、開発者とAIシステムの両方に安全な実行空間を提供
1件のコメント
Hacker Newsのコメント
ここで重要なのは「ローカルVM」そのものではなく、デフォルトの向きが逆だという点だと思う
ほとんどのシステムは永続的でネットワーク接続された状態がデフォルトだが、これは逆に 一時的で隔離された環境 がデフォルトになっている
信頼できないコードを実行するとき、この違いはかなり重要
macOS向けに microterm.dev の ローカルファースト版 を作ってみようと思っている
すべてのターゲットで同じ環境を維持しつつ、速度とRAM容量だけが違うようにするのが目標
今スマホで alpine ターミナルを使っているが、これがブラウザで動いているのか本当に気になるくらいだ
ここでいう「local first」が何を意味するのか気になる。単にローカルで実行されるという意味?
E2B や sprites.dev のようなサービスはクラウドサンドボックスを提供するが、shuru は Apple の Virtualization.framework を使ってVMをローカルで動かす
つまり、データはMacの外に出ない
エージェントスタックはますます 専門化された階層構造 に分かれつつあり、サンドボックス化が独立した領域として発展している
Shuru、E2B、Modal、Firecrackerラッパーなどがその例
以前書いた記事 “Don’t go monolithic — the agent stack is stratifying” でも、こうした構造変化と モノリシックなアプローチの限界 を扱った
開発者とAIが一緒に下した 設計判断の文脈 を保存しておかないと、重要な情報が失われる
ただ、この話が micro VM の話題と直接つながるかは少しわからない
Apple の containerプロジェクト と比べるとどんな違いがあるのか気になる
この分野の イノベーションの流れ が興味深い
一方で shuru はチェックポイント機能付きの マイクロVM に集中していて、はるかにシンプルな範囲に絞っている
Windows向けにこういうものを実装した事例があるのか気になる
WSLは一般ユーザー向けアプリを配布するときに設定が必要なので、コンシューマー向けには向かない
このプロジェクトは本当にすごい。数か月前から Virtualization.frameworkベースのmicro VM を待っていた
Dockerも悪くないが、オーバーヘッド が大きいのが問題だった
デフォルトで一時的かつネットワークが無効になっている点が気に入っている
ホストディレクトリのマッピング機能を追加する予定があるのかも気になる
自分は Docker、E2B、Modal、WASM など複数のバックエンドをサポートする ephemeral sandbox向けMCPサーバー を運用しているので、これを統合してみようと思っている
Kilntainersプロジェクトのリンク
Limaと比べたときにどんな利点があるのか気になる
違いはデフォルト設定と初期セットアップの簡潔さの度合い
shuru は 一時的なVM、ネットワーク無効、実行ごとにクリーンなrootfs をデフォルトで提供する
設定ファイルなしで
shuru runと入力するだけですぐ実行できるチェックポイントとブランチもCLIに組み込まれている
Limaははるかに大きく成熟したプロジェクトだが、shuruは シンプルで学習向きのツール として開発されている
新しいプロジェクトのためにこういうものを探していた
自分が作っているのは retool + OpenClaw を組み合わせたツール で、中小企業が社内アプリを素早く構築できるよう支援するソリューションだ
Shuru は本当にすごい
自分も似たコンセプトで Linux向けMicroVMベースのツール を開発中
デフォルトはオフラインで、まだ公開できる段階ではないが、社内では dogfooding している