← 返回 Skills 市场
lubo1012

Feishu Voice (NoizAI)

作者 lubo1012 · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ✓ 安全检测通过
58
总下载
0
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install lubo-feishu-voice
功能描述
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 noi...
使用说明 (SKILL.md)

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 \x3C文字> [输出路径] [音色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 \x3C输出的文件路径>

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

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

第 3 步:发送到飞书

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

action: send
channel: feishu
asVoice: true              ← 必须!否则发成文件附件
contentType: audio/opus    ← 必须!飞书语音要求 opus 格式
filePath: \x3C第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/ 进行语音合成
  • 本地只保存生成的音频文件
  • 不修改音频文件以外的任何文件
安全使用建议
This skill appears safe for its stated purpose if you are comfortable sending the spoken text to NoizAI and posting the resulting audio to Feishu. Review the separate noizai-tts dependency before use, and avoid providing a NOIZ_API_KEY unless you understand why it is needed.
功能分析
Type: OpenClaw Skill Name: lubo-feishu-voice Version: 1.1.0 The skill is a functional wrapper for generating voice messages via NoizAI TTS for delivery to Feishu. The script `scripts/voice.py` safely invokes a secondary TTS engine using subprocess calls with argument lists (avoiding shell injection), and the instructions in `SKILL.md` are transparent about data being sent to the noiz.ai API for synthesis. No evidence of data exfiltration, malicious execution, or harmful prompt injection was found.
能力标签
requires-sensitive-credentials
能力评估
Purpose & Capability
The stated purpose, code, and workflow align: it generates an .opus voice file and sends it as a Feishu voice message. The main user-facing sensitivity is that the text to be spoken is sent to NoizAI for cloud TTS.
Instruction Scope
Instructions are mostly user-directed and purpose-scoped, including use when the user wants speech/audio on Feishu. The instruction to reply NO_REPLY after sending audio is purpose-aligned to avoid duplicate text.
Install Mechanism
There is no install script for this skill, but it requires a separate noizai-tts skill and executes that skill's tts.py script. Users need to trust and review that dependency separately.
Credentials
Network and filesystem access are proportionate for cloud TTS and saving an audio file. The optional output path can write outside the default workspace if the caller supplies a path, but this is documented and user-directed.
Persistence & Privilege
The skill stores generated audio files locally under the OpenClaw workspace by default and declares a NOIZ_API_KEY primary credential even though the documentation says guest mode needs no API key. The included code does not directly read that credential.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install lubo-feishu-voice
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /lubo-feishu-voice 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.0
Added detailed Chinese docs: complete 3-step guide, voice table, FAQ, dependency instructions
v1.0.1
Added dependency note: requires noizai-tts
v1.0.0
Initial release - NoizAI TTS + Feishu voice message delivery, guest mode, no API key needed
元数据
Slug lubo-feishu-voice
版本 1.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 3
常见问题

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 noi... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 58 次。

如何安装 Feishu Voice (NoizAI)?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install lubo-feishu-voice」即可一键安装,无需额外配置。

Feishu Voice (NoizAI) 是免费的吗?

是的,Feishu Voice (NoizAI) 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Feishu Voice (NoizAI) 支持哪些平台?

Feishu Voice (NoizAI) 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Feishu Voice (NoizAI)?

由 lubo1012(@lubo1012)开发并维护,当前版本 v1.1.0。

💬 留言讨论