飞书 / Lark 设置
概述
Feishu / Lark channel 把 Anyy 连接到飞书聊天。Adapter 支持 direct messages、groups、thread context、webhook mode、inbound media、lifecycle startup 和 live-smoke 检查。
setup helper 默认使用 websocket connection mode。
前提条件
- 一个飞书 / Lark app。
app_id。app_secret。- 目标聊天所需的收发消息权限。
- 如果使用 webhook mode,准备可选 verification token 和 encrypt key。
配置
创建凭据
在飞书 / Lark 开发者后台创建 app,并授予部署需要的消息权限。把 app secret 存为 Anyy secret。
配置 Anyy
anyy setup channels feishu \
--set app_id=cli_xxxxxxxxxxxxx \
--secret app_secret='feishu-app-secret' \
--write-config
可选 secrets:
anyy setup channels feishu \
--set app_id=cli_xxxxxxxxxxxxx \
--secret app_secret='feishu-app-secret' \
--secret tenant_access_token='optional-token' \
--secret verification_token='optional-verification-token' \
--secret encrypt_key='optional-encrypt-key' \
--write-config
setup 默认值:
| 字段 | 默认值 |
|---|---|
account_id | work |
connection_mode | websocket |
receive_id_type | chat_id |
dm_policy | pairing |
group_policy | mention |
send_chunk_chars | 3800 |
media_max_bytes | 5242880 |
启动 Gateway
anyy gateway start
anyy channels reload
运行 Doctor 检查
anyy channels doctor feishu
访问策略
私信
setup 默认 dm_policy: pairing。需要明确访问控制时,用 allowlist 和飞书 sender id。
群组
setup 默认 group_policy: mention。固定 chat 访问时,使用 allow_groups 和 group_policy: allowlist。
管理员
Feishu channel policy 控制消息准入。共享 messaging command 权限决定已准入用户能运行哪些命令。
Sessions
被接受的飞书 chat 会映射到 Anyy session。飞书提供 thread 字段时会保留。
媒体支持
入站媒体
Feishu 声明支持 inbound media。文件受 media_max_bytes 限制。
出站媒体
当前 adapter 没有声明原生 outbound media。
命令
使用标准 messaging commands。群里如 group_policy 是 mention,需要提到 app。
Cron 投递
anyy cron create \
--name "Feishu report" \
--schedule "0 18 * * *" \
--prompt "Send the daily report" \
--delivery-target current_user_default \
--delivery-channel feishu
故障排查
- 没有事件到达:确认
connection_mode、app 权限和 app credentials。 - Webhook verification 失败:检查
verification_token_ref和encrypt_key_ref。 - 群消息被忽略:检查 mention 行为和
group_policy。 - 媒体缺失:检查飞书权限和
media_max_bytes。