Sandbox CLI

分離されたエージェント実行のための Docker ベースのサンドボックスコンテナを管理します。

概要

OpenClaw はセキュリティのために分離された Docker コンテナでエージェントを実行できます。sandbox コマンドは、更新または設定変更後に特にこれらのコンテナを管理するのに役立ちます。

コマンド

openclaw sandbox explain

有効なサンドボックスモード/スコープ/ワークスペースアクセス、サンドボックスツールポリシー、昇格されたゲート(修正設定キーパス付き)を検査します。

openclaw sandbox explain
openclaw sandbox explain --session agent:main:main
openclaw sandbox explain --agent work
openclaw sandbox explain --json

openclaw sandbox list

すべてのサンドボックスコンテナをステータスと設定とともに一覧表示します。

openclaw sandbox list
openclaw sandbox list --browser  # ブラウザコンテナのみをリスト表示
openclaw sandbox list --json     # JSON 出力

出力に含まれる内容:

  • コンテナ名とステータス(実行中/停止中)
  • Docker イメージと設定との一致状況
  • Age(作成からの時間)
  • Idle time(最終使用からの時間)
  • 関連するセッション/エージェント

openclaw sandbox recreate

サンドボックスコンテナを削除して、更新されたイメージ/設定で再作成を強制します。

openclaw sandbox recreate --all                # すべてのコンテナを再作成
openclaw sandbox recreate --session main       # 特定のセッション
openclaw sandbox recreate --agent mybot        # 特定のエージェント
openclaw sandbox recreate --browser            # ブラウザコンテナのみ
openclaw sandbox recreate --all --force        # 確認をスキップ

オプション:

  • --all:すべてのサンドボックスコンテナを再作成
  • --session <key>:特定のセッションのコンテナを再作成
  • --agent <id>:特定のエージェントのコンテナを再作成
  • --browser:ブラウザコンテナのみを再作成
  • --force:確認プロンプトをスキップ

**重要:**コンテナはエージェントが次に使用されるときに自動的に再作成されます。

ユースケース

Docker イメージの更新後

# 新しいイメージをプル
docker pull openclaw-sandbox:latest
docker tag openclaw-sandbox:latest openclaw-sandbox:bookworm-slim

# 新しいイメージを使用するように設定を更新
# 設定を編集:agents.defaults.sandbox.docker.image(または agents.list[].sandbox.docker.image)

# コンテナを再作成
openclaw sandbox recreate --all

サンドボックス設定の変更後

# 設定を編集:agents.defaults.sandbox.*(または agents.list[].sandbox.*)

# 新しい設定を適用するために再作成
openclaw sandbox recreate --all

setupCommand の変更後

openclaw sandbox recreate --all
# または特定のエージェントのみ:
openclaw sandbox recreate --agent family

特定のエージェントのみ

# 1つのエージェントのコンテナのみを更新
openclaw sandbox recreate --agent alfred

なぜこれが必要なのか?

**問題:**サンドボックス Docker イメージまたは設定を更新すると:

  • 既存のコンテナは古い設定で実行し続けます
  • コンテナは非アクティブ後 24 時間後にのみプルーニングされます
  • 定期的に使用されるエージェントは古いコンテナを無期限に実行し続けます

解決策:openclaw sandbox recreate を使用して古いコンテナの削除を強制します。コンテナは次に必要になったときに現在の設定で自動的に再作成されます。

ヒント:手動の docker rm よりも openclaw sandbox recreate を優先してください。Gateway のコンテナ命名を使用し、スコープ/セッションキーが変更されたときの不一致を回避します。

設定

サンドボックス設定は ~/.openclaw/openclaw.jsonagents.defaults.sandbox にあります(エージェントごとのオーバーライドは agents.list[].sandbox に入れます):

{
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "all",                    // off, non-main, all
        "scope": "agent",                 // session, agent, shared
        "docker": {
          "image": "openclaw-sandbox:bookworm-slim",
          "containerPrefix": "openclaw-sbx-"
          // ... その他の Docker オプション
        },
        "prune": {
          "idleHours": 24,               // 24 時間アイドル後に自動プルーニング
          "maxAgeDays": 7                // 7 日後に自動プルーニング
        }
      }
    }
  }
}

関連項目