Tools
昇格モード
エージェントがサンドボックス内で実行される場合、その exec コマンドはサンドボックス環境内に制限されます。昇格モードを使用すると、代わりにエージェントがサンドボックスを抜け出して外部でコマンドを実行でき、承認ゲートも設定できます。
ディレクティブ
スラッシュコマンドを使用して、セッションごとに昇格モードを制御します。
| ディレクティブ | 動作 |
|---|---|
/elevated on |
設定されたホストパス上でサンドボックスの外部にて実行し、承認を維持する |
/elevated ask |
on と同じ(エイリアス) |
/elevated full |
モード/ホストの承認ポリシーがすでに許容的な場合、設定されたホストパス上でサンドボックスの外部にて実行し、承認を省略する |
/elevated off |
サンドボックス内に制限された実行に戻す |
/elev on|off|ask|full としても使用できます。
現在のレベルを確認するには、引数なしで /elevated を送信します。
仕組み
利用可否を確認する
設定で昇格を有効にし、送信者を許可リストに含める必要があります。
{ tools: { elevated: { enabled: true, allowFrom: { discord: ["user-id-123"], whatsapp: ["+15555550123"], }, }, },}レベルを設定する
ディレクティブのみのメッセージを送信して、セッションのデフォルトを設定します。
/elevated fullまたは、インラインで使用します(そのメッセージにのみ適用されます)。
/elevated on デプロイスクリプトを実行するコマンドをサンドボックスの外部で実行する
昇格が有効な場合、exec 呼び出しはサンドボックスの外部に移ります。有効なホストはデフォルトで
gateway となり、設定またはセッションの exec ターゲットが
node の場合は node となります。full モードでは、解決された exec の
モード/ホスト承認ポリシーがすでに完全に許容的な場合(security full、
ask off)、exec の承認は省略されます。それ以外の場合は、通常の承認ポリシーが引き続き適用されます。
on/ask モードでは、設定された承認ルールが常に適用されます。
解決順序
- メッセージ内のインラインディレクティブ(そのメッセージにのみ適用)
- セッションオーバーライド(ディレクティブのみのメッセージを送信して設定)
- グローバルデフォルト(設定内の
agents.defaults.elevatedDefault)
利用可否と許可リスト
- グローバルゲート:
tools.elevated.enabled(trueである必要があります) - 送信者の許可リスト:チャンネルごとのリストを持つ
tools.elevated.allowFrom - エージェントごとのゲート:
agents.entries.*.tools.elevated.enabled(制限をさらに厳しくすることのみ可能。グローバルゲートとエージェントごとのゲートの両方がtrueである必要があります) - エージェントごとの許可リスト:
agents.entries.*.tools.elevated.allowFrom(送信者はグローバルとエージェントごとの両方に一致する必要があります) - チャンネル提供のフォールバック許可リスト:チャンネル Plugin は、SDK アダプターフックを通じてフォールバック許可リストを任意で提供できます。これは
tools.elevated.allowFrom.<provider>が設定されていない場合に使用されます。現在、このフックを実装している同梱チャンネルはないため、現時点では実際上、すべてのプロバイダーに明示的なtools.elevated.allowFrom.<provider>エントリが必要です。 - すべてのゲートを通過する必要があります。通過しない場合、昇格は利用不可として扱われます
許可リストのエントリ形式:
| プレフィックス | 一致対象 |
|---|---|
| (なし) | 送信者 ID、E.164、または From フィールド |
name: |
送信者の表示名 |
username: |
送信者のユーザー名 |
tag: |
送信者のタグ |
id:、from:、e164: |
明示的な ID 指定 |
昇格によって制御されないもの
- ツールポリシー:
execがツールポリシーによって拒否されている場合、昇格でオーバーライドすることはできません。 - ホスト選択ポリシー:昇格によって
autoが自由なホスト間オーバーライドになることはありません。設定またはセッションの exec ターゲットルールを使用し、ターゲットがすでにnodeである場合にのみnodeを選択します。 /execとは別個:/execディレクティブは、承認された送信者についてセッションごとの exec デフォルト(ホスト、セキュリティ、確認、Node)を調整するものであり、昇格モードを必要としません。
関連項目
Was this useful?