跳到內容

如何統一管理你的語音喚醒詞 (Voice Wake)

你是否遇過這種狀況:在手機上設定好了語音指令,換到電腦前卻發現又要重新設定一次?在多個裝置之間手動同步喚醒詞不只麻煩,還容易出錯。如果你希望所有裝置都能聽懂同一個名字,那麼全域管理就是最好的解決方案。

OpenClaw 將 Voice Wake 視為由 Gateway 擁有的單一全域清單。這意味著你不需要為每個 Node 單獨設定喚醒詞,只要在一個地方修改,所有裝置都會同步更新。

  • OpenClaw Gateway
  • 已連接的 Node 或 App UI(如 macOS app, iOS 或 Android Node)

在 OpenClaw 中,喚醒詞清單是全域共用的。雖然每個裝置可以決定是否開啟 Voice Wake 功能(基於本地權限與硬體考量),但「聽什麼詞」是由 Gateway 統一發號施令。

所有的喚醒詞都儲存在 Gateway 主機的以下路徑: ~/.openclaw/settings/voicewake.json

檔案格式如下:

{
"triggers": ["openclaw", "claude", "computer"],
"updatedAtMs": 1730000000000
}

你可以透過以下 API 方法與事件來操作喚醒詞:

Methods:

  • voicewake.get: 取得目前的喚醒詞清單,回傳 { triggers: string[] }。
  • voicewake.set: 傳入 { triggers: string[] } 來更新清單,回傳更新後的結果。

Events:

  • voicewake.changed: 當清單更新時,Gateway 會向所有 WebSocket 用戶端(macOS app, WebChat)以及所有已連接的 Node(iOS/Android)廣播 { triggers: string[] }。

不同平台會自動處理這些同步邏輯:

  • macOS app: 使用全域清單來啟動 VoiceWakeRuntime。你在設定中修改「Trigger words」後,App 會呼叫 voicewake.set 並等待廣播同步。
  • iOS node: 使用全域清單進行 VoiceWakeManager 偵測。在設定中編輯後,會透過 Gateway WS 同步並即時更新本地偵測。
  • Android node: 在設定中提供喚醒詞編輯器,編輯後同樣透過 voicewake.set 同步到所有地方。
  • Gateway: 負責持久化儲存,並在 Node 連接時主動推播當前狀態。
  • 喚醒詞清單變空了:清單中的觸發詞會經過正規化處理(去除空格、刪除空字串)。如果清單變成空的,系統會自動回退到預設值。
  • 無法新增更多詞彙:為了安全與效能,系統會強制執行限制(包含詞彙數量與長度上限)。如果達到上限,新的設定可能無法生效。

如果你在設定過程遇到任何問題,可以直接詢問 AI Setup Assistant。

OpenClaw

OpenClaw Expert

還是卡住了?

如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。