Lark Shared

作者 larksuitecff1bdadbf8c無授權條款17K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫今天更新

Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling _notice JSON.

僅含說明AI & Agents
AI 產生的概覽

lark-cli 系列技能的共用規則,涵蓋身分、驗證、輸出契約與高風險寫入審批。

功能
此技能為所有 lark-* 技能提供共同基礎:說明如何在使用者身分與機器人身分之間選擇、驗證與業務網域權限如何運作、如何解讀 JSON 輸出契約,以及如何處理高風險寫入確認。當出現缺少 scope、結束碼 10、config init 或 _notice 輸出等觸發條件時,它會引導代理查閱對應的參考文件。它產出的是指引與參考查閱,而不是檔案或程式碼。
適用情境
適用於 lark-cli 的設定與驗證工作,例如 auth login、status 或 logout、選擇使用者或機器人身分、處理缺少 scope 或權限錯誤,以及解讀 _notice 輸出。也適用於需要 JSON 輸出契約或高風險寫入審批流程的情境。
執行需求
需要安裝並可用的 lark-cli 命令列工具。此技能僅為說明性內容,不附帶指令碼,並引用若干 markdown 參考文件。驗證與權限操作依賴 lark-cli 憑證和網路存取。

lark-cli 共享规则

所有 lark-* skill 共享的底座:身份、认证、输出契约与高风险操作。

通用准则

  1. 调用前先确认用法:执行前读对应 reference 或跑 --help,别猜 flag 盲调。

  2. 身份决定你代表谁操作:--as user 代表用户本人(能看到、也能操作其日历、云空间/云盘/云存储等个人资源),--as bot 代表应用自己,应用级操作,只能访问bot自己的资源,bot 查用户资源会返回空成功而非报错。动手前先搞清楚身份identity。身份模型和权限管理 → lark-shared-identity-and-permissions.md [blocked]。

  3. 授权 / 配置类 URL 必须配二维码:当命令输出 verification_url、verification_uri_complete、console_url 等 URL 字段时,必须用 lark-cli auth qrcode 生成并在回复中展示,URL 在前二维码在后;优先生成 PNG(--output),仅当用户明确要求时才使用 ASCII(--ascii)。URL 原样转发——不编解码、不加标点、不重拼 query,二维码和链接请一起展示给用户。

  4. --format json(默认)下,判断成功用 ok == true(或进程退出码 0),不要用 code == 0:成功信封没有顶层 code / msg 字段,code 只出现在错误信封的 error 内。按 OpenAPI 老格式 {"code": 0, "msg": "ok"}判断会把所有成功调用误判为失败——封装写入类命令时尤其危险。JSON 输出契约 → lark-shared-output-contract.md [blocked]。

安全规则

  1. 禁止输出密钥(appSecret、accessToken等)到终端明文。

  2. 写入/删除操作前必须确认用户意图。

  3. 目标命令支持 --dry-run 时,用 --dry-run 预览危险请求。

  4. 退出码 10 是高风险确认门禁(risk: "high-risk-write"),不是错误:停下 → 向用户确认(展示 action、risk 和关键参数)→ 取得用户显式同意后,将 hint 指出的确认 flag 追加到你原始 argv 的末尾后重试;绝不静默加确认 flag 绕过 → lark-shared-high-risk-approval.md [blocked]。

  5. 文件路径只接受相对路径:--file、--output、--output-dir、@file 等路径参数只接受 cwd 下的相对路径,传绝对路径会报 unsafe file path。数据输入(@file、大 JSON)优先用 stdin 传入,避免路径和转义问题。

Reference 强触发索引

命中任一触发条件时,MUST 在执行下一步前读取对应 reference。命中多条时按表中顺序读取,同一reference只读取一次。

强触发条件(命中任一即必读)Reference
查看自己是谁(user/bot)、获取当前身份详细字段信息、身份诊断、--as选择逻辑、身份延续、登录态、认证、scope、授权和权限管理、missing_scopes 或 console_url、Agent 准备发起或完成 auth loginlark-shared-identity-and-permissions.md [blocked]
需要依赖 JSON 输出契约判断成功 / 失败、读取 stdout / stderr,或为命令编写脚本与封装lark-shared-output-contract.md [blocked]
准备执行high-risk-write(高风险操作)、判断命令风险等级、遇到退出码 exit 10、confirmation_required、确认后重试lark-shared-high-risk-approval.md [blocked]
首次使用CLI需运行 lark-cli config init 完成应用配置、或 CLI 明确提示 config init --newlark-shared-config-init.md [blocked]
用户询问 notice、CLI版本更新、或输出含 _notice(升级 / skills 落后 / 废弃命令提示)lark-shared-update-notice.md [blocked]

來源與署名

來源:larksuite/cli位於skills/lark-shared提交cff1bda

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架