- Er zijn geen aangepaste wekwoorden per node.
- Elke node-/app-UI mag de lijst bewerken; wijzigingen worden door de Gateway opgeslagen en naar iedereen uitgezonden.
- macOS en iOS behouden lokale schakelaars voor Voice Wake ingeschakeld/uitgeschakeld (lokale UX + machtigingen verschillen).
- Android houdt Voice Wake momenteel uitgeschakeld en gebruikt een handmatige microfoonflow in het tabblad Voice.
Opslag (Gateway-host)
Wekwoorden en routeringsregels worden opgeslagen in de gateway-statusdatabase:~/.openclaw/state/openclaw.sqlite
voicewake_triggersvoicewake_routing_configvoicewake_routing_routes
settings/voicewake.json en settings/voicewake-routing.json zijn
alleen invoer voor doctor-migratie; de runtime leest en schrijft de SQLite-tabellen.
Protocol
Methoden
voicewake.get→{ triggers: string[] }voicewake.setmet parameters{ triggers: string[] }→{ triggers: string[] }
- Triggers worden genormaliseerd (bijgesneden, lege waarden verwijderd). Lege lijsten vallen terug op standaardwaarden.
- Limieten worden om veiligheidsredenen afgedwongen (maxima voor aantal/lengte).
Routeringsmethoden (trigger → doel)
voicewake.routing.get→{ config: VoiceWakeRoutingConfig }voicewake.routing.setmet parameters{ config: VoiceWakeRoutingConfig }→{ config: VoiceWakeRoutingConfig }
VoiceWakeRoutingConfig:
{ "mode": "current" }{ "agentId": "main" }{ "sessionKey": "agent:main:main" }
Gebeurtenissen
voicewake.changedpayload{ triggers: string[] }voicewake.routing.changedpayload{ config: VoiceWakeRoutingConfig }
- Alle WebSocket-clients (macOS-app, WebChat, enz.)
- Alle verbonden nodes (iOS/Android), en ook bij node-verbinding als een initiële push van de “huidige status”.
Clientgedrag
macOS-app
- Gebruikt de globale lijst om
VoiceWakeRuntime-triggers te bewaken. - Het bewerken van “Trigger words” in Voice Wake-instellingen roept
voicewake.setaan en vertrouwt daarna op de uitzending om andere clients synchroon te houden.
iOS-node
- Gebruikt de globale lijst voor triggerdetectie met
VoiceWakeManager. - Het bewerken van Wake Words in Settings roept
voicewake.setaan (via de Gateway WS) en houdt lokale wekwoorddetectie ook responsief.
Android-node
- Voice Wake is momenteel uitgeschakeld in de Android-runtime/-instellingen.
- Android-spraak gebruikt handmatige microfoonopname in het tabblad Voice in plaats van wekwoordtriggers.