Tools
Modo elevado
Cuando un agente se ejecuta dentro de un entorno aislado, sus comandos exec quedan confinados al entorno aislado. El modo elevado permite que el agente salga de él y ejecute comandos fuera del entorno aislado, con controles de aprobación configurables.
Directivas
Controla el modo elevado por sesión con comandos de barra:
| Directiva | Qué hace |
|---|---|
/elevated on |
Ejecuta fuera del entorno aislado en la ruta del host configurada y mantiene las aprobaciones |
/elevated ask |
Igual que on (alias) |
/elevated full |
Ejecuta fuera del entorno aislado en la ruta del host configurada y omite las aprobaciones cuando la política de aprobación del modo/host ya es permisiva |
/elevated off |
Vuelve a la ejecución confinada al entorno aislado |
También está disponible como /elev on|off|ask|full.
Envía /elevated sin argumentos para ver el nivel actual.
Cómo funciona
Comprobar la disponibilidad
El modo elevado 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"], }, }, },}Establecer el nivel
Envía un mensaje que solo contenga la directiva para establecer el valor predeterminado de la sesión:
/elevated fullO úsala en línea (se aplica únicamente a ese mensaje):
/elevated on run the deployment scriptLos comandos se ejecutan fuera del entorno aislado
Con el modo elevado activo, las llamadas a exec salen del entorno aislado. El host efectivo es
gateway de forma predeterminada, o node cuando el destino de ejecución configurado o de la sesión es
node. En el modo full, las aprobaciones de ejecución se omiten cuando la política resuelta de aprobación
del modo/host de ejecución ya es completamente permisiva (seguridad full,
solicitud off); de lo contrario, se sigue aplicando la política de aprobación normal. En
el modo on/ask, siempre se aplican las reglas de aprobación configuradas.
Orden de resolución
- Directiva en línea en el mensaje (se aplica únicamente a ese mensaje)
- Anulación de la sesión (se establece enviando un mensaje que solo contenga la directiva)
- Valor predeterminado global (
agents.defaults.elevatedDefaulten la configuración)
Disponibilidad y listas de permitidos
- Control global:
tools.elevated.enabled(debe sertrue) - Lista de remitentes permitidos:
tools.elevated.allowFromcon listas por canal - Control por agente:
agents.list[].tools.elevated.enabled(solo puede imponer más restricciones; tanto el control global como el control por agente deben sertrue) - Lista de permitidos por agente:
agents.list[].tools.elevated.allowFrom(el remitente debe coincidir tanto con la lista global como con la del agente) - Lista de permitidos alternativa proporcionada por el canal: los plugins de canal pueden proporcionar opcionalmente una lista de permitidos alternativa mediante un enlace de adaptador del SDK, que se utiliza cuando
tools.elevated.allowFrom.<provider>no está configurado. Actualmente ningún canal incluido implementa este enlace, por lo que, en la práctica, hoy cada proveedor necesita una entrada explícitatools.elevated.allowFrom.<provider>. - Deben superarse todos los controles; de lo contrario, el modo elevado se considera no disponible
Formatos de las entradas de la lista de permitidos:
| Prefijo | Coincide con |
|---|---|
| (ninguno) | ID del remitente, E.164 o campo From |
name: |
Nombre mostrado del remitente |
username: |
Nombre de usuario del remitente |
tag: |
Etiqueta del remitente |
id:, from:, e164: |
Identidad especificada explícitamente |
Qué no controla el modo elevado
- Política de herramientas: si la política de herramientas deniega
exec, el modo elevado no puede anularla. - Política de selección del host: el modo elevado no convierte
autoen una anulación libre entre hosts. Utiliza las reglas de destino de ejecución configuradas o de la sesión y eligenodeúnicamente cuando el destino ya esnode. - Independiente de
/exec: la directiva/execajusta los valores predeterminados de ejecución por sesión (host, seguridad, solicitud, nodo) para remitentes autorizados y no requiere el modo elevado.
Relacionado
Ejecución de comandos de shell desde el agente.
Sistema de aprobación y listas de permitidos para exec.
Configuración del entorno aislado a nivel del Gateway.
Cómo se combinan los tres controles durante una llamada a una herramienta.