Voice Message

🎤 一键文本转语音,全渠道消息送达

将文本转为语音消息发送至 Telegram、Discord、飞书等聊天渠道,支持多语言 TTS,飞书需特殊处理才能显示语音气泡

收藏
5.5k
安装
2.2k
版本
1.0.2
CLS 安全性认证2026-08-11
点击查看完整报告 >

使用说明

核心用法

Voice Message 是一款跨平台语音消息发送工具,集成 Microsoft Edge TTS 与 FFmpeg,实现文本到语音的自动化转换与分发。

功能流程:
1. 语音生成:通过 edge-tts 将文本转换为 OGG/Opus 格式音频,支持多语言语音选择(中文默认 zh-CN-XiaoxiaoNeural,英文默认 en-US-JennyNeural

2. 渠道适配

  • 通用渠道(Telegram、Signal、WhatsApp 等):直接调用 message 工具,设置 asVoice=true 即可发送语音气泡
  • 飞书/Lark关键限制——飞书不支持 asVoice=true,必须通过原生 API 分两步(上传+发送),且需严格设置 file_type=opus + msg_type=audio,否则降级为文件附件
  • Discord:需额外生成波形数据(waveform),设置 flags=8192(IS_VOICE_MESSAGE),否则报错 50161

多账号支持:飞书配置支持多账号场景,需根据当前 agent 名称从 ~/.openclaw/openclaw.json 中提取对应凭证,避免 99992361 open_id cross app 错误。

显著优点

  • 跨平台统一接口:一套文本输入,自动适配多平台语音消息格式
  • 高质量语音合成:基于微软 Edge TTS,支持 100+ 种语言和语音风格
  • 原生体验保障:飞书、Discord 等平台的特殊处理确保语音气泡而非文件附件
  • 企业级多账号:支持多飞书应用配置,适配复杂组织架构

潜在缺点与局限性

  • 配置复杂度高:飞书需手动获取 tenant_access_token,Discord 需额外生成波形
  • 依赖外部工具:必须预装 edge-ttsffmpegffprobe,Windows 环境配置较繁琐
  • 平台差异大:各渠道实现机制不统一,维护成本较高
  • 无实时语音:仅支持预生成音频文件,非实时语音通话

适合人群

  • 运维/开发者需要向 IM 渠道发送语音告警或通知
  • 客服团队希望自动化语音消息推送
  • 多平台运营者需统一管理 Telegram、飞书、Discord 等渠道

常规风险

  • 凭证泄露风险tenant_access_tokenBOT_TOKEN 需妥善保管
  • API 调用限制:飞书、Discord 均有频率限制,高频场景需控制速率
  • 格式兼容问题:Opus 编码参数不当可能导致部分客户端无法播放

安全解读

核心用法

voice-message 是一个跨平台语音消息发送 Skill,核心 workflow 分为两步:首先通过 edge-tts 将文本合成为 OGG/Opus 格式音频,随后根据目标渠道特性选择对应的发送方式。对于 Telegram、Signal、WhatsApp 等通用平台,可直接使用消息工具的 asVoice=true 参数;而飞书(Feishu/Lark)和 Discord 因 API 限制,需调用平台专属脚本完成上传-发送或附带波形数据的 POST 请求。

飞书场景需特别注意:必须读取 ~/.openclaw/openclaw.json 中的多账号配置获取对应 Agent 的 appIdappSecret,换取 tenant_access_token 后,以 file_type=opus + msg_type=audio 的组合发送,否则会以文件附件形式呈现而非语音气泡。Discord 则需额外生成 base64 波形数据并设置 flags: 8192(IS_VOICE_MESSAGE)。

显著优点

1. 多平台原生体验:针对飞书、Discord 等平台的语音消息特性做了深度适配,确保消息以原生语音气泡展示,而非降格为文件附件。
2. 高质量语音合成:底层采用 Microsoft Edge TTS(edge-tts),支持 zh-CN-XiaoxiaoNeuralen-US-JennyNeural 等神经网络语音,自然度接近真人。

3. 多账号隔离机制:飞书凭证按 Agent 名分级存储,避免跨应用 open_id 错误,适合多机器人共存的复杂部署场景。

4. 自动化脚本封装gen_voice.shsend_feishu_voice.shgen_waveform.py 等脚本屏蔽了底层 ffprobe 时长计算、curl 构造等繁琐细节,降低使用门槛。

潜在缺点与局限性

1. 外部依赖较重:必须预装 edge-ttsffmpeg/ffprobe,且需在环境变量或配置文件中维护飞书/Discord 的 API 凭证,部署成本高于纯内置方案。
2. 飞书凭证读取风险:读取用户家目录下的 JSON 配置文件获取敏感信息,若文件权限配置不当(非 600)可能导致凭证泄露;且当前未支持环境变量备选方案。

3. Subprocess 调用隐患:多处使用 shell 子进程调用外部工具,虽经审查无直接注入漏洞,但缺乏严格的参数转义和长度限制,极端输入下存在理论风险。

4. 社区维护属性:作为 T3 来源的个人/社区项目,无顶级基金会背书,版本更新和安全补丁依赖维护者个人精力,长期稳定性存疑。

5. 隐私合规待完善:语音文本内容临时落盘,文档未明确数据保留策略和 GDPR 场景下的用户同意机制。

适合的目标群体

  • 多平台运营团队:需在 Telegram、飞书、Discord 等渠道统一推送语音通知的社群运营、客服机器人开发者。
  • 自动化工作流构建者:将语音播报集成到 CI/CD 告警、IoT 设备状态通知等场景的 DevOps 工程师。
  • 无障碍需求开发者:为视障用户或特定场景提供语音化信息播报的辅助功能开发者。

使用风险

  • 配置文件泄露~/.openclaw/openclaw.json 若权限设置宽松,可能导致飞书应用凭证被同服务器其他用户读取。
  • 网络超时与重试缺失:当前 curl 调用未配置超时和重试,弱网环境下可能长时间挂起或失败。
  • 临时文件残留:虽已实现 trap EXIT 清理,但若脚本被强制终止(SIGKILL)仍可能残留临时音频文件。
  • 平台 API 变更:飞书/Discord API 升级可能导致脚本失效,需关注官方变更公告并及时更新。

Voice Message 内容

references文件夹
scripts文件夹
手动下载zip · 5.4 kB
voices.mdtext/markdown
请选择文件