Claudebox について
ClaudeboxはDocker上でClaude Codeを実行し、対話、スクリプト、HTTP、MCP、Telegram、スケジュール実行に対応します。共有のaicodeboxランタイムにClaude固有の設定、状態の永続化、セッション再開機能を加えます。
主な機能
- 01DockerベースのClaude Code実行環境
- 02対話モードとスクリプトモード
- 03HTTP APIとOpenAI互換チャット
- 04Telegramとスケジュール実行
- 05状態の永続化とセッション再開
活用シーン
- 01マウントしたプロジェクトでClaude Codeを実行
- 02HTTPクライアントにClaude Codeを公開
- 03ストリーミング可能なHTTPツールでエージェントと接続
- 04実行成果物を保存しながらジョブを予約
MCP 対応
Claudeboxは、ストリーミング可能なHTTPツールを通じて他のエージェントにClaude Codeを公開します。APIとMCPの認証設定は独立しており、トークン未設定の場合はエンドポイントが開放されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
claudebox
Claude Codeを、Docker 上でインタラクティブなターミナル、スクリプト、HTTP クライアント、MCP、Telegram、または cron スケジュールから実行します。Claudebox は、共有のaicodeboxランタイムに Claude 固有の設定を追加します。
ラッパーは現在のディレクトリをマウントし、Claude の状態と SSH キーを永続化します。また、デフォルトでワークスペースの最後のセッションを再開します。
**セキュリティサンドボックスではありません:**標準のラッパーはホストネットワークを使用し、ホストの Docker ソケットをマウントし、Claude にパスワードなしの sudo 権限を与え、Claude の権限確認プロンプトを回避します。信頼できるワークロードにのみ使用してください。ワークスペースディレクトリを分けても、信頼できないテナントは隔離されません。サーバーの例では Docker ソケットを省略しています。
インストール
Bash、起動済みでユーザーがアクセスできる Docker、curl、SSH キー生成ツール、およびラッパーのインストールに必要な sudo 権限が必要です。インストーラーはイメージを取得し、Claude の状態と SSH キーを作成して、claudeboxコマンドをインストールします。
デフォルトの最小イメージ:
curl -fsSL https://raw.githubusercontent.com/psyb0t/docker-claudebox/master/install.sh | bash
フル開発イメージ:
export CLAUDEBOX_FULL=1 && curl -fsSL https://raw.githubusercontent.com/psyb0t/docker-claudebox/master/install.sh | bash
フルイメージの選択は、インストールされたラッパーに保持されます。どちらのバリアントも、新しいコンテナの初回起動時に npm から固定バージョンの Claude Code CLI をインストールするため、その起動時にはネットワークアクセスが必要です。
確認済みのローカルインストール、カスタムコマンド名、イメージのオーバーライド、またはラッパーの更新については、インストールとラッパーを参照してください。リモートインストーラーは現在、必ずしもmasterではない、埋め込みのリリース参照からラッパーを取得します。
初回実行
Claude が作業するディレクトリから実行します:
cd /path/to/project
claudebox
Claude Code で認証するか、環境経由でANTHROPIC_API_KEYまたはCLAUDE_CODE_OAUTH_TOKENを指定してください。claudebox setup-tokenは Claude Code の OAuth トークンフローを実行します。生成されたトークンはシークレットストアに保管し、必要なときにエクスポートしてください。
claudebox --no-continue
claudebox -p "explain this codebase"
claudebox -p "review this codebase" --output-format json
claudebox -p "inspect the workspace" --output-format stream-json
claudebox stop
ラッパーがサポートするのは、定義済みのフラグセットであり、Claude Code ネイティブのすべての引数ではありません。出力形式、モデル選択、セッション制御については、プログラムモードを参照してください。
イメージのバリアント
| イメージ | 内容 |
|---|---|
psyb0t/claudebox:latest | 最小構成の aicodebox ランタイム、Claude アダプター、初回起動時のセットアップ。 |
psyb0t/claudebox:latest-full | 同じ Claude インターフェースに、aicodebox 共通の開発ツールチェーンを追加。 |
フルバリアントには、Go とそのツール、Python および Node の開発ツール、C/C++ ツール、インフラストラクチャツール、データベースクライアント、シェルユーティリティが追加されます。パッケージの一覧は、共有のDockerfile.fullとロックファイルで管理されています。どちらの Claudebox バリアントにも、公開イメージに Claude Code CLI は含まれていません。
明示的なイメージタグまたはダイジェストを使うには、CLAUDEBOX_IMAGEを設定してください。既存のコンテナは、再作成するまで元のイメージと起動設定を保持します。ラッパーのライフサイクルを参照してください。
モード
| インターフェース | ガイド |
|---|---|
| セッションが保持される対話型ターミナル | 対話モード |
| テキスト、JSON、またはネイティブ NDJSON 出力を使う単一のプロンプト | プログラムモード |
HTTP /run、ファイル、非同期ポーリング、OpenAI 互換チャット | API モード |
| 他のエージェント向けのストリーミング可能な HTTP ツール | MCP モード |
| チャットワークスペース、添付ファイル、アクセスリスト | Telegram モード |
| スケジュール済みジョブと永続的な実行成果物 | Cron モード |
HTTP POST /run からすべてのネイティブイベントを取得するには、リクエストで "eventMode": "full" を指定します。これは jsonSchema の有無にかかわらず動作します。イベントには、ツール呼び出し、ツールの結果、利用可能な思考内容など、Claude Code が出力するレコードが含まれます。CLI が出力しない非公開の推論は公開されません。/run は完了後に JSON レスポンスを返します。CLI から直接ストリーミングするにはネイティブの stream-json を、ネイティブ SSE イベントをオプトインで利用するには OpenAI エンドポイントを使用してください。
API と MCP の認証は独立しています。トークンを設定しない場合、そのエンドポイントは認証なしでアクセスできます。Telegram のチャットアクセスも明示的に設定してください。サーバーを外部に公開する前に、各モードのガイドにあるループバックアドレスにバインドするデプロイ例を使用してください。
設定と拡張機能
- 環境変数:ラッパーの設定、転送される変数、追加のマウント、兄弟ボックス。
- カスタマイズ:ユーザースクリプト、最初のコンテナー起動時の初期化フック、常時有効なスキル、外部 MCP サーバー。
- GitHub Action:読み取り専用のコンテキストと書き込み可能な出力ディレクトリを使った単発ジョブ。
- エージェント連携:Claude Code、Codex、OpenClaw 向けのローカルラッパースキルとリモート MCP 接続。
ネストした起動を行うには、同じコマンドディレクトリに兄弟ラッパーの claudebox、codexbox、pibox をインストールしてください。各兄弟ラッパーは、それぞれのホスト状態をマウントします。AICODEBOX_HOST_* を手動で設定しないでください。
開発
make help
make test-unit
make test-image-select
make test-programmatic-contract
make test-agent-launcher
make build
make build-full
ビルドでは、それぞれ最小版またはフル版の aicodebox 親イメージを使用します。ベースイメージの上書き方法と残りのチェックについては、Makefile を参照してください。アダプターは claudebox/claudebox/adapter.py にあります。共有サーバーモードは aicodebox にあります。
移行とライセンス
以前の名称は docker-claude-code、イメージ名は psyb0t/claude-code でした。現在の名称は docker-claudebox、psyb0t/claudebox、claudebox です。v2 では、latest が最小版に、latest-full がフル版になりました。移行の履歴については CHANGELOG.md を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。