Modo elevado (directivas /elevated)
Qué hace
/elevated onse ejecuta en el host del gateway y mantiene las aprobaciones de ejecución (igual que/elevated ask)./elevated fullse ejecuta en el host del gateway y auto-aprueba la ejecución (omite las aprobaciones de ejecución)./elevated askse ejecuta en el host del gateway pero mantiene las aprobaciones de ejecución (igual que/elevated on).on/askno fuerzanexec.security=full; la política de seguridad/ask configurada sigue aplicándose.- Solo cambia el comportamiento cuando el agente está en sandbox (de lo contrario la ejecución ya se ejecuta en el host).
- Formas de directiva:
/elevated on|off|ask|full,/elev on|off|ask|full. - Solo se aceptan
on|off|ask|full; cualquier otra cosa devuelve una pista y no cambia el estado.
Qué controla (y qué no)
- Puertas de disponibilidad:
tools.elevatedes la línea base global.agents.list[].tools.elevatedpuede restringir aún más la elevación por agente (ambos deben permitir). - Estado por sesión:
/elevated on|off|ask|fullestablece el nivel de elevación para la clave de sesión actual. - Directiva inline:
/elevated on|ask|fulldentro de un mensaje aplica solo a ese mensaje. - Grupos: En chats grupales, las directivas de elevación solo se respetan cuando el agente es mencionado. Los mensajes que son solo comandos y que evitan los requisitos de mención se tratan como mencionados.
- Ejecución en host: elevated fuerza
execal host del gateway;fulltambién establecesecurity=full. - Aprobaciones:
fullomite las aprobaciones de ejecución;on/asklas respetan cuando las reglas de lista permitida/ask lo requieren. - Agentes sin sandbox: no-op para ubicación; solo afecta el control, registro y estado.
- La política de herramientas sigue aplicándose: si
execestá denegado por la política de herramientas, elevated no se puede usar. - Separado de
/exec:/execajusta los valores por defecto por sesión para remitentes autorizados y no requiere elevated.
Orden de resolución
- Directiva inline en el mensaje (aplica solo a ese mensaje).
- Sobrecarga de sesión (establecida al enviar un mensaje que es solo directiva).
- Valor por defecto global (
agents.defaults.elevatedDefaulten la configuración).
Establecer un valor por defecto de sesión
- Envía un mensaje que sea solo la directiva (se permite espacio en blanco), por ej.
/elevated full. - Se envía respuesta de confirmación (
Elevated mode set to full.../Elevated mode disabled.). - Si el acceso elevado está deshabilitado o el remitente no está en la lista aprobada, la directiva responde con un error accionable y no cambia el estado de la sesión.
- Envía
/elevated(o/elevated:) sin argumento para ver el nivel de elevación actual.
Disponibilidad + listas permitidas
- Puerta de función:
tools.elevated.enabled(el valor por defecto puede estar desactivado vía configuración aunque el código lo soporte). - Lista permitida de remitentes:
tools.elevated.allowFromcon listas permitidas por proveedor (por ej.discord,whatsapp). - Las entradas de lista permitida sin prefijo coinciden solo con valores de identidad con alcance de remitente (
SenderId,SenderE164,From); los campos de enrutamiento de destinatario nunca se usan para la autorización de elevación. - Los metadatos mutables del remitente requieren prefijos explícitos:
name:<value>coincide conSenderNameusername:<value>coincide conSenderUsernametag:<value>coincide conSenderTagid:<value>,from:<value>,e164:<value>están disponibles para apuntar a identidad de forma explícita
- Puerta por agente:
agents.list[].tools.elevated.enabled(opcional; solo puede restringir más). - Lista permitida por agente:
agents.list[].tools.elevated.allowFrom(opcional; cuando se establece, el remitente debe coincidir con ambas listas permitidas global + por agente). - Respaldo de Discord: si se omite
tools.elevated.allowFrom.discord, la listachannels.discord.allowFromse usa como respaldo (legacy:channels.discord.dm.allowFrom). Establecetools.elevated.allowFrom.discord(incluso[]) para sobrecargar. Las listas permitidas por agente no usan el respaldo. - Todas las puertas deben pasar; de lo contrario, elevated se trata como no disponible.
Registro + estado
- Las llamadas exec elevadas se registran a nivel info.
- El estado de la sesión incluye el modo de elevación (por ej.
elevated=ask,elevated=full).