Nodes 导读

Talk Mode:连续语音对话的配置与行为

Talk Mode 开启后,设备会持续监听、发送转录、等待回复并朗读。配置时务必填对 `voiceId` 和 `apiKey`,否则无法发声;最容易忽略的是 `silenceTimeoutMs` 默认值因平台而异(macOS 700ms,Android 700ms,iOS 900ms),调整不当会导致对话节奏异常。

先讲这一页到底在解决什么

Talk Mode:连续语音对话的配置与行为

Talk Mode 开启后,设备会持续监听、发送转录、等待回复并朗读。配置时务必填对 `voiceId` 和 `apiKey`,否则无法发声;最容易忽略的是 `silenceTimeoutMs` 默认值因平台而异(macOS 700ms,Android 700ms,iOS 900ms),调整不当会导致对话节奏异常。

原文共 8 节,先看 Start Here 路径:/nodes/talk 查看官方原文

第一站

🔄 整个 Talk 模式就像一条小环线:听见你说,想一下,再把答案念出来

官方把这条链路写得很清楚。

👂

Listening

先持续听用户讲话。

🧠

Thinking

短暂停顿后,把转写内容送给模型开始想。

🔊

Speaking

拿到回复后走 ElevenLabs 之类 TTS 流式播报。

♻️

再回到听

播完不是结束,而是继续等你下一句。

第二站

✋ interrupt on speech 像“你一开口,我就闭嘴听你说”

这是这页最像真人对话礼貌的一部分。

interruptOnSpeech: true

默认开。用户重新说话时,OpenClaw 会停掉当前播报,先把耳朵让出来。

silenceTimeoutMs

这像判断“你真的说完了吗”的停顿窗口,太短会急,太长会拖。

Overlay phases

macOS 会把 Listening、Thinking、Speaking 做成明显状态变化,像会呼吸的小状态灯。

WebChat 同步

语音回复也会写进 WebChat,不会只在耳机里念完就没痕迹。

第三站

🎭 回复最前面那行 JSON,像是对 TTS 说的幕后舞台指令

它不是给用户看的正文,而是在悄悄告诉播报系统这次用什么声音、要不要只生效一次。

{\"voice\":\"...\",\"once\":true}

像“这句临时换个声线说完就恢复”。

Without once

那就不是临时演出,而是把默认声线也改掉。

voiceId / modelId / speed

这些都像舞台音响师的控制杆,调谁来念、念多快、风格多稳。

🎈 最后记一句

Talk mode 不是“语音输入”,而是“持续对话循环”。