语音唤醒
语音唤醒(全局唤醒词)
Section titled “语音唤醒(全局唤醒词)”CoderClaw 将唤醒词作为单一全局列表,由 Gateway 网关拥有。
- 没有每节点的自定义唤醒词。
- 任何节点/应用 UI 都可以编辑列表;更改由 Gateway 网关持久化并广播给所有人。
- 每个设备仍保留自己的语音唤醒启用/禁用开关(本地用户体验 + 权限不同)。
存储(Gateway 网关主机)
Section titled “存储(Gateway 网关主机)”唤醒词存储在 Gateway 网关机器上:
~/.coderclaw/settings/voicewake.json
结构:
{ "triggers": ["coderclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }voicewake.get→{ triggers: string[] }voicewake.set,参数{ triggers: string[] }→{ triggers: string[] }
注意事项:
- 触发词会被规范化(修剪空格、删除空值)。空列表回退到默认值。
- 为安全起见会强制执行限制(数量/长度上限)。
voicewake.changed载荷{ triggers: string[] }
接收者:
- 所有 WebSocket 客户端(macOS 应用、WebChat 等)
- 所有已连接的节点(iOS/Android),以及节点连接时作为初始”当前状态”推送。
macOS 应用
Section titled “macOS 应用”- 使用全局列表来控制
VoiceWakeRuntime触发器。 - 在语音唤醒设置中编辑”触发词”会调用
voicewake.set,然后依赖广播保持其他客户端同步。
iOS 节点
Section titled “iOS 节点”- 使用全局列表进行
VoiceWakeManager触发检测。 - 在设置中编辑唤醒词会调用
voicewake.set(通过 Gateway 网关 WS),同时保持本地唤醒词检测的响应性。
Android 节点
Section titled “Android 节点”- 在设置中暴露唤醒词编辑器。
- 通过 Gateway 网关 WS 调用
voicewake.set,使编辑在所有地方同步。