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, або node, коли налаштованою чи сеансовою ціллю виконання
exec є node. У режимі full схвалення exec пропускаються, якщо визначена політика
схвалення режиму/хоста виконання вже є повністю дозвільною (security full,
ask off); інакше звичайна політика схвалення все одно застосовується. У режимі
on/ask налаштовані правила схвалення застосовуються завжди.
Порядок визначення
- Вбудована директива в повідомленні (застосовується лише до цього повідомлення)
- Перевизначення сеансу (установлюється надсиланням повідомлення лише з директивою)
- Глобальне типове значення (
agents.defaults.elevatedDefaultу конфігурації)
Доступність і списки дозволених
- Глобальний шлюз:
tools.elevated.enabled(має бутиtrue) - Список дозволених відправників:
tools.elevated.allowFromзі списками для кожного каналу - Шлюз для окремого агента:
agents.list[].tools.elevated.enabled(може лише додатково обмежувати; і глобальний шлюз, і шлюз окремого агента мають бутиtrue) - Список дозволених для окремого агента:
agents.list[].tools.elevated.allowFrom(відправник має відповідати як глобальному списку, так і списку окремого агента) - Резервний список дозволених від каналу: Plugin каналів можуть необов’язково надавати резервний список дозволених через адаптерний хук SDK, який використовується, коли
tools.elevated.allowFrom.<provider>не налаштовано. Наразі жоден вбудований канал не реалізує цей хук, тому на практиці сьогодні кожному постачальнику потрібен явний записtools.elevated.allowFrom.<provider>. - Усі шлюзи мають бути пройдені; інакше режим підвищених привілеїв вважається недоступним
Формати записів списку дозволених:
| Префікс | Відповідність |
|---|---|
| (немає) | ID відправника, E.164 або поле From |
name: |
Відображуване ім’я відправника |
username: |
Ім’я користувача відправника |
tag: |
Тег відправника |
id:, from:, e164: |
Явне визначення цільової ідентичності |
Чим режим підвищених привілеїв не керує
- Політика інструментів: якщо
execзаборонено політикою інструментів, режим підвищених привілеїв не може її перевизначити. - Політика вибору хоста: режим підвищених привілеїв не перетворює
autoна вільне перевизначення між хостами. Він використовує налаштовані або сеансові правила цілі виконання, вибираючиnodeлише тоді, коли ціллю вже єnode. - Окремо від
/exec: директива/execкоригує типові значення виконання для сеансу (хост, безпека, запит схвалення, Node) для авторизованих відправників і не потребує режиму підвищених привілеїв.