Nodes and media
Wybudzanie głosem
OpenClaw traktuje słowa wybudzające jako jedną globalną listę należącą do Gateway.
- Nie ma niestandardowych słów wybudzających dla poszczególnych węzłów.
- Dowolny interfejs węzła/aplikacji może edytować tę listę; zmiany są utrwalane przez Gateway i rozgłaszane do wszystkich.
- macOS i iOS zachowują lokalne przełączniki włączenia/wyłączenia wybudzania głosem (lokalny UX i uprawnienia się różnią).
- Android obecnie utrzymuje wybudzanie głosem wyłączone i używa ręcznego przepływu mikrofonu na karcie Głos.
Przechowywanie (host Gateway)
Słowa wybudzające są przechowywane na maszynie Gateway w:
~/.openclaw/settings/voicewake.json
Kształt:
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }
Protokół
Metody
voicewake.get→{ triggers: string[] }voicewake.setz parametrami{ triggers: string[] }→{ triggers: string[] }
Uwagi:
- Wyzwalacze są normalizowane (przycinane, puste usuwane). Puste listy wracają do wartości domyślnych.
- Limity są egzekwowane ze względów bezpieczeństwa (ograniczenia liczby/długości).
Metody routingu (wyzwalacz → cel)
voicewake.routing.get→{ config: VoiceWakeRoutingConfig }voicewake.routing.setz parametrami{ config: VoiceWakeRoutingConfig }→{ config: VoiceWakeRoutingConfig }
Kształt VoiceWakeRoutingConfig:
{
"version": 1,
"defaultTarget": { "mode": "current" },
"routes": [{ "trigger": "robot wake", "target": { "sessionKey": "agent:main:main" } }],
"updatedAtMs": 1730000000000
}
Cele tras obsługują dokładnie jedno z:
{ "mode": "current" }{ "agentId": "main" }{ "sessionKey": "agent:main:main" }
Zdarzenia
- Ładunek
voicewake.changed{ triggers: string[] } - Ładunek
voicewake.routing.changed{ config: VoiceWakeRoutingConfig }
Kto je otrzymuje:
- Wszyscy klienci WebSocket (aplikacja macOS, WebChat itp.)
- Wszystkie połączone węzły (iOS/Android), a także przy połączeniu węzła jako początkowe wypchnięcie „bieżącego stanu”.
Zachowanie klienta
Aplikacja macOS
- Używa globalnej listy do bramkowania wyzwalaczy
VoiceWakeRuntime. - Edycja „Słów wyzwalających” w ustawieniach wybudzania głosem wywołuje
voicewake.set, a następnie polega na rozgłoszeniu, aby utrzymać synchronizację innych klientów.
Węzeł iOS
- Używa globalnej listy do wykrywania wyzwalaczy przez
VoiceWakeManager. - Edycja słów wybudzających w Ustawieniach wywołuje
voicewake.set(przez Gateway WS) i jednocześnie utrzymuje responsywne lokalne wykrywanie słów wybudzających.
Węzeł Android
- Wybudzanie głosem jest obecnie wyłączone w środowisku uruchomieniowym/ustawieniach Androida.
- Głos na Androidzie używa ręcznego przechwytywania mikrofonu na karcie Głos zamiast wyzwalaczy słów wybudzających.