Skip to main content
OpenShell はマネージドサンドボックスバックエンドです。Docker コンテナを ローカルで実行する代わりに、OpenClaw はサンドボックスのライフサイクルを openshell CLI に委任し、 この CLI がリモート環境をプロビジョニングして SSH 経由でコマンドを実行します。 このプラグインは、汎用の SSH バックエンドと同じ SSH トランスポートおよびリモートファイルシステムブリッジを再利用し、OpenShell の ライフサイクル(sandbox create/get/delete/ssh-config)と、オプションの mirror ワークスペース同期モードを追加します。

前提条件

  • OpenShell プラグインがインストール済み(openclaw plugins install @openclaw/openshell-sandbox
  • openshell CLI が PATH に存在(または plugins.entries.openshell.config.command でカスタムパスを指定)
  • サンドボックスへのアクセス権を持つ OpenShell アカウント
  • ホスト上で OpenClaw Gateway が実行中

クイックスタート

Gateway を再起動します。次のエージェントターンで OpenClaw が OpenShell サンドボックスを作成し、ツールの実行をそこにルーティングします。次のコマンドで確認します。

ワークスペースモード

これは OpenShell に関する最も重要な選択です。

mirror(デフォルト)

plugins.entries.openshell.config.mode: "mirror"ローカルワークスペースを 正規のワークスペースとして維持します。
  • exec の前に、OpenClaw はローカルワークスペースをサンドボックスへ同期します。
  • exec の後に、OpenClaw はリモートワークスペースをローカルへ同期します。
  • ファイルツールはサンドボックスブリッジを経由しますが、ターン間ではローカルが 信頼できる情報源として維持されます。
開発ワークフローに最適です。OpenClaw 外部で行ったローカル編集は次回の 実行時に反映され、サンドボックスは Docker バックエンドに近い動作をします。 トレードオフ:実行ターンごとにアップロードとダウンロードのコストが発生します。

remote

mode: "remote"OpenShell ワークスペースを正規のワークスペースにします。
  • サンドボックスの初回作成時に、OpenClaw はローカルからリモートワークスペースへ 一度だけ初期データを投入します。
  • その後、execreadwriteeditapply_patch は リモートワークスペースを直接操作します。OpenClaw はリモートでの変更を ローカルへ同期しません
  • プロンプト処理時のメディア読み取りも引き続き機能します(ファイル/メディアツールは サンドボックスブリッジ経由で読み取ります)。
長時間稼働するエージェントや CI に最適です。ターンごとのオーバーヘッドが低く、 ホスト側のローカル編集によってリモートの状態が暗黙に上書きされることもありません。
初期データ投入後に OpenClaw 外部からホスト上のファイルを編集しても、リモートサンドボックスには反映されません。再度初期データを投入するには openclaw sandbox recreate を実行してください。

モードの選択

設定リファレンス

すべての OpenShell 設定は plugins.entries.openshell.config 配下にあります。 remoteWorkspaceDirremoteAgentWorkspaceDir は絶対パスでなければならず、 マネージドルート /sandbox または /agent の配下に収まる必要があります。それ以外の絶対パスは 拒否されます。 サンドボックスレベルの設定(modescopeworkspaceAccess)は、他のバックエンドと同様に agents.defaults.sandbox 配下にあります。完全な対応表については サンドボックス化を参照してください。

最小構成のリモートセットアップ

GPU を使用する mirror モード

カスタム Gateway を使用するエージェント単位の OpenShell

ライフサイクル管理

remote モードでは、再作成が特に重要です。そのスコープの正規の リモートワークスペースが削除され、次回使用時にローカルから新しい初期データが 投入されます。mirror モードではローカルが正規の状態として維持されるため、再作成は主にリモート実行 環境をリセットします。 次のいずれかを変更した後は再作成してください。
  • agents.defaults.sandbox.backend
  • plugins.entries.openshell.config.from
  • plugins.entries.openshell.config.mode
  • plugins.entries.openshell.config.policy

セキュリティ強化

mirror モードのファイルシステムブリッジはローカルワークスペースのルートを固定し、 読み取り、書き込み、ディレクトリ作成、削除、名前変更の前に毎回 正規パスを realpath で再確認し、パス途中のシンボリックリンクを拒否します。シンボリックリンクの差し替えやワークスペースの再マウントによって、 ミラーリングされたツリーの外部へファイルアクセスをリダイレクトすることはできません。

現在の制限事項

  • OpenShell バックエンドではサンドボックスブラウザはサポートされません。
  • sandbox.docker.binds は OpenShell には適用されません。バインドが設定されている場合、 サンドボックスの作成は失敗します。
  • sandbox.docker.* 配下の Docker 固有のランタイム設定(env を除く)は、 Docker バックエンドにのみ適用されます。

仕組み

  1. OpenClaw はサンドボックス名に対して sandbox get を実行します(設定されている --gateway/--gateway-endpoint を使用)。失敗した場合は sandbox create でサンドボックスを作成し、--name--from、設定されている場合は --policy、有効な場合は --gpu--auto-providers/--no-auto-providers、および設定された各プロバイダーにつき 1 つの --provider フラグを渡します。
  2. OpenClaw はサンドボックス名に対して sandbox ssh-config を実行し、SSH 接続情報を取得します。
  3. コアは SSH 設定を一時ファイルへ書き込み、汎用 SSH バックエンドと同じ リモートファイルシステムブリッジ経由で SSH セッションを開きます。
  4. mirror モードでは、実行前にローカルからリモートへ同期し、実行後に同期して戻します。
  5. remote モードでは、作成時に一度だけ初期データを投入し、その後はリモート ワークスペースを直接操作します。

関連項目