アップデート一覧に戻る
New releaseAug 20, 2026

yoloai v0.11.0

あなたのエージェントはセキュリティリスクです。だから、そのように扱ってください。yoloAIはAIエージェントのサンドボックス化を正しく実現します。

共有

yoloAI

AIコーディングエージェント向けサンドボックスランナー。権限プロンプトの疲れも、ボックス内の認証情報も、承認するまでプロジェクトへの変更も一切ありません。

CI Nightly Audit Release Go Reference License: MIT

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 で個々のコミットを保持したまま実際のプロジェクトにパッチを適用します。適用するまで原本は一切変更されません。
  • シークレットは安全です。 サンドボックスは最小限のローカルビルド環境から起動します。ホストの環境変数はホストに留まります。認証情報は読み取り専用のファイルマウントとして提供され、環境変数としては決して渡されません。認証情報ブローカリングが適用される場合(現在はClaude、Gemini、Codexでデフォルト有効)、APIキーは完全にホスト側に留まります。ローカルプロキシがプロバイダーへの経路上でキーを注入するため、完全に侵害されたエージェントでも外部に持ち出せる情報はありません。
  • ネットワークはあなたのものです。 --network-isolated はエージェントのAPIエンドポイントと許可したドメインのみに外部通信を制限します。--network-none はネットワークを完全に削除します。
  • マシンは隔離されています。 Linux名前空間からgVisor、ハードウェアVMまで、快適なレベルを選択できます。

完全なモデル(正直な制限事項を含む)については セキュリティ を参照してください。

インストール

プリビルドバイナリ(推奨)

最新リリース からお使いのプラットフォーム用のアーカイブをダウンロードし、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パッケージも各リリースに添付されています。

Homebrew(macOS / Linux)

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

機能

サンドボックス

  • 6つのバックエンド: Docker、Podman、containerd(Kata)、Apple Container、Tart、Seatbelt。Linux、macOS、Windows(WSL2)で動作します。
  • サンドボックスごとに選択可能な隔離強度。runcからgVisor、Kata VM(QEMUまたはFirecracker)まで。
  • サンドボックスごとのネットワークポリシー: オープン、許可リスト、なし。
  • サンドボックス内の最小限の環境。ホストからのものはすべて明示的なオプトイン(--env--dir)です。
  • リソース制限(--cpus--memory)とポート転送(--port)。
  • 安価な作業ディレクトリコピー: macOSではツリー全体のクローン(APFS clonefile)、対応するLinuxファイルシステム(btrfs、XFS)ではファイルごとのreflink。reflink非対応のファイルシステム(ext4)では通常のコピー。
  • .gitignore を尊重: 無視されたものはサンドボックスにコピーされません(ディスク上の開発用認証情報に対するセキュリティ対策)。

認証情報

  • 既存のエージェントログインを自動検出: APIキー、サブスクリプション認証情報、macOSキーチェーン。
  • 認証情報ブローカリングによりAPIキーはホスト側に保持されます(現在はClaude、Gemini、Codex)。AiderとOpenCodeの認証情報は読み取り専用のファイルマウントとして提供されます。

ワークフロー

  • gitをサンドボックス側で実行するコピー/差分/適用。フィルターやフックのあるリポジトリでも正しく動作します。
  • 適用方法を選択可能: コミットのリプレイ(デフォルト)、単一パッチへのスカッシュ、.patch ファイルのエクスポート、refによるコミット選択、または事前の --dry-run
  • 完全なライフサイクル: 作成、アタッチ、停止、再起動、待機、クローン、リセット、破棄。エージェントの状態は停止・再起動後も保持されます。
  • スクリプトやCI向けのヘッドレスワンショット: yoloai run --prompt ... --rm。すべてのコマンドで --json 出力に対応。
  • エージェントが終了すると、そのtmuxペインはシェルにフォールバックするため、サンドボックスを検査できます。

統合

  • Claude Code、Codex、Gemini CLI、Aider、OpenCodeが組み込み。その他は shell モードで対応。
  • VS Code: コンテナにアタッチするか、サンドボックス内からRemote Tunnelを開きます(--vscode-tunnel)。
  • 双方向のMCP: yoloai mcp serve で外部エージェントがサンドボックスをツールとして操作可能。yoloai mcp proxy でサンドボックス内のMCPサーバーを実行。
  • プロファイル: プロジェクトごとのイメージとデフォルト(Dockerfile + 設定、継承対応)。
  • 拡張機能: YAMLでラップしたシェルスクリプトとして独自のサブコマンドを追加(yoloai x)。
  • 組み込み可能: CLIは公開 Go API の薄いレイヤーです。
  • 単一の静的バイナリ。状態は ~/.yoloai/ に保存されます(--data-dir で移動可能)。

対応インフラストラクチャ

サンドボックスバックエンド

バックエンド対応ホスト依存関係
dockerLinux、macOS、Windows (WSL2)Docker EngineDocker Desktop、または OrbStack
podmanLinux、macOSPodman(macOSでは brew install podman
containerdLinuxKata Containers
applemacOS(Apple Silicon)Apple Container
tartmacOS(Apple Silicon)Tartbrew install cirruslabs/cli/tart
seatbeltmacOS(すべて)なし(組み込みの sandbox-exec を使用)

注記: Tartは完全なmacOS VMを提供するため、サンドボックス内でシミュレーターを実行できます。

隔離モード

必要に応じてOCIランタイムをアップグレードし、より強力な隔離を実現できます。gVisorモードはdockerとpodmanで利用可能で、VMモードはcontainerdバックエンドに付属しています。

モード説明
containerデフォルトの runc: 標準のLinux名前空間とcgroups
container-enhancedユーザー空間カーネル(gVisor/runsc): システムコールインターセプト、KVM不要
container-privilegedすべてのケーパビリティ、seccomp/AppArmor無制限。Docker-in-DockerやCompose用
vmKata Containers(QEMU): ハードウェアVM隔離
vm-enhancedKata + Firecracker microVM: 軽量VM隔離
# すべての新しいサンドボックスでgVisorを使用
yoloai config set isolation container-enhanced

# またはサンドボックスごとに指定
yoloai new task . --isolation container-enhanced

エージェント

モード説明
claudeAPIキーまたはサブスクリプション認証情報で Claude Code を実行(デフォルト)
codexAPIキーまたはサブスクリプション認証情報で Codex を実行
geminiAPIキーまたはサブスクリプション認証情報で Gemini CLI を実行
aiderAider を実行(設定はコピーされます)
opencodeOpenCode を実行(設定はコピーされます)
shellすべてのエージェント認証情報がシードされたtmuxシェルを実行
idleMCPプロキシを許可するアイドルプロセスを実行

利用可能なエージェントを一覧表示するには yoloai system agents を使用します。

詳細情報

ステータス

パブリックベータ版。コアワークフローは安定しており毎日使用されています。インターフェースは0.xリリース間で変更される可能性があり、すべての破壊的変更は BREAKING-CHANGES に文書化されています。フィードバック歓迎。

ライセンス

MIT

カテゴリ