
あなたのエージェントはセキュリティリスクです。だから、そのように扱ってください。yoloAIはAIエージェントのサンドボックス化を正しく実現します。
AIコーディングエージェント向けサンドボックスランナー。権限プロンプトの疲れも、ボックス内の認証情報も、承認するまでプロジェクトへの変更も一切ありません。
AIコーディングエージェントはガードレールを外した状態で最もよく機能しますが、それを実機で実行するのは非常に危険です。yoloAIはエージェントに使い捨てのサンドボックスを提供し、無人で何でも編集・実行できるようにします。あなたのプロジェクト、認証情報、ネットワークはすべてあなたの管理下に置かれます。エージェントが完了したら、差分を確認して保持したい部分だけを適用します。
あなた サンドボックス あなたのプロジェクト
│ │ │
├─ yoloai new fix-bug . ├─ プロジェクトのサンドボックスコピー │
│ │ │
├─ << プロンプト >> ├─ エージェントが自由に作業 │
│ │ (権限プロンプトなし) │
│ │ │
├─ yoloai diff fix-bug ├─ 変更内容を表示 │
│ │ │
├─ yoloai apply fix-bug │ ├─ パッチが適用される
│ (適用するものを選択) │ │
│ │ │
├─ yoloai destroy fix-bug ├─ サンドボックスを破棄 │
権限プロンプトはエージェントがミスをするから存在します。100回目の許可/拒否でプロンプトを読まなくなり、--dangerously-skip-permissions は混乱したエージェントが大事故を起こす一歩手前です。yoloAIはプロンプトが不要になるまで爆発半径を縮小します:
diff で変更内容が正確に表示され、apply で個々のコミットを保持したまま実際のプロジェクトにパッチを適用します。適用するまで原本は一切変更されません。--network-isolated はエージェントのAPIエンドポイントと許可したドメインのみに外部通信を制限します。--network-none はネットワークを完全に削除します。完全なモデル(正直な制限事項を含む)については セキュリティ を参照してください。
最新リリース からお使いのプラットフォーム用のアーカイブをダウンロードし、yoloai バイナリを展開して PATH に配置します:
# Linux x86-64(必要に応じて linux_arm64 / darwin_amd64 / darwin_arm64 に置き換え)
# VERSION には上記の最新リリースページに表示されているタグを先頭の "v" なしで設定します。
# 例: タグ v1.2.3 の場合 VERSION=1.2.3
VERSION=X.Y.Z
curl -fsSL "https://github.com/kstenerud/yoloai/releases/download/v${VERSION}/yoloai_${VERSION}_linux_amd64.tar.gz" \
| tar -xz yoloai
sudo install yoloai /usr/local/bin/
各アーカイブにはシェル補完、LICENSE、変更ログも同梱されています。リリースはcosign(checksums.txt)で署名され、GitHubのビルド来歴(gh attestation verify yoloai_… --repo kstenerud/yoloai)が付与されています。Debian/RPMパッケージも各リリースに添付されています。
brew install --cask kstenerud/tap/yoloai
go install を使用# 最新リリース
go install github.com/kstenerud/yoloai/cmd/yoloai@latest
# 最新開発版(不安定)
go install github.com/kstenerud/yoloai/cmd/yoloai@main
Go 1.26+ が必要です。バイナリは $GOPATH/bin(通常は ~/go/bin)に配置されます。
git clone https://github.com/kstenerud/yoloai.git
cd yoloai
git checkout "$(git describe --tags --abbrev=0)" # 最新のリリースタグ。開発版の場合は main のままでも可
make build
sudo install yoloai /usr/local/bin/
選択したバックエンド以外にランタイム依存関係のない単一のGoバイナリです。初回実行時にyoloAIはベースイメージをビルドし、~/.yoloai/(または --data-dir で指定したディレクトリ)を作成します。
# 認証(yoloAIは既存の認証情報を自動的に検出します)
export ANTHROPIC_API_KEY=sk-ant-... # Claude Code
export GEMINI_API_KEY=... # Gemini CLI
# または、すでに認証済みのセッションをそのまま利用
# 1. サンドボックスを起動。プロンプトを指定するとエージェントがすぐに作業を開始します
yoloai new fix-bug ./my-project --prompt "fix the failing tests"
# 2. エージェントが変更した内容を確認
yoloai diff fix-bug
# 3. 良い部分だけを実際のプロジェクトに適用
yoloai apply fix-bug
# 4. サンドボックスを破棄
yoloai destroy fix-bug
yoloai new exploration ./my-project -a
# サンドボックス内のtmuxで実行されているエージェントの中に入ります。
# Ctrl-B, D でデタッチ。
# yoloai attach exploration で再接続。
長時間のセッションではループで作業します: エージェントに作業の進行に合わせてコミットするよう指示し、完成したコミットを実際のプロジェクトに取り込みたいときは別のターミナルから yoloai apply を実行します。適用のたびに前回以降の新しいコミットだけが取り込まれます。結果に満足したら通常どおりプッシュしてサンドボックスを破棄します。完全なワークフローは 使用ガイド を参照してください。
サンドボックスの作成、エージェントへのプロンプト、結果の適用:
https://github.com/user-attachments/assets/9d6740b4-a34e-4253-82ec-cb0e4c7a8bd9
サンドボックス
--env、--dir)です。--cpus、--memory)とポート転送(--port)。clonefile)、対応するLinuxファイルシステム(btrfs、XFS)ではファイルごとのreflink。reflink非対応のファイルシステム(ext4)では通常のコピー。.gitignore を尊重: 無視されたものはサンドボックスにコピーされません(ディスク上の開発用認証情報に対するセキュリティ対策)。認証情報
ワークフロー
.patch ファイルのエクスポート、refによるコミット選択、または事前の --dry-run。yoloai run --prompt ... --rm。すべてのコマンドで --json 出力に対応。統合
shell モードで対応。--vscode-tunnel)。yoloai mcp serve で外部エージェントがサンドボックスをツールとして操作可能。yoloai mcp proxy でサンドボックス内のMCPサーバーを実行。yoloai x)。~/.yoloai/ に保存されます(--data-dir で移動可能)。注記: Tartは完全なmacOS VMを提供するため、サンドボックス内でシミュレーターを実行できます。
必要に応じてOCIランタイムをアップグレードし、より強力な隔離を実現できます。gVisorモードはdockerとpodmanで利用可能で、VMモードはcontainerdバックエンドに付属しています。
# すべての新しいサンドボックスでgVisorを使用
yoloai config set isolation container-enhanced
# またはサンドボックスごとに指定
yoloai new task . --isolation container-enhanced
利用可能なエージェントを一覧表示するには yoloai system agents を使用します。
パブリックベータ版。コアワークフローは安定しており毎日使用されています。インターフェースは0.xリリース間で変更される可能性があり、すべての破壊的変更は BREAKING-CHANGES に文書化されています。フィードバック歓迎。
| バックエンド | 対応ホスト | 依存関係 |
|---|
| docker | Linux、macOS、Windows (WSL2) | Docker Engine、Docker Desktop、または OrbStack |
| podman | Linux、macOS | Podman(macOSでは brew install podman) |
| containerd | Linux | Kata Containers |
| apple | macOS(Apple Silicon) | Apple Container |
| tart | macOS(Apple Silicon) | Tart(brew install cirruslabs/cli/tart) |
| seatbelt | macOS(すべて) | なし(組み込みの sandbox-exec を使用) |
| モード | 説明 |
|---|
container | デフォルトの runc: 標準のLinux名前空間とcgroups |
container-enhanced | ユーザー空間カーネル(gVisor/runsc): システムコールインターセプト、KVM不要 |
container-privileged | すべてのケーパビリティ、seccomp/AppArmor無制限。Docker-in-DockerやCompose用 |
vm | Kata Containers(QEMU): ハードウェアVM隔離 |
vm-enhanced | Kata + Firecracker microVM: 軽量VM隔離 |
| モード | 説明 |
|---|
claude | APIキーまたはサブスクリプション認証情報で Claude Code を実行(デフォルト) |
codex | APIキーまたはサブスクリプション認証情報で Codex を実行 |
gemini | APIキーまたはサブスクリプション認証情報で Gemini CLI を実行 |
aider | Aider を実行(設定はコピーされます) |
opencode | OpenCode を実行(設定はコピーされます) |
shell | すべてのエージェント認証情報がシードされたtmuxシェルを実行 |
idle | MCPプロキシを許可するアイドルプロセスを実行 |