← 返回 Skills 市场
yangmiok

feishu-video

作者 yangmiok · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
258
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install feishu-video
功能描述
Send voice/audio messages to Feishu (Lark) users. Converts audio files to OPUS format and sends as voice message, not file attachment. create by Alex
使用说明 (SKILL.md)

Feishu Audio Message Skill

This skill enables sending voice messages (not file attachments) to Feishu/Lark users via the Open API.

When to Use

Use this skill when:

  • User wants to send a voice message to Feishu
  • User wants to convert and send audio (MP3, WAV, etc.) as a voice message
  • User specifies they want audio message, not file upload

Requirements

  1. ffmpeg - Required for audio conversion to OPUS format
  2. Node.js 18+ - For running the send script
  3. Feishu App Credentials:
    • App ID
    • App Secret
    • Target user's Open ID

How It Works

  1. Convert audio to OPUS - Feishu requires audio in OPUS format
  2. Upload audio file - Upload to Feishu with file_type: opus and duration
  3. Send audio message - Send with msg_type: audio

Usage

Step 1: Convert Audio to OPUS

ffmpeg -i input.mp3 -c:a libopus -b:a 32k output.opus

Step 2: Get Audio Duration

ffprobe -v quiet -show_format -print_format json input.mp3
# Look for "duration" field in output

Step 3: Run the Script

node scripts/send-voice.mjs \
  --app-id "cli_xxx" \
  --app-secret "xxx" \
  --user-id "ou_xxx" \
  --audio-file "audio.opus" \
  --duration 3480

Or use environment variables:

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 Details

1. Get Tenant Access Token

POST https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal

2. Upload Audio File

POST https://open.feishu.cn/open-apis/im/v1/files
Content-Type: multipart/form-data

file_type: opus
file_name: voice.opus
duration: \x3Cmilliseconds>
file: \x3Cbinary>

3. Send Audio Message

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\"}"
}

Important Notes

  • Audio MUST be OPUS format - MP3/WAV will fail
  • Duration is in milliseconds
  • The app must have Bot capability enabled
  • Rate limit: 5 QPS per user/chat

Example Output

🎤 开始发送语音消息到飞书...

📁 音频文件: /path/to/voice.opus
⏱️  时长: 3480ms

✅ 获取 Tenant Access Token 成功
✅ 上传语音文件成功, file_key: file_v3_00uh_xxx
✅ 发送语音消息成功!
消息 ID: om_x100b5731827e6ca4b10d48c15dfa3ab

🎉 完成!

Troubleshooting

Error Solution
file type not support Convert to OPUS format
duration is required Add duration parameter
permission denied Check app has messaging scope
user not found Verify user Open ID
安全使用建议
This skill's code correctly implements converting and sending audio/video to Feishu, but the registry entry is inconsistent: it does not declare required binaries (ffmpeg/ffprobe) or the Feishu credentials the scripts need. Before installing or running: (1) confirm you trust the author and repository source; (2) only provide FEISHU_APP_ID and FEISHU_APP_SECRET to this code if the app has the minimal required scopes (messaging/file upload) and you understand the app's privileges; (3) run the scripts in an isolated environment (container) if you want to limit risk; (4) verify ffmpeg/ffprobe are from trusted packages; and (5) ask the publisher to correct the registry metadata to list required binaries and required environment variables so automated review and permission prompts are accurate.
功能分析
Type: OpenClaw Skill Name: feishu-video Version: 1.0.0 The skill bundle provides legitimate functionality for converting and sending audio and video messages to Feishu (Lark) via its Open API. It utilizes standard tools like ffmpeg and ffprobe for media processing and follows official Feishu API patterns for authentication and file uploading. No evidence of data exfiltration, malicious execution, or prompt injection was found; the scripts (scripts/send-voice.mjs, scripts/send-video.mjs, and scripts/convert-audio.sh) correctly handle parameters and use secure process execution methods (execFileSync) to mitigate injection risks.
能力评估
Purpose & Capability
The scripts (send-voice.mjs, send-video.mjs, convert-audio.sh) and SKILL.md all implement sending OPUS audio and MP4 video to Feishu using the Open API — this matches the skill's described purpose. However the registry metadata claims no required binaries or environment variables while SKILL.md and the scripts explicitly require ffmpeg/ffprobe and Feishu App credentials (app_id/app_secret and target user/chat ids). The omission in the declared requirements is an incoherence.
Instruction Scope
SKILL.md instructs the agent to convert audio to OPUS, get duration, obtain a tenant access token from Feishu, upload the file, and send the audio/video message. The instructions reference only local audio/video files and the Feishu Open API endpoints; they do not ask for unrelated system files or external endpoints outside Feishu. The runtime behavior described is within the stated purpose.
Install Mechanism
There is no install spec (instruction-only registry entry) and the repository contains CLI scripts. Nothing in the manifest downloads or executes code from remote URLs or adds persistent system-wide hooks. Risk from installation is low; however the skill relies on system binaries (ffmpeg, ffprobe) that must be present but are not declared in registry metadata.
Credentials
The scripts require Feishu App credentials (app_id and app_secret) supplied either as CLI arguments or environment variables (FEISHU_APP_ID, FEISHU_APP_SECRET). The registry metadata listed no required env vars or primary credential. Requesting these credentials is proportional to the skill's purpose, but the metadata omission is a red flag (it prevents automated gating and review of requested secrets). No unrelated secrets or extra cloud credentials are requested by the code.
Persistence & Privilege
The skill does not request 'always: true' or any persistent elevated privilege. It doesn't modify other skills or system-wide configuration. Autonomous invocation is enabled by default but that is normal; no additional persistence was observed.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install feishu-video
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /feishu-video 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of Feishu Audio Message skill. - Send voice/audio messages to Feishu (Lark) users as actual voice messages, not file attachments. - Automatically converts MP3, WAV, and other audio to OPUS format (requires ffmpeg). - Requires Feishu app credentials and target user's Open ID. - Includes step-by-step instructions for converting audio and sending messages. - Provides troubleshooting tips for common errors.
元数据
Slug feishu-video
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

feishu-video 是什么?

Send voice/audio messages to Feishu (Lark) users. Converts audio files to OPUS format and sends as voice message, not file attachment. create by Alex. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 258 次。

如何安装 feishu-video?

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

feishu-video 是免费的吗?

是的,feishu-video 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

feishu-video 支持哪些平台?

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

谁开发了 feishu-video?

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

💬 留言讨论