Voice Wake (palavras de ativação globais)
O OpenClaw trata palavras de ativação como uma única lista global de propriedade do Gateway.- Não há palavras de ativação personalizadas por nó.
- Qualquer UI de nó/app pode editar a lista; as alterações são persistidas pelo Gateway e transmitidas para todos.
- macOS e iOS mantêm alternâncias locais de Voice Wake ativado/desativado (a UX local + permissões diferem).
- O Android atualmente mantém o Voice Wake desativado e usa um fluxo manual de microfone na aba Voice.
Armazenamento (host do Gateway)
As palavras de ativação são armazenadas na máquina do gateway em:~/.openclaw/settings/voicewake.json
Protocolo
Métodos
voicewake.get→{ triggers: string[] }voicewake.setcom parâmetros{ triggers: string[] }→{ triggers: string[] }
- Triggers são normalizados (espaços removidos nas bordas, vazios descartados). Listas vazias recorrem aos padrões.
- Limites são aplicados por segurança (limites de contagem/comprimento).
Eventos
- Payload de
voicewake.changed:{ triggers: string[] }
- Todos os clientes WebSocket (app macOS, WebChat etc.)
- Todos os nós conectados (iOS/Android) e também no momento da conexão do nó como um push inicial de “estado atual”.
Comportamento do cliente
App macOS
- Usa a lista global para bloquear triggers de
VoiceWakeRuntime. - Editar “Trigger words” nas configurações de Voice Wake chama
voicewake.sete depois depende da transmissão para manter outros clientes sincronizados.
Nó iOS
- Usa a lista global para detecção de trigger no
VoiceWakeManager. - Editar Wake Words em Settings chama
voicewake.set(via Gateway WS) e também mantém a detecção local de palavras de ativação responsiva.
Nó Android
- O Voice Wake está atualmente desativado no runtime/Settings do Android.
- A voz no Android usa captura manual de microfone na aba Voice em vez de triggers por palavra de ativação.