核心用法
feishu-send-file 是飞书生态中专门处理普通文件传输的补足型技能。飞书 API 对文件类型有严格区分:图片、视频可直接通过 message 工具的 media 参数发送,但 HTML、PDF、ZIP、代码文件等普通附件必须走「上传-获取 file_key-发消息」的两步流程。本技能封装了这一繁琐过程,提供脚本化一键方案与手动 REST API 两种模式。
显著优点
- 流程封装:将租户令牌获取、文件上传、消息发送三个 API 调用收敛为单条命令,降低 70% 以上的集成代码量
- 配置透明:明确标注从
openclaw.json读取 appId/appSecret,从chat_id提取 open_id,解决飞书 ID 体系混乱的常见问题 - 类型兼容:
file_type=stream通吃所有普通文件,无需按后缀名区分 MIME 类型 - AI 友好:提供可直接嵌入 agent 执行的 Python exec 模板,适合自动化场景
潜在缺点与局限性
- 非原生集成:依赖外部 Python 脚本与 curl,非飞书官方 SDK 调用,稳定性受网络与本地环境制约
- 令牌管理粗糙:每次调用均重新获取 tenant_access_token,未做缓存复用,高频场景可能触发频率限制
- 错误处理缺失:脚本与 curl 示例均未展示失败重试、token 过期刷新、文件大小校验等生产级逻辑
- 群聊支持未验证:文档注明群聊需切换
receive_id_type为chat_id,但未提供完整示例
适合人群
- 需要向飞书用户推送报告、日志、备份文件的运维/数据工程师
- 构建飞书客服、审批通知等自动化工作流的低代码开发者
- 已将 OpenClaw 作为 agent 运行时、需扩展文件输出能力的 AI 应用开发者
常规风险
- 密钥泄露:脚本参数与 grep 命令均要求直接接触 appSecret,历史命令残留或日志记录可能导致凭证外泄
- 路径遍历:
file_path参数若未校验,可能被恶意构造为../../../etc/passwd等敏感路径 - 频率限制:飞书开放平台的 tenant_access_token 与文件上传接口均有 QPS 限制,批量推送需自行限流
- 文件持久性:飞书文件存储有有效期(通常 30 天),长期归档需用户及时下载