Медиа и устройства
Voice Wake
OpenClaw рассматривает слова активации как единый глобальный список, принадлежащий Шлюзу.
- Не существует пользовательских слов активации для отдельных узлов.
- Любой узел или интерфейс приложения может редактировать этот список; изменения сохраняются Шлюзом и рассылаются всем.
- macOS и iOS хранят локальные переключатели Включено/Выключено для Voice Wake (локальный пользовательский опыт и разрешения отличаются).
- Android в настоящее время хранит Voice Wake выключенным и использует ручной захват микрофона на вкладке Voice.
Хранение (Хост шлюза)
Слова активации хранятся на машине шлюза по пути:
~/.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. - Редактирование слов активации в Настройках вызывает
voicewake.set(через WebSocket Шлюза) и также поддерживает локальное обнаружение слов активации в активном состоянии.
Узел Android
- Voice Wake в настоящее время отключен в среде выполнения и Настройках Android.
- Голосовой ввод в Android использует ручной захват микрофона на вкладке Voice вместо триггеров по словам активации.