
yolobox v0.19.4
AIを全開で走らせよう。ホームディレクトリは家に置いたままだ。
██╗ ██╗ ██████╗ ██╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗
╚██╗ ██╔╝██╔═══██╗██║ ██╔═══██╗██╔══██╗██╔═══██╗╚██╗██╔╝
╚████╔╝ ██║ ██║██║ ██║ ██║██████╔╝██║ ██║ ╚███╔╝
╚██╔╝ ██║ ██║██║ ██║ ██║██╔══██╗██║ ██║ ██╔██╗
██║ ╚██████╔╝███████╗╚██████╔╝██████╔╝╚██████╔╝██╔╝ ██╗
╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝
AIを全開にしよう。ホームディレクトリはそのままに。
ドキュメント: yolobox.dev
チェンジログ: CHANGELOG.md
Claude Code、Codex、Kimi Code、Gemini、Antigravity、OpenCode、Copilot、Pi、または任意のAIコーディングエージェントを「yoloモード」で実行し、ホームディレクトリを破壊せずに済ませましょう。
問題
AIコーディングエージェントは、許可を求めずにコマンドを実行させると非常に強力です。しかし、プロンプトを一度誤解釈して rm -rf ~ を実行してしまえば、バックアップからの復元が必要になります(まあ、バックアップなんてないでしょうけどね)。
解決策
yolobox はAIエージェントをコンテナ内で実行します:
- プロジェクトディレクトリは実際のパス(例:
/Users/you/project)でマウントされます - エージェントはコンテナ内で完全な権限とsudoを持ちます
- ホームディレクトリは明示的にオプトインしない限りマウントされません
- 永続ボリュームにより、ツール、設定、セッションが実行間で保持されます
- Claude、Codex、Kimi Codeにはyoloboxガイダンスが組み込まれており、自分が実行されているサンドボックスを理解できます
AIはサンドボックス内で完全に暴れられます。実際のホームディレクトリは?触れることはできません。
クイックスタート
# Homebrewでインストール
brew install finbarr/tap/yolobox
# またはスクリプトでインストール
curl -fsSL https://raw.githubusercontent.com/finbarr/yolobox/master/install.sh | bash
その後、任意のプロジェクトから:
cd /path/to/your/project
yolobox claude # 実行する
他の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...> を使用します。
インストールと実行時の詳細は インストールとセットアップ にあります。コマンド例は コマンド にあります。
中身は?
ベースイメージには、AI CLI、Node.js、Python、Go、Bun、ビルドツール、Git、GitHub CLI、ripgrep、fd、fzf、jq、vim、RTK、その他実用的なツールが含まれています。
他に何か必要ですか?エージェントにはsudoがあります。
yolobox内では、サポートされているAI CLIは権限プロンプトをスキップするようにラップされています。確認もガードレールもありません。自然が意図したままの、純粋でフィルタリングされていないAIだけです。
完全なツールリスト、YOLOモードのラッパーテーブル、RTKノート、npmパッケージの鮮度ポリシー、バンドルされたCLIのアップグレード動作については、中身は? を参照してください。
プロジェクトのカスタマイズ
プロジェクトに追加のツールや環境変数が必要な場合は、ベースイメージ全体をフォークする代わりに、小さなプロジェクト設定を追加します:
# .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設定については 設定、パッケージインストール、Dockerfileフラグメント、再ビルド動作、アップグレード動作、完全にカスタムなイメージについては プロジェクトレベルのカスタマイズ を参照してください。
一般的なワークフロー
yolobox setup # グローバルデフォルトを設定
yolobox config # このプロジェクトの解決済み設定を表示
yolobox claude --docker --gh-token # エージェントにDockerとGitHubアクセスを付与
yolobox claude --claude-config --no-claude-auth # 設定を共有し、ボックスのログインは独立させる
yolobox codex --rtk # RTKコマンド出力圧縮を有効化
yolobox run --no-network make test # ネットワークなしで1つのコマンドを実行
yolobox fork --name bruno codex # エージェントに独自のプロジェクトコピーを提供
yolobox upgrade # バイナリを更新し、最新イメージをプル
yolobox update-agents # 永続ボックス内のAI CLIを更新
--claude-config は永続的なClaude設定を段階的に同期し、ホストの ~/.claude/projects を読み書きでライブマウントして、セッション再開履歴を最新に保ちます。--no-claude-auth はボックスのログインを独立させますが、そのプロジェクト履歴マウントを読み取り専用にはしません。
自動RTKセットアップでは、ボックス内から rtk telemetry enable で対話的にオプトインしない限り、テレメトリは無効のままです。
詳細なリファレンスは意図的にドキュメントサイトにあります:
- コマンド: ショートカット、メンテナンスコマンド、
fork、例 - 設定: グローバル設定、プロジェクト設定、コピーされた指示、envパススルー、コンテキストマニフェスト
- フラグ: すべてのフラグ、互換性ノート、ランタイムパススルーの詳細
- レシピ: 並列エージェントとウェブアプリのルーティング
哲学: それはAIのボックスであり、あなたのものではない
yoloboxは人間ではなくAIエージェント向けに設計されています。AIを起動して、作業させます。
エージェントはコンテナ内でsudoを持っています。コンパイラ、データベース、パッケージ、フレームワークが必要なら、インストールできます。名前付きボリュームはそのセットアップをセッション間で保持するため、READMEを何百行ものパッケージマトリックスにする必要はありません。プロジェクトを指定して、調理させましょう。
セキュリティモデル
yoloboxは事故からの保護であり、魔法のようなコンテナエスケープ防止の定理ではありません。
ホームディレクトリ、SSHキー、ドットファイル、無関係なプロジェクト、およびほとんどのホストファイルシステムの状態を、不注意な破壊的コマンドから保護するのに役立ちます。マウントしたプロジェクトディレクトリ、明示的に転送したシークレット、明示的にブリッジしたホストアクション、またはランタイムエスケープの脆弱性からのホストカーネルは保護しません。
より厳格なボックスにするには、次のようなフラグを組み合わせます:
yolobox claude --no-network --no-env-passthrough --readonly-project --exclude ".env*" --exclude "secrets/**"
不注意なコードではなく悪意のあるコードが心配な場合は、rootless PodmanやVMなどのより強力な分離を使用してください。完全な脅威モデルとハードニングオプションは セキュリティモデル にあります。
開発
make build
make test
make lint
make image
コントリビューターのワークフロー、ドキュメントサイトのコマンド、バージョニング、リリースルールは コントリビューティング にあります。
ライセンス
MIT