Voice Wake (Globale Wake-Wörter)
OpenClaw behandelt Wake-Wörter als eine einzige globale Liste, die dem Gateway gehört.- Es gibt keine benutzerdefinierten Wake-Wörter pro Node.
- Jede Node-/App-UI kann die Liste bearbeiten; Änderungen werden vom Gateway gespeichert und an alle übertragen.
- macOS und iOS behalten lokale Schalter für Voice Wake aktiviert/deaktiviert bei (lokale UX + Berechtigungen unterscheiden sich).
- Android lässt Voice Wake derzeit deaktiviert und verwendet im Tab „Voice“ einen manuellen Mikrofonablauf.
Speicherung (Gateway-Host)
Wake-Wörter werden auf dem Gateway-Rechner hier gespeichert:~/.openclaw/settings/voicewake.json
Protokoll
Methoden
voicewake.get→{ triggers: string[] }voicewake.setmit Parametern{ triggers: string[] }→{ triggers: string[] }
- Trigger werden normalisiert (getrimmt, leere Einträge entfernt). Leere Listen fallen auf Standardwerte zurück.
- Limits werden aus Sicherheitsgründen erzwungen (Obergrenzen für Anzahl/Länge).
Ereignisse
voicewake.changedPayload{ triggers: string[] }
- Alle WebSocket-Clients (macOS-App, WebChat usw.)
- Alle verbundenen Nodes (iOS/Android) sowie beim Verbinden einer Node zusätzlich als initialer Push des „aktuellen Zustands“.
Client-Verhalten
macOS-App
- Verwendet die globale Liste, um Trigger in
VoiceWakeRuntimezu steuern. - Das Bearbeiten von „Trigger words“ in den Voice-Wake-Einstellungen ruft
voicewake.setauf und verlässt sich dann auf die Übertragung, um andere Clients synchron zu halten.
iOS-Node
- Verwendet die globale Liste für die Trigger-Erkennung in
VoiceWakeManager. - Das Bearbeiten der Wake-Wörter in den Einstellungen ruft
voicewake.setauf (über das Gateway-WS) und hält außerdem die lokale Wake-Wort-Erkennung reaktionsfähig.
Android-Node
- Voice Wake ist derzeit in Android-Runtime/-Einstellungen deaktiviert.
- Android-Voice verwendet stattdessen im Tab „Voice“ eine manuelle Mikrofonerfassung statt Wake-Wort-Triggern.