若OpenClaw启用TTS后无音频输出,需依次检查:一、tts字段是否为true且ttsEngine及模型路径配置有效;二、系统音频设备状态与权限是否正常;三、日志中是否有tts.start等关键事件;四、更换ttsEngine(如edge/coqui/dummy)验证兼容性;五、测试API语音流是否被前端或代理截断。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您已配置 OpenClaw 并启用 TTS 功能,但实际运行时无任何音频输出,则可能是由于 TTS 模块未正确加载、音频设备不可用或配置参数冲突所致。以下是解决此问题的步骤:
一、确认 TTS 模块已启用且配置有效
OpenClaw 的语音输出依赖于配置文件中明确启用 TTS 并指定可用后端。若配置缺失或字段值为 false,系统将跳过语音合成流程。
1、打开 openclaw.json 配置文件,定位到 tts 字段。
2、确认该字段值为 true,且存在有效的 ttsEngine 配置(如 "edge", "coqui", "vits" 等)。
3、若使用 coqui 或 vits 引擎,检查对应模型路径是否存在于 ttsModelPath 指定位置,且文件可读。
二、验证系统音频设备与权限状态
即使 TTS 合成成功,若目标音频设备被禁用、静音或权限受限,最终仍无法播放声音。
1、在终端执行 pactl list sinks short(Linux)或检查系统声音设置(macOS/Windows),确认默认音频输出设备处于 RUNNING 状态。
2、运行 speaker-test -t wav -l 1 测试基础音频通路是否正常。
3、若在 Docker 或 WSL 环境中运行,确保容器已挂载 /dev/snd 设备并授予 --privileged 权限(Linux)或启用 Windows 音频转发(WSLg)。
三、检查日志中 TTS 合成阶段是否触发
OpenClaw 在语音输出前会记录 TTS 初始化、文本提交及 WAV 生成等关键事件。缺失相关日志说明流程未进入语音环节。
1、启动 OpenClaw 时附加 --log-level debug 参数重新运行。
2、发送一条明确触发语音响应的消息(如 “请朗读这句话”)。
3、在控制台或日志文件中搜索关键词 tts.start、tts.done 或 audio/wav,确认是否存在匹配行。
四、替换 TTS 引擎进行交叉验证
部分 TTS 引擎对环境依赖较强(如 edge-tts 需联网、coqui 需 PyTorch),单一引擎失效可能导致整体无声。切换引擎可快速定位是否为后端兼容性问题。
1、修改 openclaw.json 中的 ttsEngine 字段,依次尝试 "edge"、"coqui"、"dummy"(仅打印提示不发声)。
2、每次修改后重启 OpenClaw 网关服务。
3、观察日志中对应引擎的初始化日志(如 [edge-tts] initialized)是否出现,以及是否有错误堆栈。
五、排查音频流传输链路中断
当 OpenClaw 以 API 模式提供语音流(如 /v1/audio/speech)时,前端未正确消费流数据或代理层截断响应,也会表现为“无声”。
1、直接调用语音接口测试:使用 curl 发送 POST 请求至 http://localhost:18791/v1/audio/speech,携带 valid JSON body。
2、将响应重定向保存为 .wav 文件:curl ... > test.wav,再用系统播放器手动打开验证文件是否可播放。
3、若文件可播放但网页端无声,检查前端 JavaScript 是否调用 AudioContext.decodeAudioData() 失败,或浏览器是否因自动播放策略阻止音频启动。










