Nodes and media
Aktivasi suara
OpenClaw memperlakukan kata bangun sebagai satu daftar global yang dimiliki oleh Gateway.
- Tidak ada kata bangun kustom per node.
- UI node/aplikasi mana pun dapat mengedit daftar tersebut; perubahan dipertahankan oleh Gateway dan disiarkan ke semua orang.
- macOS dan iOS menyimpan toggle lokal Voice Wake aktif/nonaktif (UX lokal + izin berbeda).
- Android saat ini tetap mematikan Voice Wake dan menggunakan alur mikrofon manual di tab Voice.
Penyimpanan (host Gateway)
Kata bangun disimpan di mesin gateway pada:
~/.openclaw/settings/voicewake.json
Bentuk:
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }
Protokol
Metode
voicewake.get→{ triggers: string[] }voicewake.setdengan params{ triggers: string[] }→{ triggers: string[] }
Catatan:
- Pemicu dinormalisasi (dipangkas, nilai kosong dibuang). Daftar kosong kembali ke default.
- Batas diterapkan untuk keamanan (batas jumlah/panjang).
Metode perutean (pemicu → target)
voicewake.routing.get→{ config: VoiceWakeRoutingConfig }voicewake.routing.setdengan params{ config: VoiceWakeRoutingConfig }→{ config: VoiceWakeRoutingConfig }
Bentuk VoiceWakeRoutingConfig:
{
"version": 1,
"defaultTarget": { "mode": "current" },
"routes": [{ "trigger": "robot wake", "target": { "sessionKey": "agent:main:main" } }],
"updatedAtMs": 1730000000000
}
Target rute mendukung tepat salah satu dari:
{ "mode": "current" }{ "agentId": "main" }{ "sessionKey": "agent:main:main" }
Peristiwa
- payload
voicewake.changed{ triggers: string[] } - payload
voicewake.routing.changed{ config: VoiceWakeRoutingConfig }
Siapa yang menerimanya:
- Semua klien WebSocket (aplikasi macOS, WebChat, dll.)
- Semua node yang terhubung (iOS/Android), dan juga saat node terhubung sebagai push "status saat ini" awal.
Perilaku klien
Aplikasi macOS
- Menggunakan daftar global untuk membatasi pemicu
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 pemicu
VoiceWakeManager. - Mengedit Wake Words di Settings memanggil
voicewake.set(melalui Gateway WS) dan juga menjaga deteksi kata bangun lokal tetap responsif.
Node Android
- Voice Wake saat ini dinonaktifkan di runtime/Settings Android.
- Suara Android menggunakan penangkapan mikrofon manual di tab Voice, bukan pemicu kata bangun.