> ## Documentation Index
> Fetch the complete documentation index at: https://cryptoclawdocs.termix.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 语音唤醒

# 语音唤醒（全局唤醒词）

OpenClaw 将**唤醒词作为单一全局列表**，由 **Gateway 网关**拥有。

* **没有**每节点的自定义唤醒词。
* **任何节点/应用 UI 都可以编辑**列表；更改由 Gateway 网关持久化并广播给所有人。
* 每个设备仍保留自己的**语音唤醒启用/禁用**开关（本地用户体验 + 权限不同）。

## 存储（Gateway 网关主机）

唤醒词存储在 Gateway 网关机器上：

* `~/.openclaw/settings/voicewake.json`

结构：

```json theme={null}
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }
```

## 协议

### 方法

* `voicewake.get` → `{ triggers: string[] }`
* `voicewake.set`，参数 `{ triggers: string[] }` → `{ triggers: string[] }`

注意事项：

* 触发词会被规范化（修剪空格、删除空值）。空列表回退到默认值。
* 为安全起见会强制执行限制（数量/长度上限）。

### 事件

* `voicewake.changed` 载荷 `{ triggers: string[] }`

接收者：

* 所有 WebSocket 客户端（macOS 应用、WebChat 等）
* 所有已连接的节点（iOS/Android），以及节点连接时作为初始"当前状态"推送。

## 客户端行为

### macOS 应用

* 使用全局列表来控制 `VoiceWakeRuntime` 触发器。
* 在语音唤醒设置中编辑"触发词"会调用 `voicewake.set`，然后依赖广播保持其他客户端同步。

### iOS 节点

* 使用全局列表进行 `VoiceWakeManager` 触发检测。
* 在设置中编辑唤醒词会调用 `voicewake.set`（通过 Gateway 网关 WS），同时保持本地唤醒词检测的响应性。

### Android 节点

* 在设置中暴露唤醒词编辑器。
* 通过 Gateway 网关 WS 调用 `voicewake.set`，使编辑在所有地方同步。
