Голосовое пробуждение (глобальные слова пробуждения)¶
OpenClaw рассматривает слова пробуждения как единый глобальный список, принадлежащий Gateway (шлюзу).
- Пользовательских слов пробуждения для отдельных узлов не существует.
- Любой UI узла/приложения может редактировать список; изменения сохраняются Gateway и рассылаются всем.
- Каждое устройство по‑прежнему хранит собственный переключатель Voice Wake включено/выключено (локальный UX и права доступа различаются).
Хранилище (хост шлюза Gateway)¶
Слова пробуждения хранятся на машине шлюза по адресу:
~/.openclaw/settings/voicewake.json
Форма:
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }
Протокол¶
Методы¶
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, чтобы изменения синхронизировались везде.