webcoyote/sandvault

Run AI agents isolated in a macOS user account and sandbox-exec. Configured to run Claude Code, OpenAI Codex, Cursor Agent, Google Gemini.

SandVault – macOS 上のサンドボックス化されたAIエージェントとシェルコマンド

何であるか – SandVault (sv) は、軽量で制限されたmacOSユーザー アカウントを作成し、そのアカウント内でコマンド(Claude、Codex、Geminiなど、人気のコード生成エージェントを含む)を実行するコマンドラインユーティリティです。macOS の sandbox-exec と別々のユーザーを組み合わせることで、フル仮想マシンのオーバーヘッドなしにVMに似た隔離を実現します。

主な機能

  • AI対応 – Claude、OpenAI Codex、OpenCode、Google Gemini、pi、Muse Codeなど、人気のコード生成エージェントを、ホストまたはサンドボックスからワンクリックで起動できます。
  • WebおよびiOS自動化 – サンドボックスは、Chrome DevTools Protocolを介してホスト上のヘッドレスChrome(またはLightpanda)と通信でき、HTTPブリッジ経由でiOSシミュレータを制御できるため、WebページやiOSアプリのUIテストを自動化できます。
  • 高速なコンテキスト切り替え – macOSユーザーの切り替えのみで済むため、VMを起動するのとは異なり、サンドボックスセッションの開始がほぼ瞬時です。
  • パスワード不要の切り替え – 初期設定後、sudo -u sandbox-$USER … でサンドボックスユーザーを擬似実行したり、SSH経由でパスワードなしにアクセスできます。
  • 共有ワークスペース – /Users/Shared/sv-$USER 下のディレクトリは、メインアカウントとサンドボックスアカウントの両方から書き込み可能で、ファイルやGitリポジトリの共有が簡単です。
  • 防御の多層化 – サンドボックスユーザーは、ホームフォルダ、他のユーザー、マウントされたドライブ、システムファイルにアクセスできません。読み取り専用のシステムパスのみが表示されます。
  • クリーンなアンインストール – sv uninstall でサンドボックスユーザーとそのすべてのファイルを削除できますが、共有ワークスペースは保持されます。

使い方

# サンドボックス内でClaudeを起動
sv claude
# サンドボックス内でシェルコマンドを実行
sv shell /Users -- pwd
# 共有領域にリポジトリをクローンして、そこでエージェントを起動
sv-clone https://github.com/example/repo.git -- codex

また、--ssh を追加してサンドボックスユーザーへのSSH接続でコマンドを実行したり、SANDVAULT_ARGS を設定して --native-install(エージェントをサンドボックス内にインストール)などのオプションをデフォルトにできます。

インストール – Homebrew(brew install sandvault)またはリポジトリをクローンして sv スクリプトを $PATH に追加することで利用可能です。

高度な機能

  • ネイティブインストール – エージェントは独自のインストーラーを使用してサンドボックス内にインストールできます(sv -N claude)。
  • ブラウザ自動化 – ヘッドレスChrome(またはLightpanda)を起動し、SV_BROWSER_ENDPOINT 環境変数を使ってサンドボックスから接続できます。PlaywrightやPuppeteerと連携可能です。
  • iOSシミュレータ自動化 – ホスト上で新規のシミュレータが起動され、HTTPブリッジ経由で公開されます(SV_IOS_SIMULATOR_ENDPOINT)。curl コマンドでアクセシビリティツリーを照会したり、要素をタップしたり、アプリを起動したり、スクリーンショットを撮影したりできます。
  • SSH鍵管理 – 公開鍵を ~/.config/codeofhonor/sandvault/authorized_keys.d/ に配置すると、SandVaultが自動的にサンドボックスユーザーの authorized_keys を再構築します。
  • AgentsView統合 – AgentsViewダッシュボードを使用している場合、sv-agentsview-setup でサンドボックスセッションデータをミラー化し、AIエージェントの活動をホスト側のセッションと一緒に確認できます。

制限事項

  • GUIアプリはサンドボックス内で実行できません。macOSは異なるユーザーがWindowServerに接続することを禁止しているためです。
  • ネストされた sandbox-exec はサポートされていません。swift のようなツールでは、環境変数フラグで内部のサンドボックスを無効にするか、--no-sandbox(-x)でSandVaultを実行する必要があります。

対象ユーザー – 強力なAIコード生成エージェントを試したい、またはブラウザやiOSシミュレータの自動化をしたいが、それらのツールをメインのmacOS環境から隔離したい開発者向けです。Docker風のコンテナが重いまたは利用できないmacOS環境で特に有用です。


TL;DR – SandVaultはmacOS専用のCLIで、制限付きユーザーを作成し、AIコード生成エージェント、シェルコマンド、ヘッドレスChrome、iOSシミュレータの自動化をサンドボックス内で実行可能にし、Homebrew経由で簡単にインストール・アンインストールできます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト