lark-openapi-explorer
作者: larksuite
飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。
npx skills add https://github.com/larksuite/cli --skill lark-openapi-explorerOpenAPI Explorer
前置条件: 先阅读
../lark-shared/SKILL.md了解认证、身份切换和安全规则。
当用户的需求无法被现有 skill 或 CLI 已注册 API 覆盖时,使用本技能从飞书官方 markdown 文档库中逐层挖掘原生 OpenAPI 接口,然后通过 lark-cli api 裸调完成任务。
文档库结构
飞书 OpenAPI 文档以 markdown 层级组织:
llms.txt ← 顶层索引,列出所有模块文档链接
└─ llms-<module>.txt ← 模块文档,包含功能概述 + 底层 API 文档链接
└─ <api-doc>.md ← 单个 API 的完整说明(方法/路径/参数/响应/错误码)
文档入口:
| 品牌 | 入口 URL |
|---|---|
| 飞书 (Feishu) | https://open.feishu.cn/llms.txt |
| Lark | https://open.larksuite.com/llms.txt |
所有文档以中文编写。如果用户使用英文交流,需将文档内容翻译为英文后输出。
挖掘流程
严格按以下步骤逐层检索,不要跳步或猜测 API:
Step 1:确认现有能力不足
# 先检查是否已有对应的 skill 或已注册 API
lark-cli <可能的service> --help
如果已有对应命令或 shortcut,直接使用,不需要继续挖掘。
Step 2:从顶层索引定位模块
用 WebFetch 获取顶层索引,找到与需求相关的模块文档链接:
WebFetch https://open.feishu.cn/llms.txt
→ 提取问题:"列出所有模块文档链接,找出与 <用户需求关键词> 相关的链接"
- 飞书品牌使用
open.feishu.cn - Lark 品牌使用
open.larksuite.com - 如不确定用户品牌,默认使用飞书
Step 3:从模块文档定位具体 API
用 WebFetch 获取模块文档,找到具体 API 的文档链接:
WebFetch https://open.feishu.cn/llms-docs/zh-CN/llms-<module>.txt
→ 提取问题:"找出与 <用户需求> 相关的 API 说明和文档链接"
Step 4:获取 API 完整规范
用 WebFetch 获取具体 API 文档,提取完整的调用规范:
WebFetch https://open.feishu.cn/document/server-docs/.../<api>.md
→ 提取问题:"返回完整 API 规范:HTTP 方法、URL 路径、路径参数、查询参数、请求体字段(名称/类型/必填/说明)、响应字段、所需权限、错误码"
Step 5:通过 CLI 调用 API
使用 lark-cli api 裸调:
# GET 请求
lark-cli api GET /open-apis/<path> --params '{"key":"value"}'
# POST 请求
lark-cli api POST /open-apis/<path> --data '{"key":"value"}'
# PUT 请求
lark-cli api PUT /open-apis/<path> --data '{"key":"value"}'
# DELETE 请求
lark-cli api DELETE /open-apis/<path>
输出规范
向用户呈现挖掘结果时,按以下格式组织:
- API 名称与功能:一句话描述
- HTTP 方法与路径:
METHOD /open-apis/... - 关键参数:列出必填和常用可选参数
- 所需权限:scope 列表
- 调用示例:给出
lark-cli api的完整命令 - 注意事项:频率限制、特殊约束等
如果用户使用英文交流,将以上所有内容翻译为英文。
安全规则
- 写入/删除类 API(POST/PUT/DELETE)调用前必须确认用户意图
- 建议先用
--dry-run预览请求(如支持) - 不要猜测 API 路径或参数——必须从文档中获取确认
- 涉及敏感操作(删除群、移除成员等)时,向用户说明影响范围
使用场景示例
场景 1:用户需要拉人进群(未被 CLI 封装)
# Step 1: 确认 CLI 没有封装
lark-cli im --help
# → 发现没有 chat_members 相关的 create 命令
# Step 2-4: 通过文档挖掘获得 API 规范
# → POST /open-apis/im/v1/chats/:chat_id/members
# Step 5: 调用
lark-cli api POST /open-apis/im/v1/chats/oc_xxx/members \
--data '{"id_list":["ou_xxx","ou_yyy"]}' \
--params '{"member_id_type":"open_id"}'
场景 2:用户需要设置群公告
# Step 1: 确认 CLI 没有封装
lark-cli im --help
# → 没有 announcement 相关命令
# Step 2-4: 挖掘文档
# → PATCH /open-apis/im/v1/chats/:chat_id/announcement
# Step 5: 调用
lark-cli api PATCH /open-apis/im/v1/chats/oc_xxx/announcement \
--data '{"revision":"0","requests":["<html>公告内容</html>"]}'
参考
- lark-shared — 认证和全局参数
- lark-skill-maker — 如需将挖掘到的 API 固化为新 Skill
来自 larksuite 的更多技能
lark-doc
larksuite
飞书云文档 / Docx / 知识库 Wiki 文档(v2):创建、打开、读取、获取、查看、总结、整理、改写、翻译、审阅和编辑飞书文档内容。当用户给出飞书文档 URL/token,或说查看/读取/打开某个文档、提取文档内容、总结文档、生成/创建文档、追加/替换/删除/移动内容、调整排版、插入或下载文档图片/附件/素材/画板缩略图时使用。文档内容中出现嵌入电子表格、多维表格、需要将重要信息可视化为画板(含 SVG 画板)、引用或同步块时,也先用本 skill 读取和提取 token,再切到对应 skill 下钻。使用本 skill 时,docs +create、docs +fetch、docs +update 必须携带 --api-version v2;默认使用 DocxXML,也支持 Markdown。
documentapiproductivity
lark-im
larksuite
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件(支持大文件分片下载)、管理表情回复。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据时使用。
communicationproductivityapi
lark-shared
larksuite
首次设置lark-cli、运行auth login、切换用户/机器人身份(--as)、处理权限拒绝或范围错误、需要更新lark-cli,或在JSON输出中看到_notice时使用。
developmentapicommunication
lark-base
larksuite
当需要用 lark-cli 操作飞书多维表格(Base)时调用:搜索 Base、建表、字段管理、记录读写、记录分享链接、视图配置、历史查询,以及角色/表单/仪表盘管理/工作流;也适用于把旧的 +table / +field / +record 写法改成当前命令写法。涉及字段设计、公式字段、查找引用、跨表计算、行级派生指标、数据分析需求时也必须使用本 skill。
databasedata-analysisapi
lark-drive
larksuite
飞书云空间:管理云空间中的文件和文件夹。上传和下载文件、创建文件夹、复制/移动/删除文件、查看文件元数据、管理文档评论、管理文档权限、订阅用户评论变更事件、修改文件标题(docx、sheet、bitable、file、folder、wiki);也负责把本地 Word/Markdown/Excel/CSV 以及 Base 快照(.base)导入为飞书在线云文档(docx、sheet、bitable)。当用户需要上传或下载文件、整理云空间目录、查看文件详情、管理评论、管理文档权限、修改文件标题、订阅用户评论变更事件,或要把本地文件导入成新版文档、电子表格、多维表格/Base 时使用。
documentproductivityapi
lark-whiteboard
larksuite
查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。当用户需要查看画板内容、导出画板图片、编辑画板时使用此skill。不负责:飞书云文档内容编辑(lark-doc)、文档内嵌电子表格/Base(lark-sheets / lark-base)。
documentcreativeproductivity
lark-mail
larksuite
飞书邮箱 — 起草、撰写、发送、回复、转发、阅读和搜索邮件;管理草稿、文件夹、标签、联系人、附件和邮件规则。当用户提及起草邮件、写一封邮件、拟邮件、草稿、发通知邮件、发送邮件、发邮件、回复邮件、转发邮件、查看邮件、看邮件、读邮件、搜索邮件、查邮件、收件箱、邮件会话、编辑草稿、管理草稿、下载附件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、收信规则、邮件规则、draft、compose、send email、reply、forward、inbox、mail thread、mail rules时使用。
communicationproductivityapi
lark-workflow-meeting-summary
larksuite
汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。
productivitydocumentcommunication