Голосовое пробуждение (глобальные слова пробуждения)
OpenClaw рассматривает слова пробуждения как единый глобальный список, принадлежащий Gateway (шлюзу).- Пользовательских слов пробуждения для отдельных узлов не существует.
- Любой UI узла/приложения может редактировать список; изменения сохраняются Gateway и рассылаются всем.
- Каждое устройство по‑прежнему хранит собственный переключатель Voice Wake включено/выключено (локальный UX и права доступа различаются).
Хранилище (хост шлюза Gateway)
Слова пробуждения хранятся на машине шлюза по адресу:~/.openclaw/settings/voicewake.json
Протокол
Методы
voicewake.get→{ triggers: string[] }voicewake.setс параметрами{ triggers: string[] }→{ triggers: string[] }
- Триггеры нормализуются (обрезка пробелов, пустые значения отбрасываются). Пустые списки откатываются к значениям по умолчанию.
- В целях безопасности применяются ограничения (лимиты по количеству/длине).
События
voicewake.changedполезная нагрузка{ triggers: string[] }
- Все клиенты WebSocket (приложение для macOS, WebChat и т. п.).
- Все подключённые узлы (iOS/Android), а также при подключении узла — как начальная отправка «текущего состояния».
Поведение клиента
Приложение для macOS
- Использует глобальный список для фильтрации триггеров
VoiceWakeRuntime. - Редактирование «Слова триггера» в настройках Voice Wake вызывает
voicewake.set, после чего используется рассылка для синхронизации других клиентов.
Узел iOS
- Использует глобальный список для обнаружения триггеров
VoiceWakeManager. - Редактирование Wake Words в настройках вызывает
voicewake.set(через WS Gateway) и также поддерживает отзывчивость локального обнаружения слов пробуждения.
Узел Android
- Предоставляет редактор Wake Words в настройках.
- Вызывает
voicewake.setчерез WS Gateway, чтобы изменения синхронизировались везде.