Перейти до основного вмісту

Режим Elevated

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

Директиви

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

Як це працює

1

Перевірка доступності

Elevated має бути ввімкнено в config, а відправник має бути в allowlist:
{
  tools: {
    elevated: {
      enabled: true,
      allowFrom: {
        discord: ["user-id-123"],
        whatsapp: ["+15555550123"],
      },
    },
  },
}
2

Установіть рівень

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

Команди запускаються поза sandbox

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

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

  1. Вбудована директива в повідомленні (застосовується лише до цього повідомлення)
  2. Перевизначення сесії (установлюється надсиланням повідомлення лише з директивою)
  3. Глобальне типове значення (agents.defaults.elevatedDefault у config)

Доступність і allowlist

  • Глобальний бар’єр: tools.elevated.enabled (має бути true)
  • Allowlist відправника: tools.elevated.allowFrom зі списками для кожного каналу
  • Бар’єр для окремого агента: agents.list[].tools.elevated.enabled (може лише додатково обмежувати)
  • Allowlist для окремого агента: agents.list[].tools.elevated.allowFrom (відправник має відповідати і глобальному, і агентському списку)
  • Запасний варіант для Discord: якщо tools.elevated.allowFrom.discord пропущено, як запасний варіант використовується channels.discord.allowFrom
  • Усі бар’єри мають пройти; інакше elevated вважається недоступним
Формати записів allowlist:
PrefixMatches
(none)ID відправника, E.164 або поле From
name:Ім’я відображення відправника
username:Ім’я користувача відправника
tag:Тег відправника
id:, from:, e164:Явне націлення на ідентичність

Чим elevated не керує

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

Пов’язане