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