对话模式
对话模式是一个连续的语音对话循环:- 监听语音
- 将转录文本发送给模型(主会话,chat.send)
- 等待响应
- 通过 ElevenLabs 朗读(流式播放)
行为(macOS)
- 启用对话模式时显示常驻悬浮窗。
- 监听 → 思考 → 朗读阶段切换。
- 短暂停顿(静音窗口)后,当前转录文本会被发送。
- 回复会写入 WebChat(与打字相同)。
- 语音打断(默认开启):如果用户在助手朗读时开始说话,会停止播放并记录打断时间戳用于下一次提示。
回复中的语音指令
助手可以在回复前添加单行 JSON 来控制语音:- 仅限第一个非空行。
- 未知键会被忽略。
once: true仅应用于当前回复。- 不带
once时,该语音将成为对话模式的新默认语音。 - JSON 行在 TTS 播放前会被移除。
voice/voice_id/voiceIdmodel/model_id/modelIdspeed、rate(WPM)、stability、similarity、style、speakerBoostseed、normalize、lang、output_format、latency_tieronce
配置(~/.openclaw/openclaw.json)
interruptOnSpeech:truevoiceId:回退到ELEVENLABS_VOICE_ID/SAG_VOICE_ID(或在 API 密钥可用时使用第一个 ElevenLabs 语音)modelId:未设置时默认为eleven_v3apiKey:回退到ELEVENLABS_API_KEY(或 Gateway网关 shell 配置文件,如可用)outputFormat:macOS/iOS 默认为pcm_44100,Android 默认为pcm_24000(设置mp3_*以强制 MP3 流式传输)
macOS UI
- 菜单栏切换:Talk
- 配置标签页:Talk Mode 组(语音 ID + 打断开关)
- 悬浮窗:
- 监听中:云朵随麦克风音量脉动
- 思考中:下沉动画
- 朗读中:辐射圆环
- 点击云朵:停止朗读
- 点击 X:退出对话模式
注意事项
- 需要语音识别 + 麦克风权限。
- 使用
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 流式传输。