核心用法
feishu-file-sender 是 OpenClaw 代理生态的配套工具,用于填补"Agent 能生成文件但无法直接发送到飞书"的能力缺口。其核心工作流为:
1. 凭证自动发现:通过当前工作目录匹配 OpenClaw 工作空间,从 ~/.openclaw/openclaw.json 读取对应 Agent 绑定的飞书 appId/appSecret
2. 文件上传:调用飞书 OpenAPI 的 Upload File 接口,获取 file_key
3. 消息投递:调用 Send Message 接口,将文件以可下载附件形式发送到指定会话
支持全格式(Excel、Word、PPT、PDF、图片、代码文件等),通过 --receive-id 或环境变量 OPENCLAW_CHAT_ID 指定目标会话,ID 类型(chat_id/open_id/user_id)可自动识别前缀推断。
显著优点
- 零配置集成:读取 OpenClaw 既有配置,无需额外填写凭证
- 全格式通用:不限制文件类型,依赖飞书原生文件处理能力
- 会话感知:优先使用当前对话上下文,符合 Agent 交互直觉
- 轻量独立:单 Python 脚本实现,依赖仅
python3
潜在缺点与局限性
- 生态绑定:深度依赖 OpenClaw 配置体系,脱离该环境无法独立运行
- 凭证集中风险:多 Agent 共享
~/.openclaw/openclaw.json,误配置可能导致凭证串用 - Bot 准入限制:目标群组必须预先添加该飞书机器人,否则报错
230002 - 无加密传输声明:凭证和文件均通过 HTTPS 传输,但脚本未额外实现本地加密或密钥托管
- 单租户模式:一次调用仅支持单一飞书企业租户
适合人群
- OpenClaw 平台用户,需将 Agent 输出文件自动推送到飞书协作场景
- 企业自动化工作流开发者,构建"生成-审核-分发"闭环
- 内部工具团队,需低代码方式实现文件通知机器人
常规风险
| 风险类别 | 说明 |
|---------|------|
| 凭证泄露 | `openclaw.json` 包含 appSecret,需确保文件权限为 `600` 且不在版本控制中 |
| 越权发送 | 脚本不校验发送者身份与文件内容敏感性,需上层 Agent 控制权限 |
| 会话误投 | `receive_id` 错误可能导致文件发送到非预期群组,建议结合白名单校验 |
| API 限流 | 高频调用可能触发飞开放平台速率限制,需实现退避重试机制(当前未内置) |