- macOS: tombol aktif/nonaktif Voice Wake lokal. Memerlukan macOS 26+; lihat Pemicu suara (macOS) untuk detail runtime/PTT.
- iOS: tombol aktif/nonaktif Voice Wake lokal di Settings.
- Android: tombol aktif/nonaktif Voice Wake lokal dan editor kata pemicu di Settings → Voice. Memerlukan pengenalan ucapan pada perangkat Android.
Penyimpanan
Kata pemicu dan aturan perutean berada di basis data status Gateway,~/.openclaw/state/openclaw.sqlite secara default (ganti dengan OPENCLAW_STATE_DIR), dalam tabel voicewake_triggers, voicewake_routing_config, voicewake_routing_routes. settings/voicewake.json dan settings/voicewake-routing.json versi lama hanya merupakan masukan migrasi openclaw doctor --fix — runtime tidak pernah membacanya.
Protokol
Daftar pemicu
voicewake.set menormalisasi masukan: memangkas spasi kosong, menghapus entri kosong, mempertahankan paling banyak 32 pemicu, dan memotong masing-masing menjadi 64 unit kode UTF-16 tanpa memisahkan pasangan pengganti. Hasil kosong akan kembali menggunakan nilai default bawaan (openclaw, claude, computer).
Perutean (pemicu ke target)
target rute mendukung tepat salah satu dari:
{ "mode": "current" }{ "agentId": "main" }{ "sessionKey": "agent:main:main" }
"Hey, Bot!!" dan "hey bot" cocok dan dihitung sebagai duplikat) — normalisasi ini lebih ketat daripada pemangkasan biasa yang digunakan untuk daftar pemicu global di atas.
Peristiwa
Keduanya disiarkan ke setiap klien WebSocket dengan cakupan baca (aplikasi macOS, WebChat, dan sejenisnya) serta ke setiap Node yang terhubung. Node juga menerima keduanya sebagai pengiriman snapshot awal segera setelah terhubung.
Perilaku klien
- macOS: memanggil
voicewake.set/voicewake.getdan memantauvoicewake.changedagar tetap sinkron dengan klien lain. - iOS: memanggil
voicewake.set/voicewake.getdan memantauvoicewake.changedagar pendeteksian kata pemicu lokal tetap responsif. - Android: memanggil
voicewake.set/voicewake.get, memantauvoicewake.changed, dan mengiklankanvoiceWakesaat diaktifkan. Pengenalan tetap berlangsung pada perangkat dan hanya di latar depan; proses ini dijeda saat audio sedang digunakan oleh Talk, dikte manual, perekaman catatan suara, atau ucapan pesan.