auto-file-sender
/install auto-file-sender
Auto File Sender
Overview
This skill enables automatic file delivery from the workspace to Feishu/Lark users. When files are generated (documents, PDFs, images, etc.), they can be automatically sent to specified recipients without manual intervention.
Key Capabilities:
- Auto-detect new files in workspace
- Send via Feishu message with file attachment
- Support batch sending of multiple files
- Configurable file type filters and recipient rules
Quick Start
Basic Usage
When a file is ready to send:
// Single file
{
"action": "send",
"filePath": "/root/.openclaw/workspace/document.docx",
"filename": "document.docx",
"message": "Here's your file!",
"target": "user_open_id"
}
Auto-Send on File Creation
The skill provides a helper script to watch for new files and auto-send:
# Watch workspace and auto-send new files
python3 scripts/auto_send.py --watch /root/.openclaw/workspace --recipient USER_OPEN_ID
Workflow
Step 1: Identify Files to Send
Check for recently created/modified files:
# List files created in last 10 minutes
find /root/.openclaw/workspace -type f -mmin -10
Step 2: Send Files
Use the message tool with filePath parameter:
{
"action": "send",
"filePath": "\x3Cabsolute-path-to-file>",
"filename": "\x3Cdisplay-filename>",
"message": "\x3Coptional-message>",
"target": "\x3Crecipient-open-id>"
}
Parameters:
filePath: Absolute path to the file (required)filename: Display name for the file (optional, defaults to basename)message: Accompanying text message (optional)target: Recipient open_id (defaults to current user if omitted)
Step 3: Confirm Delivery
Check the response for successful delivery:
messageId: ID of the sent messagechatId: ID of the chat/channel
Supported File Types
| Type | Extensions | Max Size |
|---|---|---|
| Documents | .docx, .doc, .pdf | 30MB |
| Images | .jpg, .png, .gif, .webp | 30MB |
| Spreadsheets | .xlsx, .xls, .csv | 30MB |
| Archives | .zip, .tar.gz | 30MB |
| Others | Any | 30MB |
Batch Sending
To send multiple files at once:
// Send files sequentially
for (const file of files) {
await message.send({
action: "send",
filePath: file.path,
filename: file.name
});
}
Configuration
Default Settings
- Source directory:
/root/.openclaw/workspace - Max file size: 30MB (Feishu limit)
- Auto-recipient: Current conversation user
Custom Recipient
To send to a specific user:
{
"action": "send",
"target": "ou_a65105519c863f8544fb22b40c468063", // User's open_id
"filePath": "/path/to/file"
}
Scripts
scripts/auto_send.py
Python script for watching directories and auto-sending files.
Usage:
python3 scripts/auto_send.py [options]
Options:
--watch PATH Directory to watch (default: workspace)
--recipient ID Target recipient open_id
--pattern PATTERN File pattern to match (default: *)
--once Send existing files and exit (don't watch)
Examples:
# Watch and auto-send all new PDFs
python3 scripts/auto_send.py --pattern "*.pdf" --recipient USER_ID
# One-time send of all docx files
python3 scripts/auto_send.py --pattern "*.docx" --once
Troubleshooting
File Not Found
- Ensure file path is absolute
- Verify file exists:
ls -la \x3Cfilepath> - Check file permissions
Send Failed
- Verify file size \x3C 30MB
- Check recipient open_id is correct
- Ensure bot has permission to send files
Large Files
For files > 30MB:
- Compress:
zip -r output.zip large_file - Split:
split -b 25M large_file part_ - Use cloud storage and send link instead
Best Practices
- Always verify files exist before sending
- Use descriptive filenames for better organization
- Batch similar files to reduce API calls
- Clean up sent files periodically to save space
- Log sent files for tracking (optional)
Examples
Example 1: Send Generated Document
User: "Generate a report and send it to me"
// After generating the report
{
"action": "send",
"filePath": "/root/.openclaw/workspace/report_2024.docx",
"filename": "Annual_Report_2024.docx",
"message": "Here's your annual report!"
}
Example 2: Send Multiple Files
User: "Send all the PDFs in my workspace"
# Find and send all PDFs
find /root/.openclaw/workspace -name "*.pdf" -exec \
python3 -c "import sys; print(sys.argv[1])" {} \;
Then send each file using the message tool.
Example 3: Auto-Send on Completion
After a long-running task generates output:
// Task completed, auto-send result
{
"action": "send",
"filePath": "/root/.openclaw/workspace/output.pdf",
"message": "Task completed! Here's your file."
}
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install auto-file-sender - 安装完成后,直接呼叫该 Skill 的名称或使用
/auto-file-sender触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
auto-file-sender 是什么?
Automatically send files from workspace to Feishu/Lark when files are generated or updated. Use when: (1) User creates new documents and wants them delivered... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 200 次。
如何安装 auto-file-sender?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install auto-file-sender」即可一键安装,无需额外配置。
auto-file-sender 是免费的吗?
是的,auto-file-sender 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
auto-file-sender 支持哪些平台?
auto-file-sender 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 auto-file-sender?
由 timyljob2011-sudo(@timyljob2011-sudo)开发并维护,当前版本 v1.0.1。