🧪 Skills
Feishu Voice Skill
让 AI 助手能够给飞书用户发送真正的语音条(点击即播,不是文件附件)。支持 NoizAI TTS 生成语音,自动转换为 OPUS 格式,通过飞书 API 发送语音消息
v1.2.0
Description
name: feishu-voice-skill description: "让 AI 助手能够给飞书用户发送真正的语音条(点击即播,不是文件附件)。支持 NoizAI TTS 生成语音,自动转换为 OPUS 格式,通过飞书 API 发送语音消息。"
Feishu Voice Skill - 飞书语音条技能
让任何 AI 助手都能给飞书用户发送真正的语音条!
🎯 功能特点
- ✅ 真正的语音条:点击即播,不是 MP3 文件附件
- ✅ NoizAI TTS:高质量语音合成,支持情感控制
- ✅ 自动转换:自动将音频转换为 OPUS 格式
- ✅ 一键发送:封装好的脚本,一行命令发送语音
📋 使用场景
- 🌞 语音问候(早安/晚安)
- 📰 语音播报(新闻/天气/股票)
- 📖 语音故事(睡前故事)
- 💬 语音聊天(更亲切的交流)
- 🎤 语音通知(提醒/公告)
🔧 前置要求
1. Feishu 应用配置
- 访问 https://open.feishu.cn/app
- 创建企业自建应用
- 添加以下权限:
im:message- 发送消息im:message:send_as_bot- 以机器人身份发送im:resource- 资源访问
- 获取 App ID 和 App Secret
2. NoizAI API Key
- 访问 https://developers.noiz.ai/api-keys
- 创建 API Key
- 配置到技能中
3. 系统依赖
# 安装 FFmpeg(用于音频转换)
# OpenCloudOS/CentOS
yum install -y ffmpeg
# Ubuntu/Debian
apt-get install -y ffmpeg
# macOS
brew install ffmpeg
🚀 快速开始
步骤 1:配置凭证
# 设置 Feishu 凭证
export FEISHU_APP_ID="cli_xxxxxxxxxxxxx"
export FEISHU_APP_SECRET="xxxxxxxxxxxxxxxxx"
export FEISHU_CHAT_ID="oc_xxxxxxxxxxxxx"
# 设置 NoizAI API Key(base64 编码)
export NOIZ_API_KEY="your_base64_encoded_api_key"
步骤 2:发送语音消息
# 简单模式:输入文字,自动发送语音
bash scripts/send_voice.sh -t "主人晚上好~ 司幼来陪您聊天啦~"
# 指定输出文件
bash scripts/send_voice.sh -t "你好" -o /tmp/voice.opus
# 从文件读取文字
bash scripts/send_voice.sh -f message.txt
# 自定义语音参数
bash scripts/send_voice.sh -t "你好" --speed 1.2 --emotion happy
📖 命令参数
bash scripts/send_voice.sh [选项]
选项:
-t, --text <text> 要转换的文字(必需,除非使用 -f)
-f, --file <file> 文字文件路径
-o, --output <file> 输出音频文件路径
--chat-id <id> 飞书聊天 ID(覆盖环境变量)
--app-id <id> 飞书 App ID(覆盖环境变量)
--app-secret <secret> 飞书 App Secret(覆盖环境变量)
--speed <1.0> 语速(0.5-2.0,默认 1.0)
--emotion <neutral> 情感(happy/sad/angry/neutral)
--no-send 只生成音频,不发送
-h, --help 显示帮助信息
💡 使用示例
1. 发送早安问候
bash scripts/send_voice.sh -t "主人早上好~ 新的一天开始啦,今天也要加油哦~"
2. 发送天气预报
bash scripts/send_voice.sh -t "主人,今天上海晴天,气温 15 到 25 度,适合出门哦~"
3. 发送睡前故事
bash scripts/send_voice.sh -f story.txt --speed 0.9
4. 批量发送
# 创建消息列表
echo "早安" > messages.txt
echo "午安" >> messages.txt
echo "晚安" >> messages.txt
# 循环发送
while read line; do
bash scripts/send_voice.sh -t "$line"
done < messages.txt
🔑 获取 Chat ID
# 方法 1:从飞书开放平台查看
# 访问 https://open.feishu.cn/app,查看应用信息
# 方法 2:通过 API 获取
curl -X GET "https://open.feishu.cn/open-apis/im/v1/chats?user_id=ou_xxx&user_id_type=open_id" \
-H "Authorization: Bearer <tenant_access_token>"
🎨 高级用法
1. 使用自定义声音
# 使用参考音频克隆声音
bash scripts/send_voice.sh -t "你好" --ref-audio ./my_voice.wav
2. 情感控制
# 快乐的情感
bash scripts/send_voice.sh -t "太棒了!" --emotion happy
# 悲伤的情感
bash scripts/send_voice.sh -t "我很难过..." --emotion sad
3. 定时发送
# 每天早上 8 点发送早安
crontab -e
# 添加:0 8 * * * /path/to/send_voice.sh -t "主人早上好~"
📦 文件结构
feishu-voice-skill/
├── SKILL.md # 本文件
├── reference.md # API 参考文档
├── scripts/
│ └── send_voice.sh # 主脚本
└── examples/
├── morning.sh # 早安示例
├── news.sh # 新闻播报示例
└── story.sh # 故事示例
⚠️ 注意事项
- 音频格式:必须使用 OPUS 格式,飞书才能识别为语音条
- 时长限制:语音消息最长 60 秒
- 文件大小:单个文件不超过 20MB
- 频率限制:避免短时间内发送大量消息
- 权限:确保应用有发送消息的权限
🐛 故障排除
问题 1:发送失败,显示"Invalid request param"
解决:检查 file_type=opus 参数是否正确
问题 2:收到的是 MP3 文件,不是语音条
解决:确保音频是 OPUS 格式,不是 MP3
问题 3:Token 过期
解决:重新获取 tenant_access_token
问题 4:没有权限上传文件
解决:在飞书开放平台添加文件上传权限
📞 支持
- GitHub Issues: https://github.com/your-repo/feishu-voice-skill
- 文档:https://your-docs.com
- 示例:examples/ 目录
💰 授权
- 个人使用:免费
- 商业使用:请联系作者获取授权
Made with ❤️ by 司幼 (SiYou)
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!