如何統一管理你的語音喚醒詞 (Voice Wake)
你是否遇過這種狀況:在手機上設定好了語音指令,換到電腦前卻發現又要重新設定一次?在多個裝置之間手動同步喚醒詞不只麻煩,還容易出錯。如果你希望所有裝置都能聽懂同一個名字,那麼全域管理就是最好的解決方案。
OpenClaw 將 Voice Wake 視為由 Gateway 擁有的單一全域清單。這意味著你不需要為每個 Node 單獨設定喚醒詞,只要在一個地方修改,所有裝置都會同步更新。
需要準備的東西
Section titled “需要準備的東西”- OpenClaw Gateway
- 已連接的 Node 或 App UI(如 macOS app, iOS 或 Android Node)
在 OpenClaw 中,喚醒詞清單是全域共用的。雖然每個裝置可以決定是否開啟 Voice Wake 功能(基於本地權限與硬體考量),但「聽什麼詞」是由 Gateway 統一發號施令。
1. 儲存位置
Section titled “1. 儲存位置”所有的喚醒詞都儲存在 Gateway 主機的以下路徑:
~/.openclaw/settings/voicewake.json
檔案格式如下:
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000}2. Protocol 通訊協定
Section titled “2. Protocol 通訊協定”你可以透過以下 API 方法與事件來操作喚醒詞:
Methods:
voicewake.get: 取得目前的喚醒詞清單,回傳{ triggers: string[] }。voicewake.set: 傳入{ triggers: string[] }來更新清單,回傳更新後的結果。
Events:
voicewake.changed: 當清單更新時,Gateway 會向所有 WebSocket 用戶端(macOS app, WebChat)以及所有已連接的 Node(iOS/Android)廣播{ triggers: string[] }。
3. 裝置行為同步
Section titled “3. 裝置行為同步”不同平台會自動處理這些同步邏輯:
- macOS app: 使用全域清單來啟動
VoiceWakeRuntime。你在設定中修改「Trigger words」後,App 會呼叫voicewake.set並等待廣播同步。 - iOS node: 使用全域清單進行
VoiceWakeManager偵測。在設定中編輯後,會透過 Gateway WS 同步並即時更新本地偵測。 - Android node: 在設定中提供喚醒詞編輯器,編輯後同樣透過
voicewake.set同步到所有地方。 - Gateway: 負責持久化儲存,並在 Node 連接時主動推播當前狀態。
- 喚醒詞清單變空了:清單中的觸發詞會經過正規化處理(去除空格、刪除空字串)。如果清單變成空的,系統會自動回退到預設值。
- 無法新增更多詞彙:為了安全與效能,系統會強制執行限制(包含詞彙數量與長度上限)。如果達到上限,新的設定可能無法生效。
如果你在設定過程遇到任何問題,可以直接詢問 AI Setup Assistant。
OpenClaw Expert
還是卡住了?
如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。