Tools
Modo elevado
Cuando un agente se ejecuta dentro de un sandbox, sus comandos exec quedan confinados al
entorno del sandbox. El modo elevado permite que el agente salga y ejecute comandos
fuera del sandbox en su lugar, con puertas de aprobación configurables.
Directivas
Controla el modo elevado por sesión con comandos de barra:
| Directiva | Qué hace |
|---|---|
/elevated on |
Ejecuta fuera del sandbox en la ruta del host configurada, mantiene las aprobaciones |
/elevated ask |
Igual que on (alias) |
/elevated full |
Ejecuta fuera del sandbox en la ruta del host configurada y omite las aprobaciones |
/elevated off |
Vuelve a la ejecución confinada al sandbox |
También disponible como /elev on|off|ask|full.
Envía /elevated sin argumento para ver el nivel actual.
Cómo funciona
Check availability
Elevated debe estar habilitado en la configuración y el remitente debe estar en la lista de permitidos:
{
tools: {
elevated: {
enabled: true,
allowFrom: {
discord: ["user-id-123"],
whatsapp: ["+15555550123"],
},
},
},
}
Set the level
Envía un mensaje que contenga solo la directiva para establecer el valor predeterminado de la sesión:
/elevated full
O úsala en línea (se aplica solo a ese mensaje):
/elevated on run the deployment script
Commands run outside the sandbox
Con elevated activo, las llamadas exec salen del sandbox. El host efectivo es
gateway de forma predeterminada, o node cuando el destino exec configurado/de sesión es
node. En modo full, se omiten las aprobaciones de exec. En modo on/ask,
las reglas de aprobación configuradas siguen aplicándose.
Orden de resolución
- Directiva en línea en el mensaje (se aplica solo a ese mensaje)
- Anulación de sesión (establecida al enviar un mensaje que contiene solo la directiva)
- Valor predeterminado global (
agents.defaults.elevatedDefaulten la configuración)
Disponibilidad y listas de permitidos
- Puerta global:
tools.elevated.enabled(debe sertrue) - Lista de permitidos de remitentes:
tools.elevated.allowFromcon listas por canal - Puerta por agente:
agents.list[].tools.elevated.enabled(solo puede restringir más) - Lista de permitidos por agente:
agents.list[].tools.elevated.allowFrom(el remitente debe coincidir tanto con la global como con la del agente) - Reserva de Discord: si se omite
tools.elevated.allowFrom.discord, se usachannels.discord.allowFromcomo reserva - Todas las puertas deben pasar; de lo contrario, elevated se trata como no disponible
Formatos de entradas de la lista de permitidos:
| Prefijo | Coincide con |
|---|---|
| (ninguno) | ID del remitente, E.164 o campo From |
name: |
Nombre visible del remitente |
username: |
Nombre de usuario del remitente |
tag: |
Etiqueta del remitente |
id:, from:, e164: |
Selección explícita de identidad |
Lo que elevated no controla
- Política de herramientas: si
execes denegado por la política de herramientas, elevated no puede anularlo. - Política de selección de host: elevated no convierte
autoen una anulación libre entre hosts. Usa las reglas del destino exec configurado/de sesión, eligiendonodesolo cuando el destino ya esnode. - Separado de
/exec: la directiva/execajusta los valores predeterminados de exec por sesión para remitentes autorizados y no requiere modo elevado.