OpenClawSkills
GitHub
Herramientas y Habilidades • 5 min de lectura

Modo Elevado

Modo de ejecución elevado y directivas /elevated

Tutorial.step

Qué hace

- ''/elevated on'' ejecuta en el host del gateway y mantiene aprobaciones de exec (igual que ''/elevated ask'').

- ''/elevated full'' ejecuta en el host del gateway ''y'' auto-aprueba exec (omite aprobaciones de exec).

- ''/elevated ask'' ejecuta en el host del gateway pero mantiene aprobaciones de exec (igual que ''/elevated on'').

- ''on''/''ask'' ''no'' fuerzan ''exec.security=full''; la política de seguridad/ask configurada todavía aplica.

- Solo cambia el comportamiento cuando el agente está en sandbox (de lo contrario exec ya corre en el host).

- Formas de directiva: ''/elevated on|off|ask|full'', ''/elev on|off|ask|full''.

- Solo ''on|off|ask|full'' son aceptados; cualquier otra cosa devuelve una pista y no cambia el estado.

Tutorial.step

Qué controla (y qué no)

- ''Puertas de disponibilidad'': ''tools.elevated'' es la línea base global. ''agents.list[].tools.elevated'' puede restringir aún más elevated por agente (ambos deben permitir).

- ''Estado por sesión'': ''/elevated on|off|ask|full'' establece el nivel elevated para la clave de sesión actual.

- ''Directiva inline'': ''/elevated on|ask|full'' dentro de un mensaje aplica solo a ese mensaje.

- Grupos: En chats de grupo, las directivas elevated solo se respetan cuando el agente es mencionado. Los mensajes de solo comando que omiten requisitos de mención se tratan como mencionados.

- ''Ejecución en host'': elevated fuerza ''exec'' al host del gateway; ''full'' también establece ''security=full''.

- ''Aprobaciones'': ''full'' omite aprobaciones de exec; ''on''/''ask'' las respetan cuando reglas de allowlist/ask lo requieren.

- Agentes sin sandbox: no-op para ubicación; solo afecta gating, logging, y estado.

- ''Política de herramienta todavía aplica'': si ''exec'' es denegado por política de herramienta, elevated no puede usarse.

- ''Separado de ''/exec'''': ''/exec'' ajusta predeterminados por sesión para remitentes autorizados y no requiere elevated.

Tutorial.step

Orden de resolución

1. Directiva inline en el mensaje (aplica solo a ese mensaje).

2. Anulación de sesión (establecida enviando un mensaje de solo directiva).

3. Predeterminado global (''agents.defaults.elevatedDefault'' en config).

Tutorial.step

Establecer un predeterminado de sesión

- Envía un mensaje que es ''solo'' la directiva (espacios permitidos), ej. ''/elevated full''.

- Se envía respuesta de confirmación (''Modo elevado establecido a full...'' / ''Modo elevado deshabilitado.'').

- Si el acceso elevated está deshabilitado o el remitente no está en la lista permitida, la directiva responde con un error procesable y no cambia el estado de sesión.

- Envía ''/elevated'' (o ''/elevated:'') sin argumento para ver el nivel elevated actual.

Tutorial.step

Disponibilidad + listas permitidas

- Puerta de característica: ''tools.elevated.enabled'' (el predeterminado puede estar desactivado via config incluso si el código lo soporta).

- Lista permitida de remitentes: ''tools.elevated.allowFrom'' con listas permitidas por proveedor (ej. ''discord'', ''whatsapp'').

- 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 está establecida, el remitente debe coincidir con ''ambas'' listas global + por agente).

- Fallback de Discord: si ''tools.elevated.allowFrom.discord'' se omite, la lista ''channels.discord.dm.allowFrom'' se usa como fallback. Establece ''tools.elevated.allowFrom.discord'' (incluso ''[]'') para anular. Las listas permitidas por agente ''no'' usan el fallback.

- Todas las puertas deben pasar; de lo contrario elevated se trata como no disponible.

Tutorial.step

Logging + estado

- Las llamadas de exec elevado se registran a nivel info.

- El estado de sesión incluye modo elevado (ej. ''elevated=ask'', ''elevated=full'').