

エージェントをサンドボックス化する完璧な方法は(まだ)ありませんが、コンテナは実用的な出発点です。
AgentboxはDockerベースのコーディングエージェントサンドボックスで、元々はBatrachian Toadに触発され、現在はより多くのツールに一般化されています。
複数のエージェントセッションを実行するためにwebtermと連携して動作する隔離環境を提供します。
デフォルトコンテナは以下を提供します:
lazygit, killalluvとBunmake -C ~ ... で toad, opencode, gemini, vibe をインストール可能ENABLE_DOCKER, ENABLE_SSH, ENABLE_RDP でDocker/SSH/RDPをトグルENABLE_SSH=true) とmoshサポート/home/agent/workspace-skel 下の組み込みワークスペーススケルトンとエージェントスキルAgentboxは環境変数を使用して、コンテナ起動時に開始するサービスを制御します:
ENABLE_DOCKER=true - Dockerデーモンを起動(Docker-in-Dockerサポート用)ENABLE_SSH=true - SSHサーバーを起動(ポート22)ENABLE_RDP=true - RDPサーバーを起動(ポート3389)AGENTBOX_ENVIRONMENT=cli|gui - イメージが提供する環境マーカー(cliはヘッドレス/CLI、guiはデスクトップイメージ用)デフォルトの動作: 明示的に有効にしない限り、すべてのサービスは無効です。
# Default - all services disabled
docker run -d agentbox
# Enable only Docker daemon
docker run -d -e ENABLE_DOCKER=true agentbox
# Enable Docker and SSH for development
docker run -d -e ENABLE_DOCKER=true -e ENABLE_SSH=true -p 22:22 agentbox
# Full desktop experience with all services (GUI image)
docker run -d -e ENABLE_DOCKER=true -e ENABLE_SSH=true -e ENABLE_RDP=true -p 22:22 -p 3389:3389 agentbox:gui
コンテナ内では、agentユーザーに追加ツールをインストールできる~/Makefileが付属しています。
make -C ~ …でインストールできるコーディングエージェント/CLI:
toad — Batrachian Toad をインストール(uv tool経由)opencode — OpenCode をインストール(Bun経由)gemini — Gemini CLI をインストール(Homebrew経由)vibe — mistral-vibe をインストール(uv tool経由)便利なターゲット:
tools — node, go, gemini, vibe をインストールnode, go — 言語ツールチェーンをインストール(一部のエージェントの前提条件)Agentboxには、/home/agent/workspace-skelに組み込みのプロジェクトスケルトンが同梱されています。
現在の/workspaceに既存ファイルを上書きせずにコピーするには:
make init-workspace
詳細はdocs/workspace-skeleton.mdを参照してください。
GUIビルドは:guiタグ(および<release>-gui)として公開されており、XFCE、XRDP、VS Codeが含まれています。
推奨ワークフロー:
make up
make enter-toad # or: make enter-copilot
make down
サービスオーバーライドが必要な場合は、docker-compose.override.ymlを作成します:
services:
toad:
environment:
ENABLE_DOCKER: "true"
ENABLE_SSH: "true"
copilot:
environment:
ENABLE_DOCKER: "true"
ENABLE_SSH: "true"
次に実行:
docker compose up -d
# Build the headless image
docker build -t agentbox .
# Build the GUI image
docker build -t agentbox:gui --target gui .
# Run the container with selected services (GUI image)
docker run -d \
--name agentbox \
--privileged \
-e ENABLE_DOCKER=true \
-e ENABLE_SSH=true \
-e ENABLE_RDP=true \
-p 22:22 \
-p 3389:3389 \
-v $(pwd):/workspace \
agentbox:gui
コンテナに接続したら:
make -C ~ toad
toad
toad /workspace
toad -a open-hands
このプロジェクトは、私の古いrcarmo/docker-templates/desktop-chromeをベースに、ユーザーランドを更新したものです。
MIT