接入方式
本项目使用飞书长连接(WebSocket)接收消息,无需公网 URL、无需域名备案、无需配置 Webhook。
在开发者后台事件订阅中选择「使用长连接接收事件」,不要选「将事件发送至开发者服务器」。
启动 Bot
在项目根目录执行(需已创建 .venv 并配置 .env):
.venv/bin/python scripts/feishu_echo_bot.py
启动成功日志应出现 connected to wss://msg-frontier.feishu.cn/ws/v2。保持进程运行,Ctrl+C 退出。
可在本地 Mac 或云服务器上运行;Bot 主动连飞书,不依赖 HTTPS 回调。
工作流 Bot 使用
- 启动长连接脚本(见上方)
- 在飞书私聊或群聊 @ 机器人,直接发送 .xlsx 文件
- Bot 解析完成后回复数据大屏链接
- 发送「帮助」「上传」「分析」可查看使用说明
与 Web 页 AI 工作流 共用同一解析引擎,支持科目余额表 / 通用业务表格。
环境变量
| 变量名 | 说明 |
|---|---|
FEISHU_APP_ID / FEISHU_APP_SECRET | 必填,开发者后台凭证 |
PUBLIC_APP_URL | 回复中的大屏链接前缀 |
FEISHU_BITABLE_APP_TOKEN / FEISHU_BITABLE_TABLE_ID | 可选,多维表格任务记录 |
开发者后台配置
- 登录 飞书开放平台 → 进入自建应用
- 应用能力 → 添加「机器人」
- 权限管理 → 开通下方权限
- 事件与回调 → 事件配置 → 选「使用长连接接收事件」
- 添加事件
im.message.receive_v1 - 先启动 Bot 脚本,再在后台保存事件配置
- 版本管理与发布 → 发布应用 → 飞书内搜索机器人测试
权限清单
im:message.p2p_msg:readonly— 读取单聊消息im:message:send_as_bot— 发送/回复消息im:message.group_at_msg:readonly— 读取群聊 @ 消息im:resource— 下载 Excel 文件bitable:app— 多维表格记录(可选)
多维表格(可选)
建表列名:任务ID、用户、文件名、状态(处理中/完成/失败)、会话ID、大屏链接、标题、错误信息、创建时间。将 app_token 与 table_id 写入 .env。
测试步骤
- 单聊:搜索应用 → 发送
.xlsx→ 收到数据大屏链接 - 群聊:添加机器人 →
@机器人发送 Excel - 帮助:发送「帮助」→ 收到使用说明