Tools
Modo elevado
Quando um agente é executado dentro de um sandbox, seus comandos exec ficam confinados ao ambiente do sandbox. O modo elevado permite que o agente saia desse ambiente e execute comandos fora do sandbox, com controles de aprovação configuráveis.
Diretivas
Controle o modo elevado por sessão com comandos de barra:
| Diretiva | O que faz |
|---|---|
/elevated on |
Executa fora do sandbox no caminho configurado do host, mantendo as aprovações |
/elevated ask |
Igual a on (alias) |
/elevated full |
Executa fora do sandbox no caminho configurado do host e ignora as aprovações quando a política de aprovação do modo/host já é permissiva |
/elevated off |
Retorna à execução confinada ao sandbox |
Também disponível como /elev on|off|ask|full.
Envie /elevated sem argumento para ver o nível atual.
Como funciona
Verificar a disponibilidade
O modo elevado deve estar habilitado na configuração, e o remetente deve estar na lista de permissões:
{ tools: { elevated: { enabled: true, allowFrom: { discord: ["user-id-123"], whatsapp: ["+15555550123"], }, }, },}Definir o nível
Envie uma mensagem contendo somente a diretiva para definir o padrão da sessão:
/elevated fullOu use-a em linha (aplica-se somente a essa mensagem):
/elevated on run the deployment scriptOs comandos são executados fora do sandbox
Com o modo elevado ativo, as chamadas exec saem do sandbox. O host efetivo é
gateway por padrão ou node quando o destino de exec configurado/da sessão é
node. No modo full, as aprovações de exec são ignoradas quando a política de
aprovação resolvida para o modo/host de exec já é totalmente permissiva (segurança
full, solicitação off); caso contrário, a política de aprovação normal ainda se
aplica. No modo on/ask, as regras de aprovação configuradas sempre se aplicam.
Ordem de resolução
- Diretiva em linha na mensagem (aplica-se somente a essa mensagem)
- Substituição da sessão (definida pelo envio de uma mensagem contendo somente a diretiva)
- Padrão global (
agents.defaults.elevatedDefaultna configuração)
Disponibilidade e listas de permissões
- Controle global:
tools.elevated.enabled(deve sertrue) - Lista de permissões de remetentes:
tools.elevated.allowFromcom listas por canal - Controle por agente:
agents.list[].tools.elevated.enabled(só pode restringir ainda mais; tanto o controle global quanto o controle por agente devem sertrue) - Lista de permissões por agente:
agents.list[].tools.elevated.allowFrom(o remetente deve corresponder tanto à lista global quanto à lista por agente) - Lista de permissões alternativa fornecida pelo canal: Plugins de canal podem, opcionalmente, fornecer uma lista de permissões alternativa por meio de um hook adaptador do SDK, usada quando
tools.elevated.allowFrom.<provider>não está configurado. Atualmente, nenhum canal incluído implementa esse hook; portanto, na prática, cada provedor precisa hoje de uma entrada explícita emtools.elevated.allowFrom.<provider>. - Todos os controles devem ser aprovados; caso contrário, o modo elevado é tratado como indisponível
Formatos das entradas da lista de permissões:
| Prefixo | Corresponde a |
|---|---|
| (nenhum) | ID do remetente, E.164 ou campo From |
name: |
Nome de exibição do remetente |
username: |
Nome de usuário do remetente |
tag: |
Tag do remetente |
id:, from:, e164: |
Direcionamento explícito de identidade |
O que o modo elevado não controla
- Política de ferramentas: se o
execfor negado pela política de ferramentas, o modo elevado não poderá substituí-la. - Política de seleção de host: o modo elevado não transforma
autoem uma substituição livre entre hosts. Ele usa as regras de destino de exec configuradas/da sessão, escolhendonodesomente quando o destino já énode. - Separado de
/exec: a diretiva/execajusta os padrões de exec por sessão (host, segurança, solicitação, node) para remetentes autorizados e não exige o modo elevado.
Relacionados
Execução de comandos de shell pelo agente.
Sistema de aprovação e lista de permissões para exec.
Configuração de sandbox no nível do Gateway.
Como os três controles se combinam durante uma chamada de ferramenta.