- macOS: nút bật/tắt Voice Wake cục bộ. Yêu cầu macOS 26+; xem Đánh thức bằng giọng nói (macOS) để biết chi tiết về runtime/PTT.
- iOS: nút bật/tắt Voice Wake cục bộ trong Settings.
- Android: nút bật/tắt Voice Wake cục bộ và trình chỉnh sửa từ đánh thức trong Settings → Voice. Yêu cầu tính năng nhận dạng giọng nói trên thiết bị của Android.
Lưu trữ
Các từ đánh thức và quy tắc định tuyến nằm trong cơ sở dữ liệu trạng thái của Gateway, mặc định là~/.openclaw/state/openclaw.sqlite (ghi đè bằng OPENCLAW_STATE_DIR), trong các bảng voicewake_triggers, voicewake_routing_config, voicewake_routing_routes. Các tệp cũ settings/voicewake.json và settings/voicewake-routing.json chỉ là đầu vào di chuyển của openclaw doctor --fix — runtime không bao giờ đọc chúng.
Giao thức
Danh sách tác nhân kích hoạt
voicewake.set chuẩn hóa đầu vào: loại bỏ khoảng trắng ở đầu và cuối, bỏ các mục trống, giữ tối đa 32 tác nhân kích hoạt và cắt mỗi tác nhân còn 64 đơn vị mã UTF-16 mà không tách các cặp thay thế. Nếu kết quả trống, hệ thống dùng lại các giá trị mặc định tích hợp sẵn (openclaw, claude, computer).
Định tuyến (từ tác nhân kích hoạt đến đích)
target của tuyến hỗ trợ chính xác một trong các mục sau:
{ "mode": "current" }{ "agentId": "main" }{ "sessionKey": "agent:main:main" }
"Hey, Bot!!" và "hey bot" khớp nhau và được tính là trùng lặp) — đây là cách chuẩn hóa nghiêm ngặt hơn so với thao tác chỉ loại bỏ khoảng trắng ở đầu và cuối được dùng cho danh sách tác nhân kích hoạt toàn cục ở trên.
Sự kiện
Cả hai đều được phát đến mọi máy khách WebSocket có phạm vi đọc (ứng dụng macOS, WebChat và các ứng dụng tương tự) cũng như mọi Node đang kết nối. Một Node cũng nhận cả hai dưới dạng bản đẩy ảnh chụp trạng thái ban đầu ngay sau khi kết nối.
Hành vi của máy khách
- macOS: gọi
voicewake.set/voicewake.getvà lắng nghevoicewake.changedđể luôn đồng bộ với các máy khách khác. - iOS: gọi
voicewake.set/voicewake.getvà lắng nghevoicewake.changedđể duy trì khả năng phản hồi của tính năng phát hiện từ đánh thức cục bộ. - Android: gọi
voicewake.set/voicewake.get, lắng nghevoicewake.changedvà công bốvoiceWakekhi được bật. Quá trình nhận dạng chỉ diễn ra trên thiết bị và ở tiền cảnh; quá trình này tạm dừng khi Talk, tính năng đọc chính tả thủ công, ghi âm ghi chú thoại hoặc tính năng đọc tin nhắn đang sử dụng âm thanh.