Nodes and media
Attivazione vocale
OpenClaw tratta le parole di attivazione come un unico elenco globale gestito dal Gateway.
- Non esistono parole di attivazione personalizzate per nodo.
- Qualsiasi interfaccia utente di nodo/app può modificare l'elenco; le modifiche vengono mantenute dal Gateway e trasmesse a tutti.
- macOS e iOS mantengono toggle locali per abilitare/disabilitare Voice Wake (UX locale + autorizzazioni diverse).
- Android attualmente mantiene Voice Wake disattivato e usa un flusso microfono manuale nella scheda Voce.
Archiviazione (host Gateway)
Le parole di attivazione sono archiviate sulla macchina del gateway in:
~/.openclaw/settings/voicewake.json
Forma:
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }
Protocollo
Metodi
voicewake.get→{ triggers: string[] }voicewake.setcon parametri{ triggers: string[] }→{ triggers: string[] }
Note:
- I trigger vengono normalizzati (spazi rimossi, valori vuoti scartati). Gli elenchi vuoti ripristinano i valori predefiniti.
- Per sicurezza vengono applicati limiti (numero/lunghezza massimi).
Metodi di routing (trigger → destinazione)
voicewake.routing.get→{ config: VoiceWakeRoutingConfig }voicewake.routing.setcon parametri{ config: VoiceWakeRoutingConfig }→{ config: VoiceWakeRoutingConfig }
Forma di VoiceWakeRoutingConfig:
{
"version": 1,
"defaultTarget": { "mode": "current" },
"routes": [{ "trigger": "robot wake", "target": { "sessionKey": "agent:main:main" } }],
"updatedAtMs": 1730000000000
}
Le destinazioni delle route supportano esattamente una tra:
{ "mode": "current" }{ "agentId": "main" }{ "sessionKey": "agent:main:main" }
Eventi
- payload
voicewake.changed{ triggers: string[] } - payload
voicewake.routing.changed{ config: VoiceWakeRoutingConfig }
Chi lo riceve:
- 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 "Parole trigger" 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 parole di attivazione nelle Impostazioni chiama
voicewake.set(tramite il WS del Gateway) e mantiene reattivo anche il rilevamento locale delle parole di attivazione.
Nodo Android
- Voice Wake è attualmente disabilitato nel runtime/nelle Impostazioni di Android.
- La voce Android usa l'acquisizione microfono manuale nella scheda Voce invece dei trigger con parole di attivazione.