Voice Wake (Globale Aktivierungswörter)
OpenClaw behandelt Aktivierungswörter als eine einzige globale Liste, die dem Gateway gehört.
- Es gibt keine node-spezifischen Aktivierungswörter.
- Jeder Node / jede App-UI kann die Liste bearbeiten; Änderungen werden vom Gateway gespeichert und an alle verteilt.
- macOS und iOS behalten lokale Voice-Wake-Aktiviert/Deaktiviert-Schalter (lokale UX + Berechtigungen unterscheiden sich).
- Android hält Voice Wake derzeit deaktiviert und nutzt einen manuellen Mikrofon-Flow im Voice-Tab.
Speicherung (Gateway-Host)
Aktivierungswörter werden auf dem Gateway-Rechner gespeichert unter:
~/.openclaw/settings/voicewake.json
Format:
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }
Protokoll
Methoden
voicewake.get→{ triggers: string[] }voicewake.setmit Parametern{ triggers: string[] }→{ triggers: string[] }
Hinweise:
- Trigger werden normalisiert (getrimmt, leere entfernt). Leere Listen fallen auf Standardwerte zurück.
- Sicherheitslimits werden durchgesetzt (Anzahl-/Längenbegrenzungen).
Events
voicewake.changedPayload{ triggers: string[] }
Wer empfängt es:
- Alle WebSocket-Clients (macOS-App, WebChat usw.)
- Alle verbundenen Nodes (iOS/Android), und auch bei Node-Verbindung als initialer „aktueller Stand”-Push.
Client-Verhalten
macOS-App
- Nutzt die globale Liste, um
VoiceWakeRuntime-Trigger zu steuern. - Bearbeitung der „Trigger-Wörter” in den Voice-Wake-Einstellungen ruft
voicewake.setauf und verlässt sich dann auf den Broadcast, um andere Clients synchron zu halten.
iOS-Node
- Nutzt die globale Liste für die
VoiceWakeManager-Trigger-Erkennung. - Bearbeitung der Aktivierungswörter in den Einstellungen ruft
voicewake.set(über den Gateway-WS) auf und hält auch die lokale Aktivierungswort-Erkennung reaktionsfähig.
Android-Node
- Voice Wake ist derzeit in der Android-Runtime/den Einstellungen deaktiviert.
- Android-Voice nutzt stattdessen manuelle Mikrofonaufnahme im Voice-Tab anstelle von Aktivierungswort-Triggern.