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 dele e execute comandos
fora do sandbox, com portões 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 de host configurado, mantém aprovações |
/elevated ask |
Igual a on (alias) |
/elevated full |
Executa fora do sandbox no caminho de host configurado e ignora aprovações |
/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
Check availability
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"],
},
},
},
}
Set the level
Envie uma mensagem contendo apenas a diretiva para definir o padrão da sessão:
/elevated full
Ou use-a em linha (aplica-se apenas a essa mensagem):
/elevated on run the deployment script
Commands run outside the sandbox
Com o modo elevado ativo, chamadas exec saem do sandbox. O host efetivo é
gateway por padrão, ou node quando o destino exec configurado/da sessão é
node. No modo full, aprovações de exec são ignoradas. No modo on/ask,
as regras de aprovação configuradas ainda se aplicam.
Ordem de resolução
- Diretiva em linha na mensagem (aplica-se apenas a essa mensagem)
- Substituição de sessão (definida ao enviar uma mensagem contendo apenas a diretiva)
- Padrão global (
agents.defaults.elevatedDefaultna configuração)
Disponibilidade e listas de permissões
- Portão global:
tools.elevated.enabled(deve sertrue) - Lista de permissões de remetentes:
tools.elevated.allowFromcom listas por canal - Portão por agente:
agents.list[].tools.elevated.enabled(só pode restringir ainda mais) - Lista de permissões por agente:
agents.list[].tools.elevated.allowFrom(o remetente deve corresponder à global e à por agente) - Fallback do Discord: se
tools.elevated.allowFrom.discordfor omitido,channels.discord.allowFromserá usado como fallback - Todos os portões devem passar; caso contrário, o modo elevado é tratado como indisponível
Formatos de 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 ferramenta: se
execfor negado pela política de ferramenta, o modo elevado não pode substituir isso. - 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 exec configuradas/da sessão, escolhendonodesomente quando o destino já énode. - Separado de
/exec: a diretiva/execajusta padrões exec por sessão para remetentes autorizados e não exige modo elevado.