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 run the deployment script
コマンドをサンドボックスの外で実行する
昇格が有効な場合、exec 呼び出しはサンドボックスの外へ出ます。有効なホストは
デフォルトでは gateway、設定済みまたはセッションの exec ターゲットが
node の場合は node です。full モードでは、exec 承認はスキップされます。on/ask モードでは、
設定された承認ルールが引き続き適用されます。
解決順序
- メッセージ上のインラインディレクティブ(そのメッセージにのみ適用)
- セッションオーバーライド(ディレクティブのみのメッセージを送信して設定)
- グローバルデフォルト(設定内の
agents.defaults.elevatedDefault)
利用可否と許可リスト
- グローバルゲート:
tools.elevated.enabled(trueである必要があります) - 送信者許可リスト: チャンネルごとのリストを持つ
tools.elevated.allowFrom - エージェントごとのゲート:
agents.list[].tools.elevated.enabled(さらに制限することのみ可能) - エージェントごとの許可リスト:
agents.list[].tools.elevated.allowFrom(送信者はグローバルとエージェントごとの両方に一致する必要があります) - Discord フォールバック:
tools.elevated.allowFrom.discordが省略されている場合、channels.discord.allowFromがフォールバックとして使用されます - すべてのゲートに合格する必要があります。そうでない場合、昇格は利用不可として扱われます
許可リストエントリの形式:
| プレフィックス | 一致対象 |
|---|---|
| (なし) | 送信者 ID、E.164、または From フィールド |
name: |
送信者の表示名 |
username: |
送信者のユーザー名 |
tag: |
送信者タグ |
id:, from:, e164: |
明示的な ID 指定 |
昇格が制御しないもの
- ツールポリシー:
execがツールポリシーによって拒否されている場合、昇格で上書きすることはできません。 - ホスト選択ポリシー: 昇格は
autoを自由なクロスホスト上書きに変えるものではありません。設定済みまたはセッションの exec ターゲットルールを使用し、ターゲットがすでにnodeの場合にのみnodeを選択します。 /execとは別:/execディレクティブは、承認された送信者向けにセッションごとの exec デフォルトを調整するもので、昇格モードを必要としません。