Listening
先持续听用户讲话。
Nodes 导读
Talk Mode 开启后,设备会持续监听、发送转录、等待回复并朗读。配置时务必填对 `voiceId` 和 `apiKey`,否则无法发声;最容易忽略的是 `silenceTimeoutMs` 默认值因平台而异(macOS 700ms,Android 700ms,iOS 900ms),调整不当会导致对话节奏异常。
先讲这一页到底在解决什么
Talk Mode 开启后,设备会持续监听、发送转录、等待回复并朗读。配置时务必填对 `voiceId` 和 `apiKey`,否则无法发声;最容易忽略的是 `silenceTimeoutMs` 默认值因平台而异(macOS 700ms,Android 700ms,iOS 900ms),调整不当会导致对话节奏异常。
第一站
官方把这条链路写得很清楚。
先持续听用户讲话。
短暂停顿后,把转写内容送给模型开始想。
拿到回复后走 ElevenLabs 之类 TTS 流式播报。
播完不是结束,而是继续等你下一句。
第二站
这是这页最像真人对话礼貌的一部分。
interruptOnSpeech: true默认开。用户重新说话时,OpenClaw 会停掉当前播报,先把耳朵让出来。
silenceTimeoutMs这像判断“你真的说完了吗”的停顿窗口,太短会急,太长会拖。
macOS 会把 Listening、Thinking、Speaking 做成明显状态变化,像会呼吸的小状态灯。
语音回复也会写进 WebChat,不会只在耳机里念完就没痕迹。
第三站
它不是给用户看的正文,而是在悄悄告诉播报系统这次用什么声音、要不要只生效一次。
{\"voice\":\"...\",\"once\":true}像“这句临时换个声线说完就恢复”。
once那就不是临时演出,而是把默认声线也改掉。
voiceId / modelId / speed这些都像舞台音响师的控制杆,调谁来念、念多快、风格多稳。
Talk mode 不是“语音输入”,而是“持续对话循环”。