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

Директиви

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

Як це працює

1

Check availability

Режим підвищених прав має бути ввімкнений у конфігурації, а відправник має бути у списку дозволених:
{
  tools: {
    elevated: {
      enabled: true,
      allowFrom: {
        discord: ["user-id-123"],
        whatsapp: ["+15555550123"],
      },
    },
  },
}
2

Set the level

Надішліть повідомлення лише з директивою, щоб установити типовий рівень для сеансу:
/elevated full
Або використайте її в рядку (застосовується лише до цього повідомлення):
/elevated on run the deployment script
3

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 для кожного сеансу для авторизованих відправників і не потребує режиму підвищених прав.
Команда чату bash (префікс !; псевдонім /bash) є окремим шлюзом, який вимагає, щоб tools.elevated було ввімкнено на додачу до її власного прапорця tools.bash.enabled. Вимкнення режиму підвищених прав також блокує shell-команди !.

Пов’язане

Exec tool

Виконання shell-команд з агента.

Exec approvals

Система підтверджень і списків дозволених для exec.

Sandboxing

Конфігурація пісочниці на рівні Gateway.

Sandbox vs Tool Policy vs Elevated

Як три шлюзи поєднуються під час виклику інструмента.