Appearance
Talk Mode(语音对话模式)
Talk Mode 是一个持续的语音对话循环:
- 监听语音
- 将转录文本发送给模型(主会话,chat.send)
- 等待响应
- 通过 ElevenLabs 播放语音(流式播放)
行为(macOS)
- 启用 Talk Mode 后始终显示常驻浮窗。
- 监听 → 思考 → 说话 阶段切换。
- 短暂停顿(静默窗口)后,当前转录文本被发送。
- 回复写入 WebChat(与手动输入相同)。
- 说话时打断(默认开启):用户开始说话时,若助手正在播放语音,则停止播放,并在下次提示中记录打断时间戳。
回复中的语音指令
助手可以在回复开头加一个 单行 JSON 来控制语音:
json
{ "voice": "<voice-id>", "once": true }规则:
- 仅首个非空行生效。
- 未知键被忽略。
once: true仅对当前回复生效。- 不带
once时,voice 成为 Talk Mode 的新默认值。 - 该 JSON 行在 TTS 播放前被剥除。
支持的键:
voice/voice_id/voiceIdmodel/model_id/modelIdspeed、rate(WPM)、stability、similarity、style、speakerBoostseed、normalize、lang、output_format、latency_tieronce
配置(~/.openclaw/openclaw.json)
json5
{
talk: {
voiceId: "elevenlabs_voice_id",
modelId: "eleven_v3",
outputFormat: "mp3_44100_128",
apiKey: "elevenlabs_api_key",
silenceTimeoutMs: 1500,
interruptOnSpeech: true,
},
}默认值:
interruptOnSpeech:truesilenceTimeoutMs:未设置时使用平台默认停顿窗口(macOS 和 Android 为 700ms,iOS 为 900ms)voiceId:回退到ELEVENLABS_VOICE_ID/SAG_VOICE_ID(或 API key 可用时的第一个 ElevenLabs voice)modelId:未设置时默认eleven_v3apiKey:回退到ELEVENLABS_API_KEY(或网关 shell profile 中的密钥)outputFormat:macOS/iOS 默认pcm_44100,Android 默认pcm_24000(设置mp3_*强制 MP3 流式传输)
macOS UI
- 菜单栏开关:Talk
- 配置标签页:Talk Mode 分组(voice id + 打断开关)
- 浮窗:
- 监听中:云朵随麦克风电平脉动
- 思考中:下沉动画
- 说话中:辐射光环
- 点击云朵:停止语音播放
- 点击 X:退出 Talk Mode
注意事项
- 需要语音和麦克风权限。
- 使用
chat.send对会话键main发送消息。 - TTS 使用 ElevenLabs 流式 API,配合
ELEVENLABS_API_KEY在 macOS/iOS/Android 上进行增量播放以降低延迟。 eleven_v3的stability有效值为0.0、0.5或1.0;其他模型接受0..1。- 设置
latency_tier时有效值为0..4。 - Android 支持
pcm_16000、pcm_22050、pcm_24000和pcm_44100输出格式,用于低延迟 AudioTrack 流式播放。