exec ограничены средой
песочницы. Режим повышенных прав позволяет агенту выйти за ее пределы и вместо этого выполнять команды
вне песочницы, с настраиваемыми шлюзами подтверждения.
Режим повышенных прав меняет поведение только когда агент находится в песочнице. Для
агентов без песочницы exec уже выполняется на хосте.
Директивы
Управляйте режимом повышенных прав для каждого сеанса с помощью slash-команд:| Директива | Что делает |
|---|---|
/elevated on | Выполняет вне песочницы по настроенному пути на хосте, сохраняя подтверждения |
/elevated ask | То же, что on (псевдоним) |
/elevated full | Выполняет вне песочницы по настроенному пути на хосте и пропускает подтверждения |
/elevated off | Возвращает выполнение, ограниченное песочницей |
/elev on|off|ask|full.
Отправьте /elevated без аргумента, чтобы увидеть текущий уровень.
Как это работает
Проверьте доступность
Режим повышенных прав должен быть включен в конфигурации, а отправитель должен быть в списке разрешенных:
Задайте уровень
Отправьте сообщение, состоящее только из директивы, чтобы задать значение по умолчанию для сеанса:Или используйте ее внутри сообщения (применяется только к этому сообщению):
Команды выполняются вне песочницы
При активном режиме повышенных прав вызовы
exec выходят за пределы песочницы. Эффективный хост —
gateway по умолчанию или node, когда настроенная/сеансовая цель exec —
node. В режиме full подтверждения exec пропускаются. В режиме on/ask
настроенные правила подтверждения по-прежнему применяются.Порядок разрешения
- Встроенная директива в сообщении (применяется только к этому сообщению)
- Переопределение сеанса (задается отправкой сообщения, состоящего только из директивы)
- Глобальное значение по умолчанию (
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
Выполнение shell-команд агентом.
Подтверждения exec
Система подтверждений и списков разрешенных для
exec.Песочница
Конфигурация песочницы на уровне Gateway.
Песочница, политика инструментов и режим повышенных прав
Как три шлюза сочетаются во время вызова инструмента.