Voice Wake (Wake Word Global)
OpenClaw memperlakukan wake word sebagai satu daftar global yang dimiliki oleh Gateway.- Tidak ada wake word kustom per node.
- UI node/app mana pun dapat mengedit daftar tersebut; perubahan dipersistenkan oleh Gateway dan disiarkan ke semua orang.
- macOS dan iOS mempertahankan toggle lokal Voice Wake aktif/nonaktif (UX lokal + izin berbeda).
- Android saat ini mempertahankan Voice Wake tetap nonaktif dan menggunakan alur mic manual di tab Voice.
Penyimpanan (host Gateway)
Wake word disimpan di mesin gateway pada:~/.openclaw/settings/voicewake.json
Protokol
Metode
voicewake.get→{ triggers: string[] }voicewake.setdengan params{ triggers: string[] }→{ triggers: string[] }
- Trigger dinormalisasi (spasi dipangkas, entri kosong dibuang). Daftar kosong akan fallback ke default.
- Batas diterapkan demi keamanan (batas jumlah/panjang).
Event
- Payload
voicewake.changed{ triggers: string[] }
- Semua klien WebSocket (app macOS, WebChat, dll.)
- Semua node yang terhubung (iOS/Android), dan juga saat node terhubung sebagai push “state saat ini” awal.
Perilaku klien
App macOS
- Menggunakan daftar global untuk mengendalikan trigger
VoiceWakeRuntime. - Mengedit “Trigger words” di pengaturan Voice Wake memanggil
voicewake.setlalu mengandalkan siaran untuk menjaga klien lain tetap sinkron.
Node iOS
- Menggunakan daftar global untuk deteksi trigger
VoiceWakeManager. - Mengedit Wake Words di Settings memanggil
voicewake.set(melalui Gateway WS) dan juga menjaga deteksi wake word lokal tetap responsif.
Node Android
- Voice Wake saat ini dinonaktifkan di runtime/Settings Android.
- Voice Android menggunakan pengambilan mic manual di tab Voice alih-alih trigger wake word.