
yolobox v0.19.4
AIを全開で走らせよう。ホームディレクトリは家に置いたままだ。
██╗ ██╗ ██████╗ ██╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗
╚██╗ ██╔╝██╔═══██╗██║ ██╔═══██╗██╔══██╗██╔═══██╗╚██╗██╔╝
╚████╔╝ ██║ ██║██║ ██║ ██║██████╔╝██║ ██║ ╚███╔╝
╚██╔╝ ██║ ██║██║ ██║ ██║██╔══██╗██║ ██║ ██╔██╗
██║ ╚██████╔╝███████╗╚██████╔╝██████╔╝╚██████╔╝██╔╝ ██╗
╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝
AIを全力で走らせろ。ホームディレクトリはそのまま。
ドキュメント: yolobox.dev
変更履歴: CHANGELOG.md
Claude Code、Codex、Kimi Code、Gemini、Antigravity、OpenCode、Copilot、Pi、その他任意のAIコーディングエージェントを、ホームディレクトリを破壊することなく「yoloモード」で実行できます。
問題点
AIコーディングエージェントは、許可を求めずにコマンドを実行させると信じられないほど強力です。しかし、1つのプロンプトの誤解釈とrm -rf ~の後には、バックアップから復元することになります(ええ、まるでバックアップがあるかのように、笑)。
解決策
yoloboxはAIエージェントをコンテナ内で実行します。そこでは:
- プロジェクトディレクトリは実際のパス(例:
/Users/you/project)にマウントされます - エージェントはコンテナ内で完全な権限とsudoを持ちます
- 明示的にオプトインしない限り、ホームディレクトリはマウントされません
- 永続ボリュームにより、ツール、設定、セッションが実行間で保持されます
- Claude、Codex、Kimi Codeには組み込みのyoloboxガイダンスが提供され、実行中のサンドボックスを理解できます
AIはサンドボックス内で完全に自由に暴れられます。実際のホームディレクトリは? 手出しできません。
クイックスタート
# Install via Homebrew
brew install finbarr/tap/yolobox
# Or install via script
curl -fsSL https://raw.githubusercontent.com/finbarr/yolobox/master/install.sh | bash
その後、任意のプロジェクトから:
cd /path/to/your/project
yolobox claude # Let it rip
他のAIショートカットも同様に機能します:
yolobox codex
yolobox gemini
yolobox kimi
yolobox agy
yolobox antigravity
yolobox opencode
yolobox copilot
yolobox pi
default_harness = "codex"を設定すると、素のyoloboxでCodexが起動します。手動シェルが必要な場合はyolobox shellを、サンドボックス内で1つのコマンドを実行したい場合はyolobox run <cmd...>を使用します。
完全なインストールとランタイムの詳細はInstallation & Setupにあります。コマンド例はCommandsにあります。
同梱されているもの
ベースイメージには、AI CLI、CodexおよびClaude ACPアダプター、Node.js、Python、Go、Bun、ビルドツール、Git、GitHub CLI、ripgrep、fd、fzf、jq、vim、RTK、および通常の実用的なツールが含まれています。
他に何か必要ですか? エージェントにはsudoがあります。
yolobox内では、サポートされているAI CLIは権限プロンプトをスキップするようにラップされています。確認なし、ガードレールなし。自然が意図した通りの、純粋でフィルタリングされていないAIです。
ACPクライアントやエディタの場合、そのstdioエージェントコマンドとしてyolobox run codex-acpまたはyolobox run claude-agent-acpを使用します。アダプターは互換性のあるエンジンをバンドルし、クライアントの権限モードを使用します。yoloboxのCLI YOLOラッパーと--no-yoloはそれらを制御しません。既存の設定同期と認証オプションが適用されます。起動例はACP clientsを参照してください。
完全なツールリスト、YOLOモードラッパーテーブル、RTKの注意事項、npmパッケージの鮮度ポリシー、バンドルされたCLIのアップグレード動作については、What's in the Boxを参照してください。
プロジェクトのカスタマイズ
1つのプロジェクトに追加のツールや環境変数が必要な場合は、ベースイメージ全体をフォークするのではなく、小さなプロジェクト設定を追加します:
# .yolobox.toml
env = ["CODEX_HOME=/home/yolo/.codex-account"]
[customize]
packages = ["default-jdk", "maven"]
その後、通常通り実行します:
yolobox run mvn --version
プロジェクトレベルのカスタマイズでは、ベースイメージの上にDockerfileフラグメントを重ねることもできます。初回実行時に派生イメージがビルドされ、ベースイメージまたはカスタマイズ入力が変更されるまで、以降の実行で再利用されます。
env値にはコンテナパスを使用してください。これはyolobox内のプロセスに直接渡されるためです。env値はランタイムにそのまま渡され、その中の何も解釈されません。
ホストが同じ名前で使用している値とは異なる値(実際のトークンではなく読み取り専用トークンなど)をサンドボックスに渡すには、env_from_host(または--env-from-host KEY=HOST_VAR)でエイリアスします:
# .yolobox.toml
env_from_host = ["GH_TOKEN=YOLOBOX_READONLY_GH_TOKEN"]
エイリアスはその変数を所有します。同じキーに対する自動パススルーと--gh-tokenを抑制し、ホスト変数が未設定の場合yoloboxは起動を拒否するため、置き換えられたトークンが誤って漏れることはありません。
プロジェクトのenv設定についてはConfigurationを、パッケージインストール、Dockerfileフラグメント、再ビルド動作、アップグレード動作、完全にカスタムなイメージについてはProject-Level Customizationを参照してください。
一般的なワークフロー
yolobox setup # Configure global defaults
yolobox config # Show resolved config for this project
yolobox claude --docker --gh-token # Give the agent Docker and GitHub access
yolobox claude --claude-config --no-claude-auth # Share config, keep the box login independent
yolobox codex --rtk # Enable RTK command-output compression
yolobox run --no-network make test # Run one command with no network
yolobox fork --name bruno codex # Give an agent its own project copy
yolobox upgrade # Update binary and pull the latest image
yolobox update-agents # Update AI CLIs and ACP adapters in the persistent box
--claude-configは永続的なClaude設定を増分同期し、ホストの~/.claude/projectsを読み書き可能でライブマウントするため、セッション再開履歴が最新の状態に保たれます。--no-claude-authはボックスのログインを独立に保ちますが、そのプロジェクト履歴マウントを読み取り専用にはしません。
自動RTKセットアップでは、ボックス内からrtk telemetry enableで対話的にオプトインしない限り、テレメトリは無効のままです。
詳細なリファレンスは意図的にドキュメントサイトにあります:
- Commands: ショートカット、メンテナンスコマンド、
fork、例 - Configuration: グローバル設定、プロジェクト設定、コピーされた指示、envパススルー、コンテキストマニフェスト
- Flags: すべてのフラグ、互換性の注意、ランタイムパススルーの詳細
- Recipes: 並列エージェントとWebアプリのルーティング
哲学:それはAIの箱であり、あなたのものではない
yoloboxは人間ではなくAIエージェントのために設計されています。あなたはAIを起動し、作業させます。
エージェントはコンテナ内でsudoを持っています。コンパイラ、データベース、パッケージ、フレームワークが必要なら、インストールできます。名前付きボリュームがそのセットアップをセッション間で保持するため、READMEを100行のパッケージマトリクスにする必要はありません。プロジェクトを指定して、調理させてください。
セキュリティモデル
yoloboxは事故からの保護であり、魔法のコンテナエスケープ防止定理ではありません。
ホームディレクトリ、SSHキー、ドットファイル、無関係なプロジェクト、およびほとんどのホストファイルシステムの状態を、不注意な破壊的コマンドから保護するのに役立ちます。マウントしたプロジェクトディレクトリ、明示的に転送したシークレット、明示的にブリッジしたホストアクション、またはランタイムエスケープ脆弱性からのホストカーネルは保護しません。
より厳格なボックスにするには、次のようなフラグを組み合わせます:
yolobox claude --no-network --no-env-passthrough --readonly-project --exclude ".env*" --exclude "secrets/**"
不注意なコードではなく敵対的なコードが心配な場合は、rootless PodmanやVMなど、より強力な分離を使用してください。完全な脅威モデルとハードニングオプションはSecurity Modelにあります。
開発
make build
make test
make lint
make image
コントリビューターワークフロー、ドキュメントサイトのコマンド、バージョニング、リリースルールはContributingにあります。
ライセンス
MIT