Modo Elevado (diretivas /elevated)
O que ele faz
/elevated onroda no host do gateway e mantém aprovações de exec (igual a/elevated ask)./elevated fullroda no host do gateway e aprova automaticamente exec (pula aprovações de exec)./elevated askroda no host do gateway, mas mantém aprovações de exec (igual a/elevated on).on/asknão forçamexec.security=full; a política de segurança/pergunta configurada ainda se aplica.- Só muda o comportamento quando o agente está em sandbox (caso contrário, o exec já roda no host).
- Formas de diretiva:
/elevated on|off|ask|full,/elev on|off|ask|full. - Apenas
on|off|ask|fullsão aceitas; qualquer outra retorna uma dica e não muda o estado.
O que ele controla (e o que não controla)
- Portões de disponibilidade:
tools.elevatedé a base global.agents.list[].tools.elevatedpode restringir ainda mais o modo elevado por agente (ambos precisam permitir). - Estado por sessão:
/elevated on|off|ask|fulldefine o nível elevado para a chave da sessão atual. - Diretiva inline:
/elevated on|ask|fulldentro de uma mensagem se aplica apenas àquela mensagem. - Grupos: em chats de grupo, diretivas elevadas só são honradas quando o agente é mencionado. Mensagens somente de comando que ignoram requisitos de menção são tratadas como mencionadas.
- Execução no host: elevado força
execno host do gateway;fulltambém definesecurity=full. - Aprovações:
fullpula aprovações de exec;on/askas honram quando regras de lista de permissões/pergunta exigem. - Agentes fora de sandbox: sem efeito para local; afeta apenas portões, logging e status.
- A política de ferramentas ainda se aplica: se
execfor negado pela política de ferramentas, o modo elevado não pode ser usado. - Separado de
/exec:/execajusta padrões por sessão para remetentes autorizados e não requer modo elevado.
Ordem de resolução
- Diretiva inline na mensagem (aplica-se apenas àquela mensagem).
- Substituição da sessão (definida ao enviar uma mensagem apenas com a diretiva).
- Padrão global (
agents.defaults.elevatedDefaultna configuração).
Definindo um padrão de sessão
- Envie uma mensagem que seja apenas a diretiva (espaços em branco são permitidos), por exemplo,
/elevated full. - Uma resposta de confirmação é enviada (
Elevated mode set to full.../Elevated mode disabled.). - Se o acesso elevado estiver desativado ou o remetente não estiver na lista de permissões aprovada, a diretiva responde com um erro acionável e não altera o estado da sessão.
- Envie
/elevated(ou/elevated:) sem argumento para ver o nível elevado atual.
Disponibilidade + listas de permissões
- Portão do recurso:
tools.elevated.enabled(o padrão pode estar desligado via configuração mesmo que o código suporte). - Lista de permissões do remetente:
tools.elevated.allowFromcom listas por provedor (por exemplo,discord,whatsapp). - Portão por agente:
agents.list[].tools.elevated.enabled(opcional; só pode restringir ainda mais). - Lista de permissões por agente:
agents.list[].tools.elevated.allowFrom(opcional; quando definida, o remetente deve corresponder tanto à lista global quanto à por agente). - Fallback do Discord: se
tools.elevated.allowFrom.discordfor omitido, a listachannels.discord.dm.allowFromé usada como fallback. Definatools.elevated.allowFrom.discord(mesmo[]) para substituir. Listas por agente não usam o fallback. - Todos os portões devem passar; caso contrário, o modo elevado é tratado como indisponível.
Registro + status
- Chamadas de exec em modo elevado são registradas no nível info.
- O status da sessão inclui o modo elevado (por exemplo,
elevated=ask,elevated=full).