Voice Wake (parole di attivazione globali)
OpenClaw tratta le wake word come un unico elenco globale gestito dal Gateway.- Non esistono wake word personalizzate per nodo.
- Qualsiasi UI di nodo/app può modificare l’elenco; le modifiche vengono rese persistenti dal Gateway e trasmesse a tutti.
- macOS e iOS mantengono toggle locali Voice Wake abilitato/disabilitato (UX locale + permessi sono diversi).
- Android al momento mantiene Voice Wake disattivato e usa un flusso microfono manuale nella scheda Voice.
Archiviazione (host Gateway)
Le wake word vengono memorizzate sulla macchina gateway in:~/.openclaw/settings/voicewake.json
Protocollo
Metodi
voicewake.get→{ triggers: string[] }voicewake.setcon parametri{ triggers: string[] }→{ triggers: string[] }
- I trigger vengono normalizzati (spazi rimossi ai bordi, valori vuoti scartati). Gli elenchi vuoti tornano ai valori predefiniti.
- I limiti vengono applicati per sicurezza (numero massimo/lunghezza massima).
Eventi
- payload
voicewake.changed{ triggers: string[] }
- Tutti i client WebSocket (app macOS, WebChat, ecc.)
- Tutti i nodi connessi (iOS/Android), e anche alla connessione del nodo come push iniziale dello “stato corrente”.
Comportamento del client
App macOS
- Usa l’elenco globale per controllare i trigger di
VoiceWakeRuntime. - La modifica di “Trigger words” nelle impostazioni di Voice Wake chiama
voicewake.sete poi si affida alla trasmissione per mantenere sincronizzati gli altri client.
Nodo iOS
- Usa l’elenco globale per il rilevamento dei trigger di
VoiceWakeManager. - La modifica delle Wake Words nelle Impostazioni chiama
voicewake.set(tramite il Gateway WS) e mantiene anche reattivo il rilevamento locale delle wake word.
Nodo Android
- Voice Wake è attualmente disabilitato nel runtime/Settings Android.
- La voce su Android usa l’acquisizione manuale del microfono nella scheda Voice invece dei trigger basati su wake word.