Tools

Режим підвищених привілеїв

Коли агент працює всередині пісочниці, його команди exec обмежені середовищем пісочниці. Режим підвищених прав дає агенту змогу вийти за ці межі й натомість запускати команди поза пісочницею, з налаштовуваними шлюзами підтвердження.

Директиви

Керуйте режимом підвищених прав для кожного сеансу за допомогою слеш-команд:

Директива Що вона робить
/elevated on Запускає поза пісочницею на налаштованому шляху хоста, зберігаючи підтвердження
/elevated ask Те саме, що on (псевдонім)
/elevated full Запускає поза пісочницею на налаштованому шляху хоста й пропускає підтвердження
/elevated off Повертає виконання, обмежене пісочницею

Також доступно як /elev on|off|ask|full.

Надішліть /elevated без аргументу, щоб побачити поточний рівень.

Як це працює

  • Check availability

    Режим підвищених прав має бути ввімкнений у конфігурації, а відправник має бути у списку дозволених:

    {
      tools: {
        elevated: {
          enabled: true,
          allowFrom: {
            discord: ["user-id-123"],
            whatsapp: ["+15555550123"],
          },
        },
      },
    }
    
  • Set the level

    Надішліть повідомлення лише з директивою, щоб установити типовий рівень для сеансу:

    /elevated full
    

    Або використайте її в рядку (застосовується лише до цього повідомлення):

    /elevated on run the deployment script
    
  • Commands run outside the sandbox

    Коли режим підвищених прав активний, виклики exec виходять за межі пісочниці. Ефективним хостом є gateway за замовчуванням або node, коли налаштована чи сеансова ціль exec є node. У режимі full підтвердження exec пропускаються. У режимах on/ask налаштовані правила підтвердження все ще застосовуються.

  • Порядок визначення

    1. Вбудована директива в повідомленні (застосовується лише до цього повідомлення)
    2. Перевизначення сеансу (установлюється надсиланням повідомлення лише з директивою)
    3. Глобальне значення за замовчуванням (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: Явне націлювання на ідентичність

    Чим режим підвищених прав не керує

    • Політика інструментів: якщо exec заборонено політикою інструментів, режим підвищених прав не може це перевизначити.
    • Політика вибору хоста: режим підвищених прав не перетворює auto на вільне перевизначення між хостами. Він використовує налаштовані або сеансові правила цілі exec, вибираючи node лише тоді, коли ціль уже є node.
    • Окремо від /exec: директива /exec налаштовує типові параметри exec для кожного сеансу для авторизованих відправників і не потребує режиму підвищених прав.

    Пов'язане