📦 feishu-video — 飞书语音视频

v1.0.0

将本地音频/视频转为 OPUS/MP4 并通过飞书 OpenAPI 以语音消息形式发送给指定用户,支持批量与时长获取,需自备 ffmpeg 与飞书应用凭证。

0· 207·0 当前·0 累计
下载技能包
最后更新
2026/4/18
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
可疑
medium confidence
代码与文档确实实现了向飞书发送音视频的功能,但包/注册元数据遗漏了必需的 ffmpeg/ffprobe 二进制文件及必需的飞书凭据——这一不一致需在信任安装或授予凭据前解决。
评估建议
该技能的代码正确实现了向飞书转换并发送音视频,但注册条目不一致:未声明所需二进制文件(ffmpeg/ffprobe)或脚本所需的飞书凭据。安装或运行前请:(1) 确认信任作者与仓库来源;(2) 仅当应用具备最小必要权限(消息/文件上传)并理解其权限时,才向此代码提供 FEISHU_APP_ID 与 FEISHU_APP_SECRET;(3) 若需限制风险,请在隔离环境(容器)中运行脚本;(4) 验证 ffmpeg/ffprobe 来自可信包;(5) 要求发布者修正注册元数据,列出所需二进制文件与环境变量,以便自动审核与权限提示准确。...
详细分析 ▾
用途与能力
脚本(send-voice.mjs、send-video.mjs、convert-audio.sh)与 SKILL.md 均通过 Open API 向飞书发送 OPUS 音频与 MP4 视频,符合技能描述;但注册元数据声称无需二进制文件或环境变量,而 SKILL.md 与脚本明确需要 ffmpeg/ffprobe 与飞书应用凭据(app_id/app_secret 及目标用户/聊天 ID)。声明要求的遗漏属于不一致。
指令范围
SKILL.md 指示代理将音频转为 OPUS、获取时长、从飞书获取租户访问令牌、上传文件并发送音视频消息。指令仅引用本地音视频文件与飞书 Open API 端点,未请求无关系统文件或飞书外外部端点,所述运行时行为在声明目的范围内。
安装机制
无安装规范(仅指令注册条目),仓库仅含 CLI 脚本。清单中无远程 URL 下载或执行代码,也未添加持久系统级钩子,安装风险低;但技能依赖系统二进制文件(ffmpeg、ffprobe),必须存在却未在注册元数据中声明。
凭证需求
脚本需飞书应用凭据(app_id 与 app_secret),通过 CLI 参数或环境变量(FEISHU_APP_ID、FEISHU_APP_SECRET)提供。注册元数据未列出所需环境变量或主凭据。请求这些凭据与技能目的成比例,但元数据遗漏是警示(阻碍自动门控与所请求密钥的审查)。代码未请求无关密钥或额外云凭据。
持久化与权限
技能未请求 'always: true' 或任何持久提升权限,不修改其他技能或系统级配置。默认启用自主调用属正常,未观察到额外持久化。
scripts/send-video.mjs:173
检测到 shell 命令执行(child_process)。
scripts/send-video.mjs:70
环境变量访问结合网络发送。
scripts/send-voice.mjs:62
环境变量访问结合网络发送。
scripts/send-video.mjs:140
文件读取结合网络发送(可能外泄)。
scripts/send-voice.mjs:120
文件读取结合网络发送(可能外泄)。
安全有层次,运行前请审查代码。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/15

飞书语音消息技能初始发布。 - 向飞书(Lark)用户发送语音/音频消息,作为真实语音消息而非文件附件。 - 自动将 MP3、WAV 等音频转为 OPUS 格式(需 ffmpeg)。 - 需要飞书应用凭据及目标用户 Open ID。 - 包含音频转换与发送消息的逐步说明。 - 提供常见错误排查提示。

无害

安装命令

点击复制
官方npx clawhub@latest install feishu-video
镜像加速npx clawhub@latest install feishu-video --registry https://cn.longxiaskill.com

技能文档

# Feishu 语音消息 Skill 本技能可通过 Open API 向飞书(Feishu/Lark)用户发送语音消息(非文件附件)。 ## 何时使用 当满足以下场景时使用本技能: - 用户想向飞书发送语音消息 - 用户希望将音频文件(MP3、WAV 等)转换并以语音消息形式发送 - 用户明确要求发送音频消息,而非文件上传 ## 依赖 1. ffmpeg —— 用于将音频转换为 OPUS 格式 2. Node.js 18+ —— 运行发送脚本 3. 飞书应用凭证: - App ID - App Secret - 目标用户的 Open ID ## 工作原理 1. 音频转 OPUS —— 飞书要求音频必须为 OPUS 格式 2. 上传音频文件 —— 以 file_type: opus 及时长上传至飞书 3. 发送语音消息 —— 使用 msg_type: audio 发送 ## 使用方法 ### 步骤 1:将音频转为 OPUS ``bash ffmpeg -i input.mp3 -c:a libopus -b:a 32k output.opus ` ### 步骤 2:获取音频时长 `bash ffprobe -v quiet -show_format -print_format json input.mp3 # 在输出中查找 "duration" 字段 ` ### 步骤 3:运行脚本 `bash node scripts/send-voice.mjs \ --app-id "cli_xxx" \ --app-secret "xxx" \ --user-id "ou_xxx" \ --audio-file "audio.opus" \ --duration 3480 ` 或使用环境变量: `bash export FEISHU_APP_ID="cli_xxx" export FEISHU_APP_SECRET="xxx" node scripts/send-voice.mjs --user-id "ou_xxx" --audio-file "audio.opus" --duration 3480 ` ## API 详情 ### 1. 获取 Tenant Access Token ` POST https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal ` ### 2. 上传音频文件 ` POST https://open.feishu.cn/open-apis/im/v1/files Content-Type: multipart/form-data file_type: opus file_name: voice.opus duration: file: ` ### 3. 发送语音消息 ` POST https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id { "receive_id": "ou_xxx", "msg_type": "audio", "content": "{\"file_key\":\"file_v3_xxx\"}" } ` ## 重要说明 - 音频必须为 OPUS 格式 —— MP3/WAV 会失败 - 时长单位为毫秒 - 应用必须开启机器人能力 - 频率限制:每用户/每会话 5 QPS ## 示例输出 ` 🎤 开始发送语音消息到飞书... 📁 音频文件: /path/to/voice.opus ⏱️ 时长: 3480ms ✅ 获取 Tenant Access Token 成功 ✅ 上传语音文件成功, file_key: file_v3_00uh_xxx ✅ 发送语音消息成功! 消息 ID: om_x100b5731827e6ca4b10d48c15dfa3ab 🎉 完成! ` ## 故障排查 | 错误 | 解决方案 | |-------|----------| | file type not support | 转换为 OPUS 格式 | | duration is required | 添加时长参数 | | permission denied | 检查应用是否拥有消息权限 | | user not found` | 校验用户 Open ID |

数据来源ClawHub ↗ · 中文优化:龙虾技能库