Skip to main content
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.
O modo elevado só altera o comportamento quando o agente está em sandbox. Para agentes fora do sandbox, o exec já é executado no host.

Diretivas

Controle o modo elevado por sessão com comandos de barra: Também disponível como /elev on|off|ask|full. Envie /elevated sem argumento para ver o nível atual.

Como funciona

1

Verificar a disponibilidade

O modo elevado deve estar habilitado na configuração, e o remetente deve estar na lista de permissões:
2

Definir o nível

Envie uma mensagem contendo somente a diretiva para definir o padrão da sessão:
Ou use-a em linha (aplica-se somente a essa mensagem):
3

Os 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

  1. Diretiva em linha na mensagem (aplica-se somente a essa mensagem)
  2. Substituição da sessão (definida pelo envio de uma mensagem contendo somente a diretiva)
  3. Padrão global (agents.defaults.elevatedDefault na configuração)

Disponibilidade e listas de permissões

  • Controle global: tools.elevated.enabled (deve ser true)
  • Lista de permissões de remetentes: tools.elevated.allowFrom com 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 ser true)
  • 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 em tools.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:

O que o modo elevado não controla

  • Política de ferramentas: se o exec for 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 auto em uma substituição livre entre hosts. Ele usa as regras de destino de exec configuradas/da sessão, escolhendo node somente quando o destino já é node.
  • Separado de /exec: a diretiva /exec ajusta os padrões de exec por sessão (host, segurança, solicitação, node) para remetentes autorizados e não exige o modo elevado.
O comando de chat bash (prefixo !; alias /bash) é um controle separado que exige que tools.elevated esteja habilitado, além de seu próprio sinalizador tools.bash.enabled. Desabilitar o modo elevado também bloqueia os comandos de shell !.

Relacionados

Ferramenta Exec

Execução de comandos de shell pelo agente.

Aprovações de exec

Sistema de aprovação e lista de permissões para exec.

Uso de sandbox

Configuração de sandbox no nível do Gateway.

Sandbox vs. política de ferramentas vs. modo elevado

Como os três controles se combinam durante uma chamada de ferramenta.