核心用法
Feishu File Sender 是一个为 OpenClaw 生态设计的桥接技能,解决官方飞书渠道插件仅支持文本消息、无法投递文件的架构缺陷。该技能通过 Python 脚本直接调用飞书 OpenAPI,实现本地文件的上传与消息投递。
使用流程:
1. 自动识别当前工作区,从 ~/.openclaw/openclaw.json 读取对应 agent 的飞书应用凭证(appId/appSecret)
2. 调用飞书"上传文件" API 获取 file_key
3. 调用飞书"发送消息" API 将文件投递至指定聊天
命令示例:
python3 scripts/feishu_file_sender.py \ --file /absolute/path/to/report.xlsx \ --receive-id oc_xxx
支持自动识别 receive_id_type(通过 oc_/ou_/on_ 前缀),也可通过环境变量 OPENCLAW_CHAT_ID 隐式传入目标 ID。
显著优点
- 零配置桥接:无需修改 OpenClaw 核心或渠道插件,以独立技能形式填补功能空白
- 凭证隔离:按 agent 自动匹配飞书应用配置,支持多租户/多应用部署
- 智能降级:ID 类型自动推断,降低使用门槛
- MIT 开源:可自由审计、修改与二次分发
潜在局限与风险
局限:
- 依赖本地 Python3 运行时,非纯 OpenClaw 原生实现
- 需预配置
openclaw.json的 channels.feishu 结构,首次部署有门槛 - 不支持文件内容预览或富文本格式控制,仅基础文件投递
风险:
- 凭证以明文形式存储于本地 JSON,依赖文件系统权限保护
- 脚本拥有飞书 API 调用权限,若被非授权调用可能导致信息外泄
- 错误码 230002(机器人不在群内)需人工处理,无自动加群能力
适合人群
- 使用 OpenClaw 构建飞书机器人的开发者
- 需要将生成文件(报表、文档、图片)自动回传至飞书聊天的自动化场景
- 企业 IT 管理员,寻求最小侵入性的飞书文件投递方案
安全建议
建议将 ~/.openclaw/openclaw.json 权限设为 600,并定期轮换 appSecret;生产环境可考虑通过环境变量注入凭证,避免磁盘持久化存储。