SuperAPI AI 工具集

lark-openapi-explorer

编程与开发

查看项目

更新于 10-15 11:42

技能介绍

用途

本技能用于在现有 skill 或 CLI 已注册 API 无法覆盖用户需求时,从飞书/Lark 官方 markdown 文档库中逐层挖掘原生 OpenAPI 接口,然后通过 lark-cli api 裸调完成任务。

前置条件

先阅读 ../lark-shared/SKILL.md 了解认证、身份切换和安全规则。

文档库结构

飞书 OpenAPI 文档以 markdown 层级组织:

  • llms.txt:顶层索引,列出所有模块文档链接
  • llms-<module>.txt:模块文档,包含功能概述 + 底层 API 文档链接
  • <api-doc>.md:单个 API 的完整说明(方法/路径/参数/响应/错误码)

文档入口:

  • 飞书 (Feishu):https://open.feishu.cn/llms.txt
  • Lark:https://open.larksuite.com/llms.txt

所有文档以中文编写。如果用户使用英文交流,需将文档内容翻译为英文后输出。

挖掘流程

严格按以下步骤逐层检索,不要跳步或猜测 API:

Step 1:确认现有能力不足

lark-cli <可能的service> --help

如果已有对应命令或 shortcut,直接使用,不需要继续挖掘。

Step 2:从顶层索引定位模块

WebFetch https://open.feishu.cn/llms.txt,提取问题:"列出所有模块文档链接,找出与 <用户需求关键词> 相关的链接"。飞书品牌使用 open.feishu.cn,Lark 品牌使用 open.larksuite.com。如不确定用户品牌,默认使用飞书。

Step 3:从模块文档定位具体 API

WebFetch https://open.feishu.cn/llms-docs/zh-CN/llms-<module>.txt,提取问题:"找出与 <用户需求> 相关的 API 说明和文档链接"。

Step 4:获取 API 完整规范

WebFetch 具体 API 文档,提取问题:"返回完整 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

限制

本技能依赖飞书/lark 官方文档库的可用性与结构;API 的权限、频率限制、错误码等以文档为准。除上述资料明确说明的内容外,其他功能、收费、价格、平台或效果暂未提供。