Voice Wake (Globale Wake Words)
OpenClaw behandelt Wake Words als eine einzige globale Liste, die vom Gateway verwaltet wird.
- Es gibt keine individuellen Wake Words pro Node.
- Jede Node/App-UI kann die Liste bearbeiten; Änderungen werden vom Gateway gespeichert und an alle verteilt.
- Jedes Gerät behält seinen eigenen Voice Wake aktiviert/deaktiviert-Schalter (lokale UX + Berechtigungen unterscheiden sich).
Speicherort (Gateway-Host)
Wake Words werden auf dem Gateway-Rechner gespeichert unter:
~/.openclaw/settings/voicewake.json
Struktur:
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }
Protokoll
Methoden
voicewake.get→{ triggers: string[] }voicewake.setmit Parametern{ triggers: string[] }→{ triggers: string[] }
Hinweise:
- Triggers werden normalisiert (getrimmt, leere Einträge entfernt). Leere Listen fallen auf Standardwerte zurück.
- Limits werden aus Sicherheitsgründen durchgesetzt (Anzahl-/Längenbegrenzungen).
Events
voicewake.changedPayload{ triggers: string[] }
Wer erhält es:
- Alle WebSocket-Clients (macOS-App, WebChat, etc.)
- Alle verbundenen Nodes (iOS/Android), und auch beim Node-Connect als initialer “aktueller Status”-Push.
Client-Verhalten
macOS-App
- Nutzt die globale Liste, um
VoiceWakeRuntime-Triggers zu steuern. - Das Bearbeiten von “Trigger words” 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. - Das Bearbeiten von Wake Words in den Einstellungen ruft
voicewake.setauf (über das Gateway WS) und hält auch die lokale Wake-Word-Erkennung responsiv.
Android-Node
- Bietet einen Wake Words-Editor in den Einstellungen.
- Ruft
voicewake.setüber das Gateway WS auf, sodass Änderungen überall synchronisiert werden.