对话模式
适用范围
在以下情况使用本页:
- 在 macOS/iOS/Android 上实现对话模式
- 更改语音/TTS/中断行为
对话模式是一个连续的语音对话循环:
- 监听语音
- 将转录发送到模型(主会话,chat.send)
- 等待响应
- 通过 ElevenLabs 播放(流式播放)
行为(macOS)
- 启用对话模式时的常驻覆盖层。
- 监听 → 思考 → 说话阶段转换。
- 在短暂停(静音窗口)时,发送当前转录。
- 回复写入 WebChat(与键入相同)。
- 语音中断(默认开启):如果用户在助手说话时开始说话,我们停止播放并记录中断时间戳以供下一个提示使用。
回复中的语音指令
助手可以在回复前加上单行 JSON来控制语音:
{"voice":"<voice-id>","once":true}规则:
- 仅第一行非空行。
- 忽略未知键。
once: true仅适用于当前回复。- 没有
once,语音将成为对话模式的新默认值。 - JSON 行在 TTS 播放前被剥离。
支持的键:
voice/voice_id/voiceIdmodel/model_id/modelIdspeed、rate(WPM)、stability、similarity、style、speakerBoostseed、normalize、lang、output_format、latency_tieronce
配置(~/.clawdbot/clawdbot.json)
{
"talk": {
"voiceId": "elevenlabs_voice_id",
"modelId": "eleven_v3",
"outputFormat": "mp3_44100_128",
"apiKey": "elevenlabs_api_key",
"interruptOnSpeech": true
}
}默认值:
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
- 菜单栏切换:对话
- 配置选项卡:对话模式组(语音 ID + 中断切换)
- 覆盖层:
- 监听:云随麦克风级别脉动
- 思考:下沉动画
- 说话:辐射环
- 点击云:停止说话
- 点击 X:退出对话模式
注意事项
- 需要语音 + 麦克风权限。
- 使用会话密钥
main的chat.send。 - 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 流式传输。