飞书渠道配置指南
飞书渠道可以把一个 AskTable 智能体连接到飞书机器人。配置完成后,用户可以在飞书单聊或群聊中向机器人提问,AskTable 会把飞书消息转成智能体对话,并将智能体回复发送回飞书。
适用场景
- 希望业务人员直接在飞书中查询数据、追问分析结果。
- 希望把已经配置好的 AskTable 智能体接入企业 IM。
- 私有部署环境需要用飞书机器人提供内部数据问答入口。
当前飞书渠道以文本对话为主。图片、文件、语音等非文本消息不会进入智能体处理流程。
工作方式
AskTable 的飞书接入由 Feishu Gateway 服务完成。它不保存业务数据,也不执行智能体逻辑,只负责飞书长连接和 AskTable Server 之间的消息转发。
飞书用户
|
| 发送文本消息
v
飞书开放平台
|
| 长连接事件 im.message.receive_v1
v
Feishu Gateway
|
| Redis: at:channel:inbound / at:channel:outbound:feishu
v
AskTable Server
|
| 调用绑定的 AskTable 智能体
v
Feishu Gateway
|
| 飞 书消息回复 API
v
飞书用户
Feishu Gateway 使用飞书开放平台的长连接能力,不需要在飞书后台配置公网 Webhook 请求地址。
前提条件
开始配置前,请确认:
- AskTable 已完成部署,并且可以正常登录控制台。
- 需要接入飞书的 AskTable 智能体已经创建完成。
- 私有部署环境已启用
asktable_feishu_gateway服务。 - 你拥有飞书开放平台中创建和配置企业自建应用的权限。
- 你拥有 AskTable 项目的管理员权限,可以编辑智能体渠道配置。
第一步:启用 Feishu Gateway
如果使用 AskTable 的 Docker Compose 部署,飞书网关服务在部署文档中默认标注为选填。需要飞书 IM 接入 时,取消相关注释并启动服务。
asktable_feishu_gateway:
image: registry.cn-shanghai.aliyuncs.com/datamini/asktable-feishu-gateway:latest
# image: datamini/asktable-feishu-gateway:latest
container_name: asktable_feishu_gateway
restart: unless-stopped
depends_on:
- asktable_redis
environment:
TZ: Asia/Shanghai
REDIS_URL: redis://asktable_redis:6379
然后重新启动服务:
docker compose up -d
可用以下命令检查网关日志:
docker logs -f asktable_feishu_gateway
看到类似 Feishu Gateway running 的日志,表示网关进程已启动。真正连通飞书还需要完成后续应用凭证和事件配置。
第二步:创建飞书企业自建应用
- 打开 飞书开放平台。
- 选择企业,创建「企业自建应用」。
- 填写应用名称、描述和图标。建议名称能让用户识别这是 AskTable 数据助手。
- 创建完成后,进入应用详情页。
第三步:获取应用凭证
在飞书应用详情页进入「凭证与基础信息」,复制以下字段:
| 字段 | 是否必填 | 用途 |
|---|---|---|
| App ID | 必填 | AskTable 用它识别飞书应用 |
| App Secret | 必填 | AskTable 用它连接飞书长连接并调用回复接口 |
App Secret 是敏感信息,只应填写到 AskTable 的飞书渠道配置中,不要发送到群聊、工单或公开文档。
第四步:配置机器人能力和权限
在飞书应用后台完成以下配置:
- 进入「应用能力」,启用机器人能力。
- 进入「权限管理」,添加消息相关权限。
- 至少需要允许应用接收用户发送给机器人的消息,并以机器人身份回复消息。
- 保存后发布应用版本,并等待企业管理员审批通过。
飞书开放平台的权限名称可能会随版本调整。配置时请以飞书后台实际展示为准,重点确认应用具备以下能力:
- 接收机器人单聊或群聊中的消息事件。
- 以机器人身份发送或回复消息。
第五步:订阅消息事件
AskTable 当前使用飞书长连接模式接收事件。请在飞书应用后台进入「事件与回调」或「事件订阅」相关页面:
- 选择长连接或事件订阅能力。
- 订阅
im.message.receive_v1事件。 - 如果飞书后台要求填写
Encrypt Key或Verification Token,复制这两个值,后续填入 AskTable;如果未启用加密或页面没有要求,可以留空。 - 发布应用版本,确保新权限和事件订阅生效。
不需要为 AskTable Feishu Gateway 配置 https://.../callback 形式的请求地址。网关会主动通过飞书长连接接收事件。
第六步:在 AskTable 中配置飞书渠道
- 登录 AskTable 控制台。
- 进入需要接入飞书的项目。
- 打开目标智能体的编辑页面。
- 切换到「频道」页签。
- 开启「飞书」渠道。
- 填写飞书应用凭证。
| 配置项 | 是否必填 | 说明 |
|---|---|---|
| App ID | 新建时必填 | 飞书应用的 App ID |
| App Secret | 新建时必填 | 飞书应用的 App Secret |
| Encrypt Key | 可选 | 飞书事件加密密钥。启用事件加密时填写 |
| Verification Token | 可选 | 飞书事件验证 Token。飞书后台要求校验时填写 |
- 点击保存。
- 在同一页面查看运行状态,必要时点击刷新。
状态显示为「已连接」后,说明 AskTable Server 已把渠道配置同步到 Feishu Gateway,且网关已经建立飞书连接。
第七步:在飞书中安装和测试
- 在飞书应用后台发布应用版本,并确保企业管理员已审核通过。
- 将应用安装到企业或指定用户范围。
- 在飞书中找到机器人,发起单聊测试。
- 如果要在群聊中使用,将机器人添加到目标群。
- 发送一个文本问题,例如:
- 「本周新增了 多少客户?」
- 「昨天销售额最高的门店是哪家?」
- 「帮我分析一下最近 7 天订单量变化。」
AskTable 会为同一飞书发送者和同一渠道保持一段会话上下文。用户连续追问时,智能体会沿用之前的对话上下文。
验证与排查
渠道一直显示未连接
请依次检查:
asktable_feishu_gateway容器是否正在运行。- Feishu Gateway 的
REDIS_URL是否指向 AskTable 使用的同一个 Redis。 - AskTable Server 是否能访问同一个 Redis。
- App ID 和 App Secret 是否填写正确。
- 飞书应用是否已发布并通过企业管理员审批。
- 是否已订阅
im.message.receive_v1事件。
飞书能收到消息,但 AskTable 没有回复
请检查:
- 飞书应用是否具备机器人回复消息所需权限。
- 用户发送的是否是文本消息。
- 绑定的 AskTable 智能体是否能在 AskTable 控制台中正常对话。
- Feishu Gateway 日志中是否有 outbound 或 reply API 错误。
群聊中没有响应
请检查:
- 机器人是否已添加到该群。
- 群内是否允许机器人接收消息。
- 飞书应用的可用范围是否包含该群成员。
- 权限和事件订阅变更后,应用是否重新发布并审批。
修改凭证后没有生效
在 AskTable 智能体的「频道」页签重新保存飞书配置,然后刷新连接状态。必要时重启 asktable_feishu_gateway 容器,让网关重新加载渠道配置。