exec コマンドはサンドボックス環境に閉じ込められます。昇格モードでは、構成可能な承認ゲートを使って、エージェントが代わりにサンドボックスを抜け出し、サンドボックス外でコマンドを実行できます。
昇格モードは、エージェントがサンドボックス化されている場合にのみ動作を変更します。サンドボックス化されていないエージェントでは、exec はすでにホスト上で実行されます。
ディレクティブ
スラッシュコマンドで、セッションごとに昇格モードを制御します。| ディレクティブ | 実行内容 |
|---|---|
/elevated on | 構成済みのホストパス上でサンドボックス外で実行し、承認を維持します |
/elevated ask | on と同じです (エイリアス) |
/elevated full | 構成済みのホストパス上でサンドボックス外で実行し、モード/ホストの承認ポリシーがすでに許容的な場合は承認をスキップします |
/elevated off | サンドボックスに閉じ込められた実行に戻します |
/elev on|off|ask|full としても利用できます。
現在のレベルを確認するには、引数なしで /elevated を送信します。
仕組み
解決順序
- メッセージ上のインラインディレクティブ (そのメッセージにのみ適用)
- セッションオーバーライド (ディレクティブのみのメッセージを送信して設定)
- グローバルデフォルト (構成内の
agents.defaults.elevatedDefault)
可用性と許可リスト
- グローバルゲート:
tools.elevated.enabled(trueである必要があります) - 送信者の許可リスト: チャンネルごとのリストを持つ
tools.elevated.allowFrom - エージェントごとのゲート:
agents.list[].tools.elevated.enabled(さらに制限することのみ可能。グローバルゲートとエージェントごとのゲートの両方がtrueである必要があります) - エージェントごとの許可リスト:
agents.list[].tools.elevated.allowFrom(送信者はグローバル + エージェントごとの両方に一致する必要があります) - チャンネル提供のフォールバック許可リスト: チャンネル Plugin は、
tools.elevated.allowFrom.<provider>が構成されていない場合に使用されるフォールバック許可リストを、SDK アダプターフックを通じて任意で提供できます。現在このフックを実装しているバンドル済みチャンネルはないため、実際には現時点で各プロバイダーに明示的なtools.elevated.allowFrom.<provider>エントリが必要です。 - すべてのゲートを通過する必要があります。そうでない場合、昇格は利用不可として扱われます
| プレフィックス | 一致対象 |
|---|---|
| (なし) | 送信者 ID、E.164、または From フィールド |
name: | 送信者の表示名 |
username: | 送信者のユーザー名 |
tag: | 送信者タグ |
id:, from:, e164: | 明示的な ID 指定 |
昇格が制御しないもの
- ツールポリシー:
execがツールポリシーによって拒否されている場合、昇格でそれを上書きすることはできません。 - ホスト選択ポリシー: 昇格は
autoを自由なクロスホストオーバーライドに変えるものではありません。構成済み/セッションの exec ターゲットルールを使用し、ターゲットがすでにnodeの場合にのみnodeを選択します。 /execとは別:/execディレクティブは、承認済み送信者向けにセッションごとの exec デフォルト (host、security、ask、node) を調整するもので、昇格モードを必要としません。
bash チャットコマンド (
! プレフィックス、/bash エイリアス) は別のゲートであり、独自の tools.bash.enabled フラグに加えて tools.elevated が有効化されている必要があります。昇格を無効化すると、! シェルコマンドもロックアウトされます。関連
Exec ツール
エージェントからのシェルコマンド実行。
Exec 承認
exec の承認と許可リストシステム。サンドボックス化
Gateway レベルのサンドボックス構成。
サンドボックス vs ツールポリシー vs 昇格
ツール呼び出し中に 3 つのゲートがどのように合成されるか。