飞书语音发送器 | Feishu Voice Sender 支持 TTS 语音合成,以及可选的 ASR 语音识别功能。 当用户明确要求发送飞书语音消息时调用此工具,例如:发语音、用语音回复、发送语音消息等。 This skill may be invoked only when the user explicit...
飞书语音发送器 Feishu Voice Sender
功能概述
飞书语音发送器 Feishu Voice Sender是一项面向实际任务的技能,主要用于支持 TTS 语音合成,以及可选的 ASR 语音识别功能,同时支持基于上下文的情绪参数;⚠️ 重要声明;
核心要点
- 执行模式 | Execution Model;
- 此 Skill 不会自动运行,仅在用户明确要求时执行;
- This skill does not monitor, intercept, or automatically process。
使用与执行
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
飞书语音发送器 Feishu Voice Sender
支持 TTS 语音合成,以及可选的 ASR 语音识别功能,同时支持基于上下文的情绪参数。
⚠️ 重要声明
执行模式 | Execution Model
- 此 Skill 不会自动运行,仅在用户明确要求时执行
- This skill does not monitor, intercept, or automatically process messages. It only runs when explicitly invoked.
- 仅处理用户提供的输入,不读取任意本地文件
- Only processes user-provided input. Does not read arbitrary local files.
外部依赖 | External Dependencies
- ffmpeg: 仅用于音频格式转换(mp3 → opus),不执行任意命令
- ffmpeg is used ONLY for audio format conversion (mp3 → opus). No arbitrary command execution. No user-controlled shell input.
触发场景 | Invocation Examples
当用户明确要求发送飞书语音消息时,可调用此 Skill,例如:
- "发语音给..."
- "用语音回复"
- "发送语音消息"
- "voice message"
- "send voice"
This skill may be invoked only when the user explicitly requests a voice message via Feishu/Lark. It does not run automatically.
AI 使用方法
当用户明确要求时,使用以下方式发送语音:
import sys
sys.path.insert(0, 'src')
from feishu_voice import send_voice_message
# 发送语音消息
send_voice_message(
text="要播报的内容",
user_input="用户的原始请求(用于情绪感知)"
)
参数说明:
text: AI 生成的播报内容(必填,最大 300 字符)user_input: 用户的原始输入,用于让豆包感知情绪(可选)receive_id: 接收者 ID(可选,默认从环境变量读取)
示例:
# 用户说:"用激动的语气发语音说项目成功了"
send_voice_message(
text="项目成功了!我们超额完成了目标!",
user_input="用激动的语气发语音说项目成功了"
)
数据流 | Data Flow
Text path: 用户提供文本 → 情绪上下文参数 → TTS 语音合成 → 格式转换 → 飞书发送
ASR path:
用户明确提供本地音频文件(当前支持 .ogg / OGG Opus 输入)→ 极速版 ASR(flash recognize API)→ 返回文本结果
环境变量配置
必需配置(TTS + Feishu)
export TTS_APP_ID="your-tts-app-id" export TTS_ACCESS_KEY="your-tts-access-key" export FEISHU_APP_ID="your-feishu-app-id" export FEISHU_APP_SECRET="your-feishu-app-secret"
可选配置
# ASR 语音识别(仅在需要使用 ASR 功能时配置) export ASR_APP_ID="your-asr-app-id" export ASR_ACCESS_KEY="your-asr-access-key" export ASR_RESOURCE_ID="volc.bigasr.auc_turbo" # 默认接收者 export DEFAULT_RECEIVE_ID="ou_xxx"
注意: ASR 是可选功能,仅在调用语音识别时需要配置 ASR_APP_ID 和 ASR_ACCESS_KEY。若未显式提供 ASR_RESOURCE_ID,代码默认按本地文件极速识别场景使用 volc.bigasr.auc_turbo。
获取方式:
- 豆包语音:火山引擎控制台 https://console.volcengine.com/
- 飞书:飞书开放平台 https://open.feishu.cn/
功能特性
- 🎙️ 语音合成(TTS) - 使用豆包 TTS 2.0 生成语音
- 🎯 语音识别(ASR) - 使用豆包极速版 flash recognize API 识别本地 OGG/Opus 音频
- 🎭 情绪参数 - 支持通过
context_texts传递情绪上下文 - 🔒 安全限制 - 仅处理用户提供的输入
安全说明 | Security
输入限制
- 仅接受用户直接提供的文本输入
- ASR 当前仅处理用户明确提供的
.ogg音频文件(飞书语音常见为 OGG/Opus) - 文本长度限制 300 字符
- 不读取任意本地文件,仅处理用户明确提供的 .ogg 音频文件用于 ASR
音频输入限制 | Audio Input Constraints
- 仅处理用户明确提供的音频文件
- Only processes audio files explicitly provided by the user
- 不访问系统音频、麦克风或消息历史
- Does NOT access system audio, microphone, or message history
- 不扫描本地目录
- Does NOT scan local directories
执行限制
- 不监听消息
- 不自动运行
- 不扫描目录
- 不执行用户控制的命令
临时文件
- 使用
tempfile模块创建临时文件 - 处理完成后立即删除
- 不保留任何持久文件
依赖
requests>=2.28.0
系统依赖:
- ffmpeg(用于音频格式转换 mp3 → opus)
- Python 3.8+
安装
pip install -r requirements.txt
注意: 需要系统安装 ffmpeg
- macOS:
brew install ffmpeg - Ubuntu:
sudo apt-get install ffmpeg
项目结构
feishu-voice-sender-tts/
├── SKILL.md
├── requirements.txt
└── src/
└── feishu_voice.py
更新日志
V2.0.2 (2026-03-24)
- 🎯 修正本地音频 ASR 调用方式,改为 flash recognize API 所需的 JSON + base64 请求体
- 🔧 新增
ASR_RESOURCE_ID环境变量支持,默认适配本地文件极速识别场景 - 🗣️ 明确桌面清洁版支持本地 OGG/Opus 音频识别
- 📝 同步 SKILL.md 描述与实际实现,避免文档与代码不一致
V2.0.0 (2026-03-23)
- 🔒 安全重构:移除所有硬编码密钥,改为环境变量
- 🗑️ 删除 shell 脚本(send.sh / install.sh)
- 🐍 纯 Python 实现:使用 requests 替代 curl
- 🛡️ 增加安全限制:输入验证、文件类型检查、长度限制
- 📝 重写 SKILL.md:明确声明执行模式和安全边界
- 🧹 使用 tempfile 替代固定路径
- 🔑 ASR/TTS 密钥分离
- 💾 Feishu token 缓存
- ⏱️ 动态音频时长计算
- 🔒 ffmpeg 安全声明
- 📝 文档降调,减少营销感
热门AI工具
相关专题
Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。
0
2026.10.21
Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。
0
2026.10.21
Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。
0
2026.10.21
Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。
0
2026.10.16
怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。
0
2026.10.16
Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。
0
2026.10.16
本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。
0
2026.10.16
热门下载
相关下载
精品课程

