10 ポイント 投稿者 GN⁺ 2026-02-24 | 1件のコメント | WhatsAppで共有
  • 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件のコメント

 
GN⁺ 2026-02-24
Hacker Newsのコメント
  • ここで重要なのは「ローカルVM」そのものではなく、デフォルトの向きが逆だという点だと思う
    ほとんどのシステムは永続的でネットワーク接続された状態がデフォルトだが、これは逆に 一時的で隔離された環境 がデフォルトになっている
    信頼できないコードを実行するとき、この違いはかなり重要

  • macOS向けに microterm.devローカルファースト版 を作ってみようと思っている
    すべてのターゲットで同じ環境を維持しつつ、速度とRAM容量だけが違うようにするのが目標

    • これがVMやコンテナをどう実行しているのか気になる — クラウドベースなのか、それとも container2wasm のような方式なのか
      今スマホで alpine ターミナルを使っているが、これがブラウザで動いているのか本当に気になるくらいだ
    • iOS Safariではリダイレクトループに入る(読み込み表示が90%あたりで止まり、再読み込みを繰り返したあとエラーになる)
    • すごい、ぜひ見てみたい
  • ここでいう「local first」が何を意味するのか気になる。単にローカルで実行されるという意味?

    • そう、すべてが 自分のマシン上で実行 されるという意味
      E2B や sprites.dev のようなサービスはクラウドサンドボックスを提供するが、shuru は Apple の Virtualization.framework を使ってVMをローカルで動かす
      つまり、データはMacの外に出ない
    • macOSのみ対応なので、現実的には ローカル専用
    • 最近はこういう表現が単なる マーケティングの流行語 のように使われているのが残念
  • エージェントスタックはますます 専門化された階層構造 に分かれつつあり、サンドボックス化が独立した領域として発展している
    Shuru、E2B、Modal、Firecrackerラッパーなどがその例
    以前書いた記事 “Don’t go monolithic — the agent stack is stratifying” でも、こうした構造変化と モノリシックなアプローチの限界 を扱った

    • いい記事だった。自分も部分的にAIを活用したソフトウェア開発をしていて、似たような経験をした
      開発者とAIが一緒に下した 設計判断の文脈 を保存しておかないと、重要な情報が失われる
      ただ、この話が micro VM の話題と直接つながるかは少しわからない
  • Apple の containerプロジェクト と比べるとどんな違いがあるのか気になる
    この分野の イノベーションの流れ が興味深い

    • Apple container は Docker スタイルのワークフローで、OCIイメージとレジストリ が中心
      一方で shuru はチェックポイント機能付きの マイクロVM に集中していて、はるかにシンプルな範囲に絞っている
  • Windows向けにこういうものを実装した事例があるのか気になる
    WSLは一般ユーザー向けアプリを配布するときに設定が必要なので、コンシューマー向けには向かない

  • このプロジェクトは本当にすごい。数か月前から Virtualization.frameworkベースのmicro VM を待っていた
    Dockerも悪くないが、オーバーヘッド が大きいのが問題だった
    デフォルトで一時的かつネットワークが無効になっている点が気に入っている
    ホストディレクトリのマッピング機能を追加する予定があるのかも気になる
    自分は Docker、E2B、Modal、WASM など複数のバックエンドをサポートする ephemeral sandbox向けMCPサーバー を運用しているので、これを統合してみようと思っている
    Kilntainersプロジェクトのリンク

  • Limaと比べたときにどんな利点があるのか気になる

    • Limaも設定をうまくすれば shuru に似たことができる
      違いはデフォルト設定と初期セットアップの簡潔さの度合い
      shuru は 一時的なVMネットワーク無効実行ごとにクリーンなrootfs をデフォルトで提供する
      設定ファイルなしで shuru run と入力するだけですぐ実行できる
      チェックポイントとブランチもCLIに組み込まれている
      Limaははるかに大きく成熟したプロジェクトだが、shuruは シンプルで学習向きのツール として開発されている
  • 新しいプロジェクトのためにこういうものを探していた
    自分が作っているのは retool + OpenClaw を組み合わせたツール で、中小企業が社内アプリを素早く構築できるよう支援するソリューションだ

  • Shuru は本当にすごい
    自分も似たコンセプトで Linux向けMicroVMベースのツール を開発中
    デフォルトはオフラインで、まだ公開できる段階ではないが、社内では dogfooding している