Chuyển đến nội dung chính
Các từ đánh thức là một danh sách toàn cục duy nhất do Gateway quản lý — không có danh sách tùy chỉnh theo từng Node. Mọi Node hoặc giao diện người dùng của ứng dụng đều có thể chỉnh sửa danh sách; Gateway lưu thay đổi và phát thay đổi đó đến mọi máy khách đang kết nối.
  • 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.jsonsettings/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)

Mỗi 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" }
Giới hạn: tối đa 32 tuyến, văn bản tác nhân kích hoạt dài tối đa 64 ký tự. Các tác nhân kích hoạt của tuyến được chuẩn hóa để đối sánh và phát hiện trùng lặp bằng cách chuyển thành chữ thường, loại bỏ dấu câu ở đầu/cuối mỗi từ và thu gọn khoảng trắng ("Hey, Bot!!""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.get và lắng nghe voicewake.changed để luôn đồng bộ với các máy khách khác.
  • iOS: gọi voicewake.set/voicewake.get và lắng nghe voicewake.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 nghe voicewake.changed và công bố voiceWake khi đượ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.

Liên quan