Feishu Voice (NoizAI)

Send voice messages to Feishu using NoizAI TTS. Use this whenever the user wants you to speak, send a voice message, or reply with audio on Feishu. Wraps noizai-tts + Feishu voice delivery into one reliable workflow.

Audits

Pass

Install

openclaw skills install lubo-feishu-voice

feishu-voice — 飞书语音消息技能

让 AI 助手在飞书发送真正的语音气泡(不是文件附件),使用 NoizAI 云端 TTS,免费,无需 API Key

前置要求

  1. OpenClaw 已安装并运行
  2. noizai-tts 技能已安装(底层 TTS 引擎)
  3. Python 3.6+ 可用
  4. 飞书 已配置为消息渠道

安装

# 先装底层依赖
clawhub install noizai-tts

# 再装本技能
clawhub install lubo-feishu-voice

完整使用流程(3 步)

第 1 步:生成语音文件

运行 voice.py,传入要说的话,生成 .opus 音频文件:

python skills/feishu-voice/scripts/voice.py "你好,这是一条语音消息"

参数说明:

python skills/feishu-voice/scripts/voice.py <文字> [输出路径] [音色ID]
参数必填说明
文字要转成语音的文字内容
输出路径输出的 .opus 文件路径(默认自动生成到 workspace/media/
音色ID声音风格(默认 b4775100 = 悦悦)

示例:

# 最简用法 — 自动生成文件
python skills/feishu-voice/scripts/voice.py "今天天气不错"

# 指定输出路径
python skills/feishu-voice/scripts/voice.py "你好" "/tmp/hello.opus"

# 指定音色(婉青)
python skills/feishu-voice/scripts/voice.py "晚安" "/tmp/night.opus" "77e15f2c"

成功后:脚本会在 stdout 输出生成的文件绝对路径,例如:

C:\Users\you\.openclaw\workspace\media\voice_1778253339868.opus

⚠️ 注意:PowerShell 可能会显示红色错误提示([noiz-guest] Using guest mode...),这是正常的 info 日志被误当成错误,不影响功能。只要脚本输出了文件路径,就是成功了。

第 2 步:确认文件生成

检查上一步输出的文件确实存在且有内容(> 100 bytes):

# 查看文件大小
ls <输出的文件路径>

如果文件不存在或大小为 0,说明生成失败,检查:

  • Python 是否可用
  • noizai-tts 是否已安装
  • 文字是否为空

第 3 步:发送到飞书

使用 OpenClaw 的 message 工具发送。三个关键参数缺一不可

action: send
channel: feishu
asVoice: true              ← 必须!否则发成文件附件
contentType: audio/opus    ← 必须!飞书语音要求 opus 格式
filePath: <第1步输出的文件路径>

发送成功后,飞书端会显示一个语音气泡(带播放按钮),用户点击即可播放。

如果是在当前对话回复,发送完语音后回复 NO_REPLY(避免重复发送文字)。


可用中文音色(免费 Guest 模式)

voice_id名称性别风格适合场景
b4775100悦悦|社交分享欢快日常对话、分享、闲聊 ← 默认
77e15f2c婉青|情绪抚慰平静安慰、睡前、冥想
ac09aeb4阿豪|磁性主持平静播报、新闻、正式场合
87cb2405建国|知识科普平静知识讲解、教程
3b9f1e27小明|科技达人欢快科技话题、轻松分享

常见问题

Q: 发出去是文件附件而不是语音气泡?

A: 发送时必须设 asVoice: truecontentType: audio/opus。两个都要有。

Q: 脚本报错 exit code 1 但文件生成了?

A: 这是 PowerShell 的 stderr 处理问题。[noiz-guest] 日志走 stderr,PowerShell 把它当错误。看 stdout 有没有输出文件路径就行。

Q: 想用英文音色?

A: 可以,NoizAI guest 模式也有英文音色(见 noizai-tts 文档)。直接传英文文字就行。

Q: 文字太长怎么办?

A: 建议 200 字以内效果最好。超长文字也能生成,但质量可能下降。可以分段发送多条语音。

Q: 不想用飞书,能用其他渠道吗?

A: 核心是生成 opus 文件,发送逻辑根据渠道不同调整。Telegram/Discord 等也支持语音,但发送参数不同。


依赖关系

feishu-voice (本技能)
  └── noizai-tts (TTS 引擎,必须先装)
        └── Python 3.6+
        └── requests (pip)

安全说明

  • Guest 模式不发送任何身份信息
  • 文字内容会上传到 https://noiz.ai/v1/ 进行语音合成
  • 本地只保存生成的音频文件
  • 不修改音频文件以外的任何文件