AI コーディングアシスタント(Claude Code、OpenAI Codex)を Docker コンテナ内で安全に実行するための環境です。
ターゲットとなる git プロジェクトを指定してコンテナを起動すると、プロジェクトがコンテナ内にマウントされ、claude / codex コマンドが即座に使えます。git、gh(GitHub CLI)、python3 も標準でインストール済みです。
- macOS または Linux
- Docker(macOS の場合は Colima)
- Git
# このリポジトリをクローン
git clone <repository-url> && cd AI-Sandbox
# Docker 環境をセットアップ(Docker + Colima + Buildx をインストール、初回のみ)
make setup
# Colima を起動(Mac 再起動後など、Docker が止まっているとき)
make startDocker がインストール済みであれば追加セットアップは不要です。
# ターゲットプロジェクトを指定してコンテナを起動
./launch-sandbox.sh ~/projects/my-app
# AI Sandbox リポジトリ直下から Make 経由で起動する場合
make launch-sandbox ~/projects/my-app
# ターゲットプロジェクト側から起動する場合
~/tools/AI-Sandbox/launch-sandbox.sh .
# コンテナ内のシェルに入る
# /workspace $ claude ← Claude Code が使える
# /workspace $ codex ← OpenAI Codex が使える
# /workspace $ exit ← コンテナから抜ける初回実行時は Docker イメージが自動的にビルドされます(数分かかります)。
# ターゲットプロジェクトに .devcontainer/ を配置
./launch-sandbox.sh --vscode ~/projects/my-app
# VS Code でプロジェクトを開く
code ~/projects/my-app
# → 「Reopen in Container」の提案が表示される| オプション | 説明 |
|---|---|
--rebuild |
イメージをキャッシュなしで強制再ビルドして起動 |
--vscode |
ターゲットに .devcontainer/ を配置(コンテナは起動しない) |
-h, --help |
ヘルプを表示 |
異なるターミナルから異なるプロジェクトを同時に起動できます。各コンテナは独立して動作します。
# ターミナル 1
./launch-sandbox.sh ~/projects/app-A
# ターミナル 2
./launch-sandbox.sh ~/projects/app-B通常のプロジェクトで Claude Code を使う場合、rm -rf や curl などの操作は誤実行を防ぐために確認プロンプトが表示されます。しかし AI Sandbox ではコンテナがホスト Mac のファイルシステムを隔離しているため、最悪の場合でもターゲットプロジェクトの1ディレクトリしか影響を受けません(Mac のルートは守られます)。
この安全性を活かして、AI Sandbox では AI ツールに以下のフラグが自動付与されます。
claude:--dangerously-skip-permissionscodex:--dangerously-bypass-approvals-and-sandbox
これにより:
- 確認プロンプトなしでコードの生成・編集・実行・削除が連続して進む
- ターゲットプロジェクトに独自の
.claude/settings.jsonがあっても制約を受けない - AI が自律的に作業を進められるため、複雑なタスクをより短時間で完結できる
コンテナに入ると以下の警告が赤字で表示されます:
⚠️ AI Sandbox: claude は --dangerously-skip-permissions、codex は --dangerously-bypass-approvals-and-sandbox モードで動作します。AI への権限が大幅に委譲されています。
コンテナ外に影響する操作のみ禁止しています:
| 禁止操作 | 理由 |
|---|---|
git push --force 系 |
リモートリポジトリを破壊するため |
.env* / SSH 秘密鍵の読み書き |
機密情報の漏洩リスク |
Claude Code の認証情報(~/.claude/)は Docker Named Volume に保存されます。コンテナを終了・再起動しても認証は保持されるため、毎回ログインする必要はありません。
Colima のメモリ不足が原因の可能性があります。
colima stop
make start
./launch-sandbox.sh --rebuild ~/projects/my-app# macOS の場合
make start
# 状態確認
colima statusmake update-toolsmake update-tools は OS パッケージなどのキャッシュを再利用し、Claude Code と Codex の取得レイヤー以降だけを再実行します。更新後は通常どおり任意のターゲットプロジェクトを起動します。
make launch-sandbox ~/projects/my-app./launch-sandbox.sh --rebuild ~/projects/my-app
# Make 経由の場合
make update-all共有 Docker イメージ ai-sandbox がキャッシュなしで再ビルドされます。Dockerfile の変更(例: claude / codex の自動付与フラグ、警告文、追加パッケージ)も、既存イメージには自動反映されないため再ビルドが必要です。
再ビルド後は、通常どおり任意のターゲットプロジェクトを起動します。
make launch-sandbox ~/projects/my-app