Перейти к основному содержанию

Голосовое пробуждение (глобальные слова пробуждения)

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, чтобы изменения синхронизировались везде.