メインコンテンツへスキップ
サンドボックス設定は LangBot メインプロセスが管理し、Box Runtime が実際の実行を担当します。通常のデプロイでは、バックエンド、ワークスペースディレクトリ、セキュリティプロファイルだけを決めれば十分です。
このページの box.* 設定はすべて data/config.yaml に記述します。ファイルの場所と読み込みの仕組みはシステム環境設定を参照してください。

推奨設定

  • enabled:サンドボックスのマスタースイッチ。false にすると、サンドボックス組み込みツール、Skill の追加 / 編集、stdio MCP のホスティングなど Box 依存の機能はすべて無効になります。
  • backend:下記「バックエンドの選択」を参照。
  • local.profile:セキュリティプロファイル。ネットワーク、マウント、リソース制限を制御。
  • local.host_root:ホスト側のサンドボックス作業ディレクトリ。サンドボックス内では /workspace にマウントされます。
  • local.skills_root:Skill パッケージのディレクトリ。相対パスは host_root 配下に解決され、デフォルトは host_root/skills
  • docker.cpu_limit_enabled:Docker サンドボックスコンテナに CPU 制限を付けるかどうか。false にすると docker run --cpus を省略し、メモリと PID 制限は維持します。
Skill は Box Runtime が管理する skill store からのみ読み込まれます。Box Runtime またはバックエンドが利用できない場合、Skill 一覧は空になり、追加 / 編集 / register_skill も使えません。data/skills/ へのフォールバックは行いません。

バックエンドの選択

サンドボックスはローカルコンテナまたはクラウドで動作させられます。box.backend でどちらを使うかを指定します: local は「自動選択」のショートハンドであり、docker / nsjail と並列の 4 つ目のバックエンドではありません。ローカル系バックエンド(local / docker / nsjail)は box.local.* 設定セクションを共有し、クラウドバックエンドは box.e2b.* を使います。
backend は強制値です。docker を指定して Docker が使えない場合、Nsjail や E2B に自動でフォールバックしません。自動 fan-out するのは local だけです。環境変数 BOX__BACKENDbox.backend を上書きできます(config.yaml より優先)。

セキュリティプロファイル

box.local.profile はローカル系バックエンドのネットワーク、マウント、リソース制限を制御します: 最小権限を優先:ネットワークが不要なら default または offline_readonlyallowed_mount_roots には必要なディレクトリのみを追加。

ローカル系バックエンド設定(box.local.*)

ローカル系バックエンド(local / docker / nsjail)は以下を共有します:

Docker バックエンド設定(box.docker.*)

クラウドバックエンド設定(box.e2b.*)

backend: 'e2b' を指定したうえで設定します: E2B はホスト側に Docker や Nsjail を必要とせず、毎回の実行をリモートサンドボックスで行います。

Docker Compose デプロイ

Docker Compose では、サンドボックス設定は langbot サービス側に記述します。LangBot は起動時に INIT RPC で設定を langbot_box に転送します。
langbot_box は Docker daemon にアクセスします。docker.sock のマウントは信頼できる環境でのみ行い、Box のルートパスをホストと langbot_box コンテナ内で一致させてください。
外部の Box Runtime(リモートホストなど)に接続する場合は box.runtime.endpoint で URL を指定します:

環境変数

langbot_box サービス側には BOX__*LANGBOT_BOX_* を設定しないでください。Box Runtime はこれらを直接読みません——設定は LangBot から INIT RPC 経由で渡されます。