补齐飞书渠道缺失的文件投递能力,自动读取本地凭证调用 OpenAPI 上传并发送文件,让 agent 生成的报告/图表直达聊天窗口。
基本信息
- 技能名称?Feishu File Sender
- 中文名称?一键补齐飞书文件消息能力
- 作者?ziwenwang28
- 分类?专业技能
- 版本?1.0.9
- 标签?feishu, file-upload, openapi, messaging, automation, bridge-skill, openclaw
使用方法
使用说明
核心用法
Feishu File Sender 是 OpenClaw 生态的桥接型工具技能,专门解决飞书渠道原生不支持文件消息的架构缺口。通过直接调用飞书 OpenAPI,实现「本地文件 → 飞书云存储 → IM 消息」的完整链路。
典型场景 :Agent 生成 Excel 报表、PDF 文档或图片后,自动触发该技能将文件投递到当前聊天会话,无需用户手动下载再上传。
使用方式
python3 scripts/feishu_file_sender.py --file /path/to/report.xlsx --receive-id oc_xxx 参数设计极简:仅 --file 为必填,接收方 ID 支持自动从环境变量读取或前缀智能识别( oc_ / ou_ / on_ ),降低集成成本。
显著优点
零配置感知 :自动匹配当前工作区解析 agentId,从 ~/.openclaw/openclaw.json 读取对应凭证,无需硬编码
双 API 原子封装 :内部完成「上传获取 file_key → 发送文件消息」两步,对外暴露单一命令接口
多身份类型兼容 :支持 chat_id(群)、open_id(用户)、user_id 三种接收方标识
环境变量兜底 : OPENCLAW_CHAT_ID 等变量支持无参调用,适合流水线场景
潜在缺点与局限性
凭证耦合强 :依赖本地 OpenClaw 专属配置文件路径,非标准飞书 SDK 鉴权方式,迁移成本较高
单租户限制 :仅支持通过 tenant access token 访问,未实现多租户动态切换
无重试与幂等 :脚本级实现,未内置网络异常重试或重复发送防护
文件类型简化 :默认 stream 类型,对飞书特殊的 opus 音频等场景未做细分适配
错误码依赖人工 :230002(机器人未进群)等错误需用户自行排查,无自动修复建议
适合人群
OpenClaw 平台用户 :已深度使用 OpenClaw agent 框架的开发者
飞书企业自建应用开发者 :拥有 appId/appSecret 管理权限的技术人员
自动化报表场景 :需要将 Python/R 生成的数据文件自动投递到飞书群的 DevOps/数据团队
常规风险
| 风险类型 | 说明 | 缓解措施 | |---------|------|---------| | 凭证泄露 | ~/.openclaw/openclaw.json 包含 appSecret,若文件权限 644 可能被同服务器用户读取 | 设置 600 权限,或使用密钥管理服务 | | 越权发送 | 拿到凭证后可向任意飞书群发送文件,若 agent 被提示注入攻击可能滥用 | 绑定 agentId → 指定 accountId 的映射白名单 | | 敏感文件外泄 | Agent 生成的临时文件可能含业务数据,上传后留存飞书云端 | 配置飞书应用的数据居留策略,定期清理 | | 日志残留 | 脚本执行可能留下含 file_key 或 chat_id 的 shell history | 启用 HISTCONTROL=ignorespace 或使用子进程隔离 |
💬 评论 (0)
📭 还没有评论,快来抢沙发吧!