Tools

Режим повышенных прав

Когда агент работает внутри песочницы, его команды exec ограничены средой песочницы. Режим повышенных прав позволяет агенту выйти за ее пределы и вместо этого выполнять команды вне песочницы, с настраиваемыми шлюзами подтверждения.

Директивы

Управляйте режимом повышенных прав для каждого сеанса с помощью slash-команд:

Директива Что делает
/elevated on Выполняет вне песочницы по настроенному пути на хосте, сохраняя подтверждения
/elevated ask То же, что on (псевдоним)
/elevated full Выполняет вне песочницы по настроенному пути на хосте и пропускает подтверждения
/elevated off Возвращает выполнение, ограниченное песочницей

Также доступно как /elev on|off|ask|full.

Отправьте /elevated без аргумента, чтобы увидеть текущий уровень.

Как это работает

  • Проверьте доступность

    Режим повышенных прав должен быть включен в конфигурации, а отправитель должен быть в списке разрешенных:

    json5
    {  tools: {    elevated: {      enabled: true,      allowFrom: {        discord: ["user-id-123"],        whatsapp: ["+15555550123"],      },    },  },}
  • Задайте уровень

    Отправьте сообщение, состоящее только из директивы, чтобы задать значение по умолчанию для сеанса:

    Code
    /elevated full

    Или используйте ее внутри сообщения (применяется только к этому сообщению):

    Code
    /elevated on run the deployment script
  • Команды выполняются вне песочницы

    При активном режиме повышенных прав вызовы exec выходят за пределы песочницы. Эффективный хост — gateway по умолчанию или node, когда настроенная/сеансовая цель exec — node. В режиме full подтверждения exec пропускаются. В режиме on/ask настроенные правила подтверждения по-прежнему применяются.

  • Порядок разрешения

    1. Встроенная директива в сообщении (применяется только к этому сообщению)
    2. Переопределение сеанса (задается отправкой сообщения, состоящего только из директивы)
    3. Глобальное значение по умолчанию (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 по умолчанию для авторизованных отправителей и не требует режима повышенных прав.

    См. также

    Was this useful?
    On this page

    On this page