飞书语音 TTS 技能
当用户要求"给飞书发语音"、"在飞书里读这段话"或类似需求时,执行以下流程:
核心流程
- 1. MOSS-TTS 生成 WAV → 2. ffmpeg 转 opus → 3. 上传飞书 → 4. 发送语音消息
前置要求
- - 系统已安装 INLINECODE0
- 已配置环境变量
MOSS_API_KEY(MOSS-TTS API Key) - 飞书配置在 OpenClaw 安装时已自动完成
使用方法
命令行模式
CODEBLOCK0
参数说明
| 参数 | 必填 | 说明 |
|---|
| INLINECODE2 | ✅ | 要转语音的文本 |
| INLINECODE3 |
❌ | 飞书群 ID(与 receive_id 二选一) |
|
--receive_id | ❌ | 接收者 ID(open
id 或 chatid) |
|
--receive_id_type | ❌ | 接收者类型:
chat_id 或
open_id,默认
chat_id |
|
--voice_id | ❌ | MOSS 音色 ID,默认
2001286865130360832(周周) |
|
--output | ❌ | 输出文件路径,默认
feishu_voice.wav |
示例
CODEBLOCK1
飞书权限要求
确保飞书应用已开通以下权限:
- -
im:message:send_as_bot - 以机器人身份发送消息 - INLINECODE14 - 上传文件(发送语音消息必需)
- INLINECODE15 - 读取群组消息(获取历史记录必需)
- INLINECODE16 - 读取会话列表
注意:需要在飞书开放平台应用配置中添加 drive:file:upload 权限并发布。
获取消息历史
脚本:get_history.py
获取飞书群消息历史,按时间排序。
CODEBLOCK2
参数说明
| 参数 | 必填 | 说明 |
|---|
| INLINECODE18 | ✅ | 飞书群 ID |
| INLINECODE19 |
❌ | 获取最近几小时的消息,默认 24 |
|
--all | ❌ | 获取所有消息(不使用时间过滤) |
|
--limit | ❌ | 显示最近多少条消息,默认 30 |
|
--type | ❌ | 只显示指定类型的消息,如 audio, file, text, image |
环境变量
需要设置飞书应用认证:
CODEBLOCK3
飞书语音 TTS 技能
当用户要求给飞书发语音、在飞书里读这段话或类似需求时,执行以下流程:
核心流程
- 1. MOSS-TTS 生成 WAV → 2. ffmpeg 转 opus → 3. 上传飞书 → 4. 发送语音消息
前置要求
- - 系统已安装 ffmpeg
- 已配置环境变量 MOSSAPIKEY(MOSS-TTS API Key)
- 飞书配置在 OpenClaw 安装时已自动完成
使用方法
命令行模式
bash
基本用法
python scripts/feishu
tts.py --text 要发送的文本 --chatid 飞书群ID
指定音色
python scripts/feishu
tts.py --text 文本 --voiceid 音色ID --chat_id 群ID
发送给个人(需要 open_id)
python scripts/feishu
tts.py --text 文本 --receiveid 用户open
id --receiveid
type openid
参数说明
| 参数 | 必填 | 说明 |
|---|
| --text | ✅ | 要转语音的文本 |
| --chatid |
❌ | 飞书群 ID(与 receiveid 二选一) |
| --receive
id | ❌ | 接收者 ID(openid 或 chat_id) |
| --receive
idtype | ❌ | 接收者类型:chat
id 或 openid,默认 chat_id |
| --voice_id | ❌ | MOSS 音色 ID,默认 2001286865130360832(周周) |
| --output | ❌ | 输出文件路径,默认 feishu_voice.wav |
示例
bash
给飞书群发语音
python scripts/feishu
tts.py --text 你好,我是 AI 助手 --chatid oc_xxx
给指定用户发语音
python scripts/feishu
tts.py --text 你好 --receiveid ou
xxx --receiveid
type openid
飞书权限要求
确保飞书应用已开通以下权限:
- - im:message:sendasbot - 以机器人身份发送消息
- drive:file:upload - 上传文件(发送语音消息必需)
- im:message.group:readonly - 读取群组消息(获取历史记录必需)
- im:chat:readonly - 读取会话列表
注意:需要在飞书开放平台应用配置中添加 drive:file:upload 权限并发布。
获取消息历史
脚本:get_history.py
获取飞书群消息历史,按时间排序。
bash
获取最近 24 小时的消息
python scripts/get
history.py --chatid oc_xxx
获取最近 1 小时的消息
python scripts/get
history.py --chatid oc_xxx --hours 1
获取所有消息
python scripts/get
history.py --chatid oc_xxx --all
只显示 audio 类型的消息
python scripts/get
history.py --chatid oc_xxx --type audio
显示最近 10 条
python scripts/get
history.py --chatid oc_xxx --limit 10
参数说明
| 参数 | 必填 | 说明 |
|---|
| --chat_id | ✅ | 飞书群 ID |
| --hours |
❌ | 获取最近几小时的消息,默认 24 |
| --all | ❌ | 获取所有消息(不使用时间过滤) |
| --limit | ❌ | 显示最近多少条消息,默认 30 |
| --type | ❌ | 只显示指定类型的消息,如 audio, file, text, image |
环境变量
需要设置飞书应用认证:
bash
FEISHUAPPID=你的应用ID
FEISHUAPPSECRET=你的应用密钥