Встроенные инструменты
Режим повышенных прав
Что он делает
/elevated onвыполняется на шлюзовом хосте и сохраняет подтверждения exec (так же, как/elevated ask)./elevated fullвыполняется на шлюзовом хосте и автоматически подтверждает exec (пропускает подтверждения выполнения)./elevated askвыполняется на шлюзовом хосте, но сохраняет подтверждения exec (так же, как/elevated on).on/askне принудительно устанавливаютexec.security=full; по-прежнему применяется настроенная политика безопасности/запроса.- Изменяет поведение только когда агент находится в песочнице (в противном случае exec уже выполняется на хосте).
- Формы директив:
/elevated on|off|ask|full,/elev on|off|ask|full. - Принимаются только
on|off|ask|full; любой другой аргумент возвращает подсказку и не изменяет состояние.
Что он контролирует (а что нет)
- Условия доступности:
tools.elevated— глобальная базовая настройка.agents.list[].tools.elevatedможет дополнительно ограничивать повышенные права для каждого агента (должны разрешать оба). - Состояние на сеанс:
/elevated on|off|ask|fullустанавливает уровень повышенных прав для текущего ключа сеанса. - Встроенная директива:
/elevated on|ask|fullвнутри сообщения применяется только к этому сообщению. - Группы: В групповых чатах директивы повышенных прав учитываются только при упоминании агента. Сообщения только с командами, которые обходят требования к упоминанию, рассматриваются как упомянутые.
- Выполнение на хосте: elevated принудительно запускает
execна шлюзовом хосте;fullтакже устанавливаетsecurity=full. - Подтверждения:
fullпропускает подтверждения exec;on/askсоблюдают их, когда этого требуют правила allowlist/ask. - Агенты вне песочницы: не влияет на местоположение; влияет только на условия, логирование и статус.
- Политика инструментов по-прежнему применяется: если
execзапрещён политикой инструментов, режим повышенных прав использовать нельзя. - Отдельно от
/exec:/execкорректирует параметры сеанса по умолчанию для авторизованных отправителей и не требует повышенных прав.
Порядок определения
- Встроенная директива в сообщении (применяется только к этому сообщению).
- Переопределение сеанса (устанавливается отправкой сообщения только с директивой).
- Глобальное значение по умолчанию (
agents.defaults.elevatedDefaultв конфигурации).
Установка значения по умолчанию для сеанса
- Отправьте сообщение, которое состоит только из директивы (пробелы разрешены), например,
/elevated full. - Отправляется ответ с подтверждением (
Elevated mode set to full.../Elevated mode disabled.). - Если доступ к повышенным правам отключён или отправитель не находится в утверждённом списке разрешений, директива отвечает информативной ошибкой и не изменяет состояние сеанса.
- Отправьте
/elevated(или/elevated:) без аргумента, чтобы увидеть текущий уровень повышенных прав.
Доступность + списки разрешений
- Флаг функции:
tools.elevated.enabled(по умолчанию может быть выключен через конфигурацию, даже если код его поддерживает). - Список разрешений отправителя:
tools.elevated.allowFromс отдельными списками для каждого провайдера (например,discord,whatsapp). - Записи в списке без префикса соответствуют только значениям идентификаторов в контексте отправителя (
SenderId,SenderE164,From); поля маршрутизации получателя никогда не используются для авторизации повышенных прав. - Для изменяемых метаданных отправителя требуются явные префиксы:
name:<значение>соответствуетSenderNameusername:<значение>соответствуетSenderUsernametag:<значение>соответствуетSenderTagid:<значение>,from:<значение>,e164:<значение>доступны для явного указания идентификатора
- Условие на агента:
agents.list[].tools.elevated.enabled(опционально; может только дополнительно ограничивать). - Список разрешений на агента:
agents.list[].tools.elevated.allowFrom(опционально; если установлен, отправитель должен соответствовать обоим спискам: глобальному и на агента). - Резервный вариант для Discord: если
tools.elevated.allowFrom.discordопущен, используется списокchannels.discord.allowFromв качестве резервного (устаревшее:channels.discord.dm.allowFrom). Установитеtools.elevated.allowFrom.discord(даже[]), чтобы переопределить. Списки разрешений на агента не используют резервный вариант. - Все условия должны быть выполнены; в противном случае режим повышенных прав считается недоступным.
Логирование + статус
- Вызовы exec с повышенными правами логируются на уровне info.
- Статус сеанса включает режим повышенных прав (например,
elevated=ask,elevated=full).