- macOS: lokaler Schalter zum Aktivieren/Deaktivieren von Voice Wake. Erfordert macOS 26+; Laufzeit-/PTT-Details finden Sie unter Sprachaktivierung (macOS).
- iOS: lokaler Schalter zum Aktivieren/Deaktivieren von Voice Wake in den Einstellungen.
- Android: lokaler Schalter zum Aktivieren/Deaktivieren von Voice Wake und Editor für Aktivierungswörter unter Settings → Voice. Erfordert die geräteinterne Spracherkennung von Android.
Speicherung
Aktivierungswörter und Routingregeln befinden sich in der Zustandsdatenbank des Gateways, standardmäßig~/.openclaw/state/openclaw.sqlite (überschreibbar mit OPENCLAW_STATE_DIR), in den Tabellen voicewake_triggers, voicewake_routing_config, voicewake_routing_routes. Die veralteten settings/voicewake.json und settings/voicewake-routing.json dienen ausschließlich als Eingaben für die openclaw doctor --fix-Migration – die Laufzeit liest sie niemals.
Protokoll
Auslöserliste
voicewake.set normalisiert die Eingabe: Leerraum wird entfernt, leere Einträge werden verworfen, höchstens 32 Auslöser werden beibehalten und jeder wird auf 64 UTF-16-Codeeinheiten gekürzt, ohne Surrogatpaare zu trennen. Bei einem leeren Ergebnis werden die integrierten Standardwerte (openclaw, claude, computer) verwendet.
Routing (Auslöser zum Ziel)
target unterstützt genau eine der folgenden Optionen:
{ "mode": "current" }{ "agentId": "main" }{ "sessionKey": "agent:main:main" }
"Hey, Bot!!" und "hey bot" stimmen überein und gelten als Duplikate) – dies ist eine strengere Normalisierung als das einfache Entfernen von Leerraum bei der globalen Auslöserliste oben.
Ereignisse
Beide werden an jeden WebSocket-Client mit Leseberechtigung (macOS-App, WebChat und ähnliche) sowie an jede verbundene Node übertragen. Eine Node erhält beide außerdem direkt nach dem Verbindungsaufbau als initiale Snapshot-Übertragung.
Clientverhalten
- macOS: ruft
voicewake.set/voicewake.getauf und überwachtvoicewake.changed, um mit anderen Clients synchron zu bleiben. - iOS: ruft
voicewake.set/voicewake.getauf und überwachtvoicewake.changed, damit die lokale Erkennung von Aktivierungswörtern reaktionsfähig bleibt. - Android: ruft
voicewake.set/voicewake.getauf, überwachtvoicewake.changedund kündigt im aktivierten ZustandvoiceWakean. Die Erkennung erfolgt weiterhin auf dem Gerät und nur im Vordergrund; sie wird pausiert, während Talk, manuelles Diktieren, die Aufnahme einer Sprachnachricht oder die Sprachausgabe von Nachrichten auf das Audio zugreift.