返回顶部
f

feishu-send-files

飞书文件批量发送技能,支持机器人触发和命令行调用,自动配置,零依赖

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.1
安全检测
已通过
140
下载量
0
收藏
概述
安装方式
版本历史

feishu-send-files

# feishu-send-files 技能说明 ## 基础信息 - **技能名称**:feishu-send-files - **触发指令**:发文件 / 帮我发 / 发送文件 / 自然语言 - **运行入口**:index.js - **日志路径**:技能目录下 logs/ - **依赖**:无外部依赖(仅 Node.js 内置模块) ## ⚠️ 重要:两种触发模式的区别 ### 模式 1:机器人触发(推荐) **在群里@机器人 或 私聊@机器人**,直接说: ``` 发文件 /path/to/file.pptx 发一下这个 PPT ``` ✅ **自动识别发送目标**: - 群里@机器人 → 发到当前群 - 私聊@机器人 → 发到私聊 ### 模式 2:命令行调用(手动指定) **在终端运行**: ```bash cd /home/node/.openclaw/workspace/skills/feishu-send-files node index.js --file "/path/to/file.pptx" --to "chat:群聊 ID" ``` ⚠️ **必须手动指定发送目标**: - `--to "chat:oc_xxx"` → 发到群聊 - `--to "open_id:ou_xxx"` → 发到个人 - **不传 `--to` 参数 → 默认发到个人**(容易发错!) --- ## 功能描述 飞书文件发送技能,支持三种模式: ### 1. 精确路径模式(机器人触发) ``` 发文件 /home/node/test.pptx ``` ### 2. 文件名搜索模式(机器人触发) ``` 发文件 test.pdf ``` 自动在 workspace 目录查找。 ### 3. 模糊匹配 + 交互式选择(机器人触发) ``` 把 workspace 里面那个 PPT 文件发给我 发一下 Excel 文件 ``` 机器人搜索→展示列表→让你选择→发送。 **核心特性**: - ✅ 递归搜索 workspace 目录(3 层深度) - ✅ 智能关键词提取(中文 + 英文) - ✅ 自动文件类型识别(12 种常见格式) - ✅ 交互式选择(数字/文件名) - ✅ **批量发送(多文件选择)** - 回复 `1,2,3` 或 `all` - ✅ 文件大小显示 - ✅ 完整日志记录 - ✅ 错误处理和状态反馈 ## 触发规则 ```json { "triggers": [ {"type": "exact_match", "value": "发文件"}, {"type": "prefix_match", "value": "发文件 "}, {"type": "mention", "value": "发文件"}, {"type": "prefix_match", "value": "帮我发"}, {"type": "prefix_match", "value": "发一下"}, {"type": "prefix_match", "value": "把文件"}, {"type": "prefix_match", "value": "发送文件"}, {"type": "prefix_match", "value": "发这个文件"}, {"type": "prefix_match", "value": "发那个文件"}, {"type": "contains", "value": "发文件"}, {"type": "contains", "value": "发送文件"} ] } ``` ## 快速使用指南 ### ✅ 推荐:群里@机器人发送 ``` @机器人 发文件 /path/to/file.pptx @机器人 发一下这个 PPT ``` **优点**:自动识别群聊/私聊,不会发错! ### ⚠️ 命令行调用(需要手动指定目标) ```bash # 发到群聊 node index.js --file "/path/to/file.pptx" --to "chat:oc_群聊 ID" # 发到个人 node index.js --file "/path/to/file.pptx" --to "open_id:ou_用户 ID" # 不传 --to 参数 → 默认发到个人(容易发错!) ``` ## 命令行参数说明 | 参数 | 说明 | 示例 | |------|------|------| | `--file` | 文件路径(可多次) | `--file "/path/a.pptx" --file "/path/b.pdf"` | | `--files` | 多个文件(逗号分隔) | `--files "/path/a.pptx,/path/b.pdf"` | | `--search` | 搜索关键词 | `--search "PPT"` | | `--to` | **必须指定**发送目标 | `--to "chat:oc_xxx"` 或 `--to "open_id:ou_xxx"` | ## 使用示例 ### 精确路径(机器人触发) ``` 发文件 /home/node/test.pptx @机器人 发文件 /path/to/data.xlsx ``` ### 文件名搜索(机器人触发) ``` 发文件 test.pdf 帮我发一下 report.docx ``` ### 模糊匹配(机器人触发) ``` 把 workspace 里面那个 PPT 文件发给我 发一下 Excel 文件 帮我发会议纪要 发送那个 PDF ``` **机器人响应**: ``` 找到 3 个匹配文件,请选择: 1. test.pptx (2.3 MB) 2. 交易报告.pptx (1.8 MB) 3. 会议纪要.pptx (856 KB) 回复数字选择(如:1)或输入多个数字(如:1,2,3)或输入 "all" 发送全部 ``` **批量发送示例**: ``` 用户:发 PPT 文件 机器人:找到 3 个文件...请选择 用户:1,3 机器人:✅ 发送完成!成功 2/2 个文件 ``` ## 快速排错 | 问题 | 解决方法 | |------|----------| | **文件发错地方(发到个人而不是群里)** | 机器人触发时自动识别;命令行调用必须加 `--to "chat:群聊 ID"` | | 文件名异常 | 使用最终版 index.js | | 无日志 | 赋权 logs 目录:`chmod -R 777 logs` | | 机器人无响应 | 重启 OpenClaw,检查文件路径 | | 发送失败 | 检查飞书权限与 appId/appSecret 配置 | | token 获取失败 | 检查 appId/appSecret 是否正确 | | 文件上传失败 | 检查文件大小(≤30MB)和网络 | | 未找到匹配文件 | 检查关键词是否准确,或用绝对路径 | | 多个匹配文件 | 机器人会列出列表,回复数字或文件名选择 | ## 最佳实践 ✅ **推荐**:在群里@机器人发送文件(自动识别群聊) ❌ **避免**:命令行调用时忘记加 `--to` 参数(会发到个人) ## 技术实现 - **Token 获取**:使用 tenant_access_token 内部门户 API - **文件上传**:multipart/form-data 表单上传到飞书文件接口 - **消息发送**:使用 file_key 发送文件消息 - **日志记录**:同步追加写入,确保不丢失 - **路径提取**:智能识别绝对路径、相对路径、workspace 目录文件 - **模糊搜索**:递归搜索 + 关键词匹配 + 扩展名过滤 - **交互式选择**:展示文件列表,等待用户选择 ## 权限要求 - im:message:send_as_bot - im:message:send_to_chat - im:message:send_to_open_id

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 feishu-send-files-1776027706 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 feishu-send-files-1776027706 技能

通过命令行安装

skillhub install feishu-send-files-1776027706

下载 Zip 包

⬇ 下载 feishu-send-files v1.0.1

文件大小: 11.9 KB | 发布时间: 2026-4-13 10:16

v1.0.1 最新 2026-4-13 10:16
- Improved documentation to clearly distinguish between bot-triggered and command line modes, emphasizing correct usage to avoid sending files to the wrong recipient.
- Added detailed instructions and table for command line arguments, including --file, --files, --search, and --to parameters.
- Clarified best practices, highlighting the recommendation to trigger via bot mention for safest recipient targeting.
- Included troubleshooting for common mistakes, especially misdirected file sends when using command line without explicit --to.
- Added a new metadata file for enhanced skill management.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部