跳到主要内容

飞书 / 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_idwork
connection_modewebsocket
receive_id_typechat_id
dm_policypairing
group_policymention
send_chunk_chars3800
media_max_bytes5242880

启动 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_groupsgroup_policy: allowlist

管理员

Feishu channel policy 控制消息准入。共享 messaging command 权限决定已准入用户能运行哪些命令。

Sessions

被接受的飞书 chat 会映射到 Anyy session。飞书提供 thread 字段时会保留。

媒体支持

入站媒体

Feishu 声明支持 inbound media。文件受 media_max_bytes 限制。

出站媒体

当前 adapter 没有声明原生 outbound media。

命令

使用标准 messaging commands。群里如 group_policymention,需要提到 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_refencrypt_key_ref
  • 群消息被忽略:检查 mention 行为和 group_policy
  • 媒体缺失:检查飞书权限和 media_max_bytes