Feishu File Send
发送文件到飞书。支持图片、音频、文档等任意文件类型。
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 1 · 193 · 1 current installs · 2 all-time installs
by@Tazio7
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name and description (send files to Feishu) match the runtime instructions: all examples show calling the platform's message(...) helper with channel="feishu" and a local file path. There are no unrelated dependencies, credentials, or install steps requested.
Instruction Scope
SKILL.md confines actions to creating or selecting files in the user's workspace and invoking message(action="send", channel="feishu", media=...). Example snippets show writing a PDF via a local Python subprocess and then sending it. While the examples include a hard-coded user path (/Users/wangbotao/...) and use subprocess.run (which runs local code), those are example usages to create local files and are coherent with the skill's purpose; the instructions do not ask for unrelated files, environment variables, or external endpoints.
Install Mechanism
No install spec and no code files — instruction-only. Nothing is downloaded or written to disk by the skill itself, so install risk is minimal.
Credentials
The skill declares no required environment variables, credentials, or config paths. It references Feishu permissions (im:message, drive:file) as expected for sending files, but does not request any secrets. This is proportionate to the stated functionality.
Persistence & Privilege
Flags are default (always:false, user-invocable:true, model invocation enabled) and the skill does not request persistent presence or modify other skills or system settings.
Scan Findings in Context
[no-regex-findings] expected: Regex scanner had nothing to analyze because this is an instruction-only skill with no code files; that is expected for such skills.
Assessment
This skill appears to be what it claims: an instruction-only helper for sending local files to Feishu using the agent's message(...) tool. Before installing, ensure your agent's message tool already has valid Feishu authorization (im:message, drive:file) so sends will succeed. Be aware that example snippets run local Python subprocesses and reference a specific filesystem path (/Users/wangbotao/.openclaw/workspace); adapt paths to your environment and avoid running unreviewed shell/python commands you don't understand. Because the skill requests no credentials or installs, the technical risk is low, but always confirm the agent only sends files you intend and that workspace files do not contain sensitive secrets.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.0
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
Feishu File Send Skill
通过飞书发送文件(图片、音频、文档等)。
发送方法
使用 message 工具(推荐)
# 发送图片
message(action="send", channel="feishu", media="/absolute/path/to/image.png", caption="图片描述")
# 发送文件(HTML、PDF、音频等)
message(action="send", channel="feishu", media="/absolute/path/to/file.pdf", caption="文件描述")
# 发送音频录音
message(action="send", channel="feishu", media="~/.openclaw/workspace/recording_latest.wav", caption="录音已降噪处理")
关键参数
action: 必须为"send"channel: 必须为"feishu"media: 文件绝对路径(推荐)file_path: 文件路径(别名)path: 文件路径(别名)caption: 文件描述(可选)
⚠️ 重要规则
-
文件必须在 workspace 目录(安全策略 CVE-2026-26321)
- 不要用
/tmp/路径发送 - 先复制到 workspace 再发送
- 不要用
-
不要用
message参数发送文件- 用户将无法收到!
- 使用
media、file_path或path参数
-
使用绝对路径
- 推荐:
~/.openclaw/workspace/filename - 或:
/Users/wangbotao/.openclaw/workspace/filename
- 推荐:
工作目录
- 建议将文件复制到工作目录
~/.openclaw/workspace/后发送 - 使用绝对路径
示例
发送录音
# RecordMic.app 已自动复制到 workspace
message(action="send", channel="feishu", media="~/.openclaw/workspace/recording_latest.wav", caption="录音已降噪处理")
发送图片
message(action="send", channel="feishu", media="~/.openclaw/workspace/screenshot.png", caption="屏幕截图")
发送文档
message(action="send", channel="feishu", media="~/.openclaw/workspace/report.pdf", caption="报告")
创建并发送 PDF(完整流程)
# 1. 创建 PDF 文件(内容:12345)
# 使用 Python 创建最小 PDF
import subprocess
subprocess.run(['python3', '-c', '''
pdf_content = """%PDF-1.4
1 0 obj
<< /Type /Catalog /Pages 2 0 R >>
endobj
2 0 obj
<< /Type /Pages /Kids [3 0 R] /Count 1 >>
endobj
3 0 obj
<< /Type /Page /Parent 2 0 R /MediaBox [0 0 612 792] /Contents 4 0 R /Resources << /Font << /F1 5 0 R >> >> >>
endobj
4 0 obj
<< /Length 44 >>
stream
BT /F1 24 Tf 100 700 Td (12345) Tj ET
endstream
endobj
5 0 obj
<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica >>
endobj
xref
0 6
0000000000 65535 f
0000000009 00000 n
0000000058 00000 n
0000000115 00000 n
0000000266 00000 n
0000000358 00000 n
trailer
<< /Size 6 /Root 1 0 R >>
startxref
433
%%EOF"""
with open('/Users/wangbotao/.openclaw/workspace/test.pdf', 'w') as f:
f.write(pdf_content)
print('Created test.pdf')
'''], cwd='/Users/wangbotao/.openclaw/workspace')
# 2. 发送 PDF
message(action="send", channel="feishu", media="/Users/wangbotao/.openclaw/workspace/test.pdf", caption="test.pdf - 内容:12345")
测试结果(2026-03-10): 成功创建并发送 test.pdf,文件大小 580 字节,messageId: om_x100b55c3299cd8a0c2c3dc260402e23
故障排除
发送失败
- 检查文件是否在 workspace 目录
- 不要用 /tmp/ 路径
- 文件大小是否合理(> 1KB)
- 检查飞书权限(im:message, drive:file)
用户收不到
- 确认使用了
media、file_path或path参数 - 不要用
message参数发送文件 - 检查 channel 是否为 "feishu"
更新日志
- 2026-03-10: 创建 skill,文档化飞书文件发送方法
Files
2 totalSelect a file
Select a file to preview.
Comments
Loading comments…
