乐于分享
好东西不私藏

OpenClaw+飞书&微信语音回复配置全攻略

OpenClaw+飞书&微信语音回复配置全攻略

本文记录了将 OpenClaw AI 助理配置为通过飞书和微信自动发送语音回复的完整过程。配置完成后, AI 的文字回复会自动转化为语音,以最接近「语音对话」的方式触达你。


一、背景与问题

在使用 OpenClaw 接入飞书和微信的过程中,老板的真实需求是:「让 AI 直接用语音回复我,不要让我去点音频文件。」

这背后涉及三个核心问题:

TTS 提供商缺失: OpenClaw 默认的 Microsoft Edge TTS 因网络问题经常超时,无法稳定生成语音
ffprobe 依赖缺失:飞书语音桥接插件依赖 ffprobe 获取音频时长,但 Windows 环境下找不到兼容的 ffprobe 二进制文件
语音回复模式配置不当: voiceReplyMode 设为 "inbound"(仅对语音输入回复语音),而期望的是「所有回复都发语音」

二、技术架构总览

OpenClaw 语音回复的技术链条如下:

层级
组件
说明
接入层
Feishu / WeChat 插件
接收用户消息,发送语音/文字回复
路由层
voice-reply-dispatcher.js
判断是否触发语音回复,追踪对话上下文
调度层
voice-reply-dispatcher.js
在 agent_end 事件触发语音发送决策
合成层
audio.js (core)
调用 TTS API 生成音频,处理 ffprobe 时长探测
TTS 层
MiniMax / Microsoft Edge
文本转语音(本次: Microsoft → MiniMax )

关键配置路径

C:\Users\Administrator\.openclaw\ ├── openclaw.json                    # 主配置 ├── extensions/ │   └── feishu-voice-bridge/ │       └── lib/ │           ├── audio.js             # TTS合成 & ffprobe patch │           ├── core-bridge.js       # OpenClaw runtime 接口 │           └── voice-reply-dispatcher.js  # 语音回复调度逻辑 

三、飞书语音回复配置

3.1 核心配置项

配置项
含义
voiceReplyEnabled
true
启用语音回复功能
voiceReplyMode
"always"
所有回复都发语音("inbound"=仅语音输入触发)
voiceReplyWindowMs
1200000
语音触发窗口: 20 分钟内有效
voiceReplyCooldownMs
30000
语音发送间隔:≥30 秒
voiceReplyDebounceMs
2500
防抖延迟:合并密集回复
maxReplyChars
280
语音文本最大字符数

3.2 修改配置

路径:C:\Users\Administrator\.openclaw\openclaw.json,位置:plugins → entries → feishu-voice-bridge → config

将 voiceReplyMode 从 "inbound" 改为 "always":

"feishu-voice-bridge":{"enabled":true,"config":{"voiceReplyEnabled":true,"voiceReplyMode":"always","voiceReplyWindowMs":1200000,"voiceReplyCooldownMs":30000,"voiceReplyDebounceMs":2500,"maxReplyChars":280}}

四、 ffprobe 兼容问题修复

飞书语音桥接插件需要通过 ffprobe 获取音频文件的时长,以确保飞书客户端显示正确的语音进度条。

问题现象

feishu-voice synthesize failed: spawnSync ffprobe ENOENT 

根因: Windows 环境下, ffprobe 不在 PATH 中,或者找到的 ffmpeg 二进制不兼容 ffprobe 参数格式。

解决方案: 修改 extensions\feishu-voice-bridge\lib\audio.js 中的 probeAudioDurationMs 函数,加入 ffmpeg fallback :

functionprobeAudioDurationMs(filePath){// ① 先尝试 ffprobetry{conststdout=execFileSync("ffprobe",["-v","error","-show_entries","format=duration","-of","default=noprint_wrappers=1:nokey=1",filePath],{stdio:["ignore","pipe","pipe"],timeout:120000});constseconds=Number(String(stdout||"").trim());if(Number.isFinite(seconds)&&seconds>0){returnMath.max(1,Math.round(seconds*1000));}}catch{/* ffprobe 不可用 */}// ② ffmpeg fallback:解析 stderr 中的 Duration 行conststderr=execFileSync("ffmpeg",["-i",filePath],{stdio:["ignore","pipe","pipe"],timeout:120000,windowsHide:true});constmatch=/Duration:\s*(\d{2}):(\d{2}):(\d{2})\.(\d{2})/.exec(String(stderr));if(match){const[,hh,mm,ss,cs]=match;returnMath.max(1,Math.round((Number(hh)*3600+Number(mm)*60+Number(ss)+Number(cs)/100)*1000));}thrownewError("could not determine audio duration");}

五、 TTS 提供商切换( Microsoft → MiniMax )

Microsoft Edge TTS 在中国大陆访问存在偶发超时问题,导致语音生成失败率高,体验不稳定。

切换方案: 使用 MiniMax TTS API (已通过 OAuth 接入 OpenClaw ),免费且稳定。

5.1 修改主配置

路径:C:\Users\Administrator\.openclaw\openclaw.json,位置:messages → tts

"messages":{"tts":{"auto":"always","provider":"minimax","providers":{"minimax":{"enabled":true,"voice":"speech-2.8-hd","speed":1.0,"vol":1.0,"pitch":0}}}}

5.2 MiniMax TTS 优势对比

对比项
Microsoft Edge TTS
MiniMax TTS
网络稳定性
偶发超时(大陆访问)
✅ OAuth 内置,稳定
语音质量
标准
✅ HD 高清
API Key
无需( Edge 免费)
✅ 已集成在 OpenClaw OAuth 中
中文支持
✅ 良好
✅ 针对中文优化

六、插件白名单配置

OpenClaw 默认只加载白名单内的插件。如果插件不在 allow 列表中,即使启用了也不会生效。

"plugins":{"allow":["openclaw-weixin","minimax","feishu-voice-bridge","microsoft"]}

七、 Gateway 自动重启规则

为保证语音回复的高可用性,任何原因导致的 Gateway 进程崩溃都应该自动重启。

Python 自动重启判断逻辑

importsubprocessdefcheck_gateway():result=subprocess.run(["netstat","-ano"],capture_output=True,text=True)if"18789"notinresult.stdoutor"LISTENING"notinresult.stdout:subprocess.run(["openclaw","gateway","start"])else:print("Gateway在线")

八、飞书 vs 微信:语音播报差异

对比项
飞书
微信
语音消息形式
✅ 支持
✅ 支持
是否需要点击播放
❌ 必须点一下
✅ 打开对话框自动播放
OpenClaw 插件
feishu-voice-bridge (原生)
openclaw-weixin (已安装)
推荐场景
企业用户,文字+语音混合
个人用户,偏好语音对话

结论:微信的语音播报体验更接近「语音对话」,飞书则需要点一下播放


九、完整配置参考

{"plugins":{"allow":["openclaw-weixin","minimax","feishu-voice-bridge","microsoft"],"entries":{"minimax":{"enabled":true},"microsoft":{"enabled":true},"feishu-voice-bridge":{"enabled":true,"config":{"voiceReplyEnabled":true,"voiceReplyMode":"always","voiceReplyWindowMs":1200000,"voiceReplyCooldownMs":30000,"voiceReplyDebounceMs":2500,"maxReplyChars":280,"maxCapturedReplyChars":6000,"voiceReplySummaryEnabled":true,"voiceReplySummaryMaxSentences":3}}}},"messages":{"tts":{"auto":"always","provider":"minimax","providers":{"minimax":{"enabled":true,"voice":"speech-2.8-hd","speed":1.0,"vol":1.0,"pitch":0}}}}}

十、避坑清单

❌ ffprobe 不在 PATH: Windows 上 ffprobe 不像 Linux 那样预装,需要用 ffmpeg fallback 绕过
❌ voiceReplyMode = "inbound":默认为仅语音触发,文字回复不会自动发语音。需改为 "always"
❌ 插件未加入白名单:即使 enabled: true ,不在 allow 列表中的插件不会被加载
❌ Microsoft TTS 网络超时: Edge TTS 在大陆偶发超时,切换到 MiniMax TTS 更稳定
❌ 飞书语音必须点播放:飞书平台限制,语音消息无法自动播放,这是平台能力问题
❌ Gateway 进程崩溃: TTS 请求失败可能导致 Gateway 抖动,需要配置自动重启

看完有收获吗?点个赞,加个关注,让更多人看到

标签: OpenClaw / 飞书 / 微信 / AI 助手 / TTS / 语音回复/语音交互