Voice Wake (Wake Words Toàn Cục)
OpenClaw xử lý wake words như một danh sách toàn cục duy nhất do Gateway quản lý.
- Không có wake words tùy chỉnh riêng cho từng node.
- Bất kỳ node/app UI nào cũng có thể chỉnh sửa danh sách; các thay đổi được Gateway lưu lại và broadcast đến tất cả mọi người.
- Mỗi thiết bị vẫn giữ nút bật/tắt Voice Wake enabled/disabled riêng (UX cục bộ + quyền khác nhau).
Lưu trữ (Gateway host)
Wake words được lưu trên máy gateway tại:
~/.openclaw/settings/voicewake.json
Cấu trúc:
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }
Protocol
Methods
voicewake.get→{ triggers: string[] }voicewake.setvới params{ triggers: string[] }→{ triggers: string[] }
Lưu ý:
- Triggers được chuẩn hóa (trim, bỏ các giá trị rỗng). Danh sách rỗng sẽ fallback về giá trị mặc định.
- Các giới hạn được áp dụng để đảm bảo an toàn (giới hạn số lượng/độ dài).
Events
voicewake.changedpayload{ triggers: string[] }
Ai nhận được event này:
- Tất cả WebSocket clients (macOS app, WebChat, v.v.)
- Tất cả các node đã kết nối (iOS/Android), và cả khi node connect như một “current state” push ban đầu.
Hành vi của Client
macOS app
- Sử dụng danh sách toàn cục để kiểm soát triggers của
VoiceWakeRuntime. - Chỉnh sửa “Trigger words” trong Voice Wake settings sẽ gọi
voicewake.setvà sau đó dựa vào broadcast để giữ các client khác đồng bộ.
iOS node
- Sử dụng danh sách toàn cục cho việc phát hiện trigger của
VoiceWakeManager. - Chỉnh sửa Wake Words trong Settings sẽ gọi
voicewake.set(qua Gateway WS) và cũng giữ cho việc phát hiện wake-word cục bộ hoạt động mượt mà.
Android node
- Hiển thị trình chỉnh sửa Wake Words trong Settings.
- Gọi
voicewake.setqua Gateway WS để các chỉnh sửa đồng bộ khắp nơi.