語音喚醒(全域喚醒詞)
OpenClaw 將喚醒詞視為由 Gateway 擁有的單一全域清單。- 沒有每個節點的自訂喚醒詞。
- 任何節點/應用程式 UI 都可以編輯此清單;變更會由 Gateway 儲存並廣播給所有人。
- 各裝置仍各自保有 語音喚醒 啟用/停用 的切換(本地 UX 與權限不同)。
儲存(閘道器主機)
喚醒詞儲存在 gateway 機器上的位置為:~/.openclaw/settings/voicewake.json
協定
方法
voicewake.get→{ triggers: string[] }voicewake.set,參數為{ triggers: string[] }→{ triggers: string[] }
- Triggers are normalized (trimmed, empties dropped). 空清單會回退到預設值。
- Limits are enforced for safety (count/length caps).
事件
voicewake.changed,承載{ triggers: string[] }
- 所有 WebSocket 連線的用戶端(macOS 應用程式、WebChat 等)。
- 所有已連線的節點(iOS/Android),以及在節點連線時作為初始的「目前狀態」推送。
客戶端行為
macOS 應用程式
- Uses the global list to gate
VoiceWakeRuntimetriggers. - 在「語音喚醒」設定中編輯「觸發詞」會呼叫
voicewake.set,接著依賴廣播來讓其他用戶端保持同步。
iOS 節點
- 使用全域清單進行
VoiceWakeManager的觸發偵測。 - 在設定中編輯「喚醒詞」會(透過 Gateway WS)呼叫
voicewake.set,同時保持本地喚醒詞偵測的即時回應。
Android 節點
- 在設定中提供喚醒詞編輯器。
- 透過 Gateway WS 呼叫
voicewake.set,讓編輯結果在各處同步。