飞书频道配置
飞书频道通过 WebSocket 长连接 接收消息,无需公网 IP 或 webhook;发送走飞书开放平台 Open API。支持文本、图片、文件收发;群聊场景下会将 chat_id、message_id 放入请求消息的 metadata,便于下游去重与群上下文识别。
创建飞书应用并获取凭证
-
打开 飞书开放平台,创建企业自建应用
-
在「凭证与基础信息」中获取 App ID、App Secret
- 在 前端页面 中填写上述 App ID 和 App Secret,保存
- 执行 退出并重启软件 启动服务
-
回到飞书开放平台,在「能力」中启用 机器人
-
选择「权限管理」中的「批量导入/导出权限」,将以下JSON代码复制进去
{ "scopes": { "tenant": [ "aily:file:read", "aily:file:write", "aily:message:read", "aily:message:write", "corehr:file:download", "im:chat", "im:message", "im:message.group_msg", "im:message.p2p_msg:readonly", "im:message.reactions:read", "im:resource", "contact:user.base:readonly" ], "user": [] } }
-
在「事件与回调」中,点击「事件配置」,选择订阅方式为长连接(WebSocket) 模式(无需公网 IP)
注:操作顺序为先在前端配置 App ID/Secret → 退出并重启软件 → 再在开放平台配置长连接,如果此处仍显示错误,尝试先结束软件运行并重新启动软件。
-
选择「添加事件」,搜索接收消息,订阅接收消息 v2.0
-
在「应用发布」的「版本管理与发布」中,创建版本,填写基础信息,保存并发布
填写 App ID 和 App Secret
其他字段(encrypt_key、verification_token、media_dir)可选,WebSocket 模式可不填,有默认值。
注: App ID 和 App Secret 信息可以在前端填写,但需先重启软件,才能继续配置长链接的操作。
![]()
机器人权限建议
第6步中的json文件为应用配备了以下权限(应用身份、已开通),以保证收发消息与文件正常:
| 权限名称 | 权限标识 | 权限类型 | 说明 |
|---|---|---|---|
| 获取文件 | aily:file:read | 应用身份 | – |
| 上传文件 | aily:file:write | 应用身份 | – |
| 获取消息 | aily:message:read | 应用身份 | – |
| 发送消息 | aily:message:write | 应用身份 | – |
| 下载文件 | corehr:file:download | 应用身份 | – |
| 获取与更新群组信息 | im:chat | 应用身份 | – |
| 获取与发送单聊、群组消息 | im:message | 应用身份 | – |
| 获取群组中所有消息(敏感权限) | im:message.group_msg | 应用身份 | – |
| 读取用户发给机器人的单聊消息 | im:message.p2p_msg:readonly | 应用身份 | – |
| 查看消息表情回复 | im:message.reactions:read | 应用身份 | – |
| 获取与上传图片或文件资源 | im:resource | 应用身份 | – |
| 以应用身份读取通讯录 | contact:user.base:readonly | 应用身份 | 见下方说明 |
获取用户昵称(推荐):若希望会话和日志中显示用户昵称(如「张三#1d1a」)而非「unknown#1d1a」,需额外开通通讯录只读权限 以应用身份读取通讯录(
contact:user.base:readonly)。未开通时,飞书仅返回 open_id 等身份字段,不返回姓名,CoPAW 无法解析昵称。开通后需重新发布/更新应用版本,权限生效后即可正常显示用户名称。
将机器人添加到常用
-
在工作台点击添加常用
-
搜索刚刚创建的机器人名称并添加
-
可以看到机器人已添加到常用中,双击可进入对话界面