功能请求:支持发送微信原生语音消息(绿色语音条)
背景
当前版本(2.1.7)的 openclaw-weixin 插件发送音频时,会将音频作为文件附件发送,显示为蓝色进度条附件,而非微信原生语音消息(绿色语音条)。
期望行为
用户希望 AI 助手用 TTS(文字转语音)生成的语音,能够以微信原生语音消息的格式发送,显示为绿色进度条,可直接播放。
技术分析
根据插件源码 (src/api/types.ts),API 已支持原生语音消息格式:
- MessageItem.type = 3 (VOICE)
- VoiceItem.encode_type = 6 (SILK)
- 采样率:sample_rate = 24000
- 需要先上传到 CDN,再发送
但 send-media.ts 中所有非图片/视频的媒体都被路由到文件附件通道(sendFileMessageWeixin),缺少语音消息的发送路径。
已有基础设施
- silk-wasm npm 包已内置于插件依赖中,可用于 SILK 编码/解码
- src/media/silk-transcode.ts 已实现 SILK → WAV 解码(用于接收语音)
- edge-tts 可生成高质量中文 TTS
建议实现方案
- 新增 sendVoiceMessageWeixin 函数,构造 VoiceItem 并通过 CDN 上传 SILK 数据
- 在 send-media.ts 中新增 MIME 类型路由:�udio/* → sendVoiceMessageWeixin
- 或新增 �oice 消息类型,与 ext、image、�ideo 并列
参考
- 插件版本:2.1.7
- OpenClaw 版本:2026.4.15
功能请求:支持发送微信原生语音消息(绿色语音条)
背景
当前版本(2.1.7)的 openclaw-weixin 插件发送音频时,会将音频作为文件附件发送,显示为蓝色进度条附件,而非微信原生语音消息(绿色语音条)。
期望行为
用户希望 AI 助手用 TTS(文字转语音)生成的语音,能够以微信原生语音消息的格式发送,显示为绿色进度条,可直接播放。
技术分析
根据插件源码 (src/api/types.ts),API 已支持原生语音消息格式:
但 send-media.ts 中所有非图片/视频的媒体都被路由到文件附件通道(sendFileMessageWeixin),缺少语音消息的发送路径。
已有基础设施
建议实现方案
参考