メインコンテンツへスキップ

昇格モード

エージェントがサンドボックス内で実行されている場合、その exec コマンドはサンドボックス環境内に制限されます。昇格モードを使うと、エージェントはそこから抜け出し、代わりにサンドボックス外でコマンドを実行できます。承認ゲートは設定可能です。
昇格モードが挙動を変えるのは、エージェントがサンドボックス化されている場合だけです。サンドボックス化されていないエージェントでは、exec はすでにホスト上で実行されます。

ディレクティブ

セッション単位でスラッシュコマンドを使って昇格モードを制御します。
DirectiveWhat it does
/elevated on設定されたホストパスでサンドボックス外実行に切り替え、承認は維持する
/elevated askon と同じ(エイリアス)
/elevated full設定されたホストパスでサンドボックス外実行に切り替え、承認をスキップする
/elevated offサンドボックス内に制限された実行へ戻す
/elev on|off|ask|full でも利用できます。 引数なしで /elevated を送ると、現在のレベルを確認できます。

仕組み

1

利用可能か確認する

昇格は config で有効になっている必要があり、送信者が許可リストに入っていなければなりません。
{
  tools: {
    elevated: {
      enabled: true,
      allowFrom: {
        discord: ["user-id-123"],
        whatsapp: ["+15555550123"],
      },
    },
  },
}
2

レベルを設定する

ディレクティブだけのメッセージを送ると、そのセッションのデフォルトを設定できます。
/elevated full
またはインラインでも使えます(そのメッセージにのみ適用されます)。
/elevated on run the deployment script
3

コマンドはサンドボックス外で実行される

昇格が有効な間、exec 呼び出しはサンドボックスを出て実行されます。実際のホストはデフォルトで gateway、設定済みまたはセッションの exec target が node の場合は node です。full モードでは、 exec の承認はスキップされます。on/ask モードでは、設定された承認ルールが引き続き適用されます。

解決順序

  1. メッセージ上のインラインディレクティブ(そのメッセージのみに適用)
  2. セッション上書き(ディレクティブだけのメッセージ送信で設定)
  3. グローバルデフォルト(config の agents.defaults.elevatedDefault

利用可否と許可リスト

  • グローバルゲート: tools.elevated.enabledtrue である必要があります)
  • 送信者許可リスト: チャンネルごとの一覧を持つ tools.elevated.allowFrom
  • エージェント単位のゲート: agents.list[].tools.elevated.enabled(さらに制限することしかできません)
  • エージェント単位の許可リスト: agents.list[].tools.elevated.allowFrom(送信者はグローバル + エージェント単位の両方に一致する必要があります)
  • Discord のフォールバック: tools.elevated.allowFrom.discord が省略されている場合、channels.discord.allowFrom がフォールバックとして使われます
  • すべてのゲートを通過する必要があります。そうでない場合、昇格は利用不可として扱われます
許可リスト項目の形式:
PrefixMatches
(なし)送信者 ID、E.164、または From フィールド
name:送信者の表示名
username:送信者のユーザー名
tag:送信者タグ
id:, from:, e164:明示的な識別情報指定

昇格で制御しないもの

  • tool policy: exec が tool policy によって拒否されている場合、昇格でもそれを上書きできません
  • ホスト選択ポリシー: 昇格は auto を自由なクロスホスト上書きにはしません。設定済みまたはセッションの exec target ルールを使い、target がすでに node の場合にのみ node を選びます
  • /exec とは別物: /exec ディレクティブは、認可された送信者向けにセッションごとの exec デフォルトを調整するもので、昇格モードは必要ありません

関連