关于 feishu-binding
用于绑定或解绑用户 Feishu 或 Lark 账号的 Skill,使 Agent 能通过对应消息应用交流。它说明了设备授权流程,包括品牌选择、确认状态轮询,以及按渠道展示二维码或链接。
主要功能
- 01连接 Feishu 或 Lark 账号
- 02检查连接状态
- 03轮询设备授权
- 04解绑账号
- 05按渠道展示二维码或链接
适用场景
- 01绑定 Feishu 账号以便与 Agent 聊天
- 02连接国际版 Lark 账号
- 03检查账号是否已连接
- 04先解绑再切换品牌并重新连接
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ starchild-ai-agent/ official-skills --skill feishu-binding安装后在 Claude Code 中输入/feishu-binding确认已加载。
详细介绍
📱 飞书/Lark 绑定
连接/断开用户的飞书(飞书)或 Lark 账号,使 Agent 可以通过飞书/Lark 应用聊天。
feishu 工具保持内置。此 SKILL.md 是参考文档。
另请参阅
config/context/references/messaging-channels.md— 消息如何在不同渠道间路由skills/wechat-binding/SKILL.md— 类似的微信流程skills/tg-bot-binding/SKILL.md— 类似的 Telegram 流程
品牌选择
| 品牌 | 地区 | 域名 |
|---|---|---|
feishu | 中国大陆(中国大陆) | feishu.cn / accounts.feishu.cn |
lark | 国际 | larksuite.com / accounts.larksuite.com |
询问用户使用哪个品牌。如不明确,默认使用 feishu。中文用户几乎总是使用 feishu。
典型绑定流程
connect(brand) → user scans QR / opens link → poll(device_code) → done
- 启动设备授权流程:
feishu(action="connect", brand="feishu")— 返回verification_uri、device_code,以及保存到工作区的二维码图片。 - 向用户展示两种选项:
- 扫描二维码: 使用结果中的
markdown_image在消息中显示二维码图片(例如)。用户使用飞书/Lark 应用扫描。 - 直接链接: 将
verification_url显示为可点击链接。用户在浏览器中打开链接,登录飞书/Lark 并确认。
- 扫描二维码: 使用结果中的
- 等待用户确认。 不要自动轮询——先让用户说“完成”/“已确认”/“已确认”/“已扫描”。
- 轮询是否完成:
feishu(action="poll", device_code=<from step 1>, brand=<same brand>)。status: "done"→ 绑定完成,向用户表示祝贺。status: "pending"→ 询问用户是否已扫描二维码或打开链接并确认。status: "expired"→ 设备授权流程已过期(通常为 5 分钟)。使用connect重新开始。
- 向用户确认:“Feishu/Lark 已连接!现在可以在 Feishu/Lark 上与 Agent 聊天了。”
操作
| action | 必需参数 | 用途 |
|---|---|---|
status | — | 当前 Feishu/Lark 应用状态。用于检查是否已连接。 |
connect | brand(可选,默认 "feishu") | 启动设备授权流程。返回验证 URL 和 device_code。 |
poll | device_code、brand | 检查用户是否已确认授权。返回状态。 |
disconnect | — | 解除 Feishu/Lark 应用绑定(具有破坏性——先与用户确认)。 |
根据渠道显示二维码/链接
| 用户渠道 | 显示方式 |
|---|---|
| Web | 在回复中包含 file_path(二维码图片)——前端会将其直接显示。也显示链接。 |
| Telegram | send_to_telegram(file_path=<qr_path>, message_type="photo") + 在说明文字中包含链接 |
| 仅显示链接(用户无法在 WeChat 内扫描用于 Feishu 的二维码) | |
| Feishu | (用户已经在 Feishu 上——无需绑定。告知用户已连接,或检查 status。) |
与 WeChat/Telegram 的主要区别
| 方面 | Feishu/Lark | Telegram | |
|---|---|---|---|
| 认证方式 | 设备授权流程(URL) | 扫描二维码 | Bot token |
| 用户操作 | 打开 URL 并在应用中确认 | 扫描二维码并确认 | 通过 @BotFather 创建 Bot |
| 凭据 | 无(设备授权流程会处理) | bot_token(来自二维码) | bot_token(来自 BotFather) |
| 品牌选择 | feishu / lark | 不适用 | 不适用 |
重要规则
connect后不要自动轮询。请等待用户确认已打开链接并在 Feishu/Lark 中完成确认。自动轮询会浪费 API 调用。- 设备授权流程约 5 分钟后过期。如果
poll返回expired,请告知用户并重新执行connect。 disconnect具有破坏性——调用前请先征得用户确认。该操作会停止 Feishu/Lark 网关实例。- 品牌很重要——
feishu和lark使用不同的 API 域名。使用错误的品牌会静默失败,或跳转到错误的登录页面。 - 每位用户只能使用一个应用——用户一次只能使用一个 Feishu/Lark 应用。如果要切换品牌,必须先执行
disconnect,然后使用新品牌执行connect。
故障排查
| 症状 | 可能原因 | 解决方法 |
|---|---|---|
connect 返回错误 | 用户已有一个活跃应用 | 先调用 status;如果应用处于活跃状态,询问用户是否要执行 disconnect 并重新绑定 |
poll 返回 expired | 用户确认所用时间过长 | 重新执行 connect |
poll 反复返回 pending | 用户尚未打开 URL | 提醒用户打开验证 URL |
| 用户说“我找不到链接” | URL 在之前的消息中 | 重新执行 connect 以获取新的 URL |
评论
支持 Markdown