Activación por voz (palabras de activación globales)

OpenClaw trata las palabras de activación como una lista global única propiedad del Gateway.

  • No hay palabras de activación personalizadas por nodo.
  • Cualquier nodo/UI de app puede editar la lista; los cambios los persiste el Gateway y se transmiten a todos.
  • macOS e iOS mantienen toggles locales de activación por voz habilitada/desactivada (la UX local + permisos difieren).
  • Android actualmente mantiene la activación por voz desactivada y usa un flujo de micrófono manual en la pestaña de Voz.

Almacenamiento (host del Gateway)

Las palabras de activación se almacenan en la máquina del gateway en:

  • ~/.openclaw/settings/voicewake.json

Estructura:

{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }

Protocolo

Métodos

  • voicewake.get{ triggers: string[] }
  • voicewake.set con parámetros { triggers: string[] }{ triggers: string[] }

Notas:

  • Los triggers se normalizan (recortados, vacíos eliminados). Las listas vacías recurren a los valores por defecto.
  • Se aplican límites de seguridad (topes de cantidad/longitud).

Eventos

  • voicewake.changed payload { triggers: string[] }

Quién lo recibe:

  • Todos los clientes WebSocket (app macOS, WebChat, etc.)
  • Todos los nodos conectados (iOS/Android), y también al conectarse el nodo como push inicial del “estado actual”.

Comportamiento del cliente

App macOS

  • Usa la lista global para controlar los triggers de VoiceWakeRuntime.
  • Editar “Palabras de activación” en los ajustes de activación por voz llama a voicewake.set y luego depende de la transmisión para mantener otros clientes sincronizados.

Nodo iOS

  • Usa la lista global para la detección de triggers en VoiceWakeManager.
  • Editar las palabras de activación en Ajustes llama a voicewake.set (a través del WS del Gateway) y también mantiene la detección local de palabras de activación receptiva.

Nodo Android

  • La activación por voz está actualmente desactivada en el runtime/Ajustes de Android.
  • La voz en Android usa captura manual del micrófono en la pestaña de Voz en lugar de triggers de activación.