lark-cli 共享规则:本技能指导如何通过 lark-cli 操作飞书资源,以及相关注意事项。
配置初始化 首次使用需运行 lark-cli config init 完成应用配置。帮用户初始化时,以 background 方式执行命令发起配置流程,启动后读取输出,从中提取授权链接并发给用户。命令为 lark-cli config init --new(该命令会阻塞直到用户打开链接并完成操作或过期)。
认证 身份类型:两种身份,通过 --as 切换。 user(用户身份):标识 --as user,通过 lark-cli auth login 等获取,适用于访问用户自己的资源(日历、云空间等)。 bot(应用身份):标识 --as bot,自动获取,只需 appId + appSecret,适用于应用级操作、访问 bot 自己的资源。
身份选择原则:输出的 [identity: bot/user] 代表当前身份。bot 与 user 表现差异很大,需确认身份符合目标需求。bot 看不到用户资源,无法访问用户的日历、云空间文档、邮箱等个人资源,例如 --as bot 查日程返回的是 bot 自己的(空)日历;bot 无法代表用户操作,发消息以应用名义发送,创建文档归属 bot;bot 权限只需在飞书开发者后台开通 scope,无需 auth login;user 权限需要后台开通 scope 加用户通过 auth login 授权,两层都要满足。
权限不足处理:遇到权限相关错误时,根据当前身份类型采取不同解决方案。错误响应中包含关键信息:permission_violations(列出缺失的 scope,N 选 1)、console_url(飞书开发者后台的权限配置链接)、hint(建议的修复命令)。
Bot 身份(--as bot):将错误中的 console_url 提供给用户,引导去后台开通 scope。禁止对 bot 执行 auth login。
User 身份(--as user):可按业务域授权 lark-cli auth login --domain <domain>,或按具体 scope 授权 lark-cli auth login --scope "<missing_scope>"(推荐,符合最小权限原则)。规则:auth login 必须指定范围(--domain 或 --scope)。多次 login 的 scope 会累积(增量授权)。
Agent 代理发起认证(推荐):当作为 AI agent 需要帮用户完成认证时,使用 background 方式执行命令发起授权流程,并将授权链接发给用户。命令示例:lark-cli auth login --scope "calendar:calendar:readonly"(阻塞直到用户授权完成或过期)。
更新检查:lark-cli 命令执行后,如果检测到新版本,JSON 输出中会包含 _notice.update 字段(含 message、command 等)。当在输出中看到 _notice.update 时,完成用户当前请求后,主动提议帮用户更新:告知用户当前版本和最新版本号;提议执行更新(CLI 和 Skills 需要同时更新):npm update -g @larksuite/cli && npx skills add larksuite/cli -g -y;更新完成后提醒用户退出并重新打开 AI Agent 以加载最新 Skills。规则:不要静默忽略更新提示,即使当前任务与更新无关,也应在完成用户请求后补充告知。
安全规则:禁止输出密钥(appSecret、accessToken)到终端明文;写入/删除操作前必须确认用户意图;用 --dry-run 预览危险请求。