Token导航 LogoToken导航

Agent Skill · 前端设计

openlark-api(openlark API 文档)

用于辅助 API 设计、接口文档、请求响应结构和服务集成说明。它适合让 Agent 梳理 endpoint、生成 OpenAPI 草稿、检查字段命名、整理错误码或辅助前后端联调。使用时需要确认真实业务语义、鉴权方式、分页和错误处理规则;涉及生成接口文档时,应避免凭空补字段,最好从现有代码、schema 或接口样例中提取事实。

openlark-api 是前端设计类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描有提醒项,按安装量在前端设计类的 10,216 个 Skill 里排第 6,360。

总安装 519周安装 21GitHub Stars 75下载 163核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:openlark-api(openlark API 文档)
来源仓库:https://github.com/foxzool/open-lark
仓库路径:skills/openlark-api
安装命令:
npx skills add https://github.com/foxzool/open-lark --skill openlark-api
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/foxzool/open-lark --skill openlark-api

这个 Skill 是做什么的

前端设计类 Skill 关注页面结构、视觉规范和组件写法,输出通常是可运行的界面代码。

用于辅助 API 设计与服务集成说明。openlark-api 属于前端设计类 Skill,可作为该场景下的辅助能力补充。适合生成 OpenAPI 草稿和检查响应结构。通过 GitHub 安装,建议确认业务语义和鉴权方式。涉及错误处理时应核对真实场景的分页逻辑。避免虚构字段,优先参考现有接口定义或代码。

来源仓库内路径:skills/openlark-api

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/foxzool/open-lark --skill openlark-api;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

openlark-api 怎么安装?

在终端执行 npx skills add https://github.com/foxzool/open-lark --skill openlark-api。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

openlark-api 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

openlark-api 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

openlark-api 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

openlark-api 用的人多吗?

公开数据是累计安装 519 次,近一周安装 21 次,下载 163 次,GitHub 75 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

openlark-api 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理前端设计类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

前端设计类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
frontend-design

前端设计 · Codex、Claude

8,823,360126,072只读MIT通过
vercel-composition-patterns

Vercel 组合模式 · Codex、Claude

3,858,81625,893需要联网MIT通过
vercel-react-native-skills

Vercel React native skills 前端 · Codex、Claude

2,468,66425,878只读MIT通过
adapt

adapt 搜索 · Codex、Claude

2,027,04023,125操作浏览器未明确通过
bolder

bolder 分析 · Codex、Claude

2,004,28823,130只读未明确通过
openlark-api

openlark API 文档 · 本页

51975需要联网未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

OpenLark API 接口实现规范(速查)

🧭 技能路由指南

本技能适用场景:

  • 添加/重构单个飞书开放平台 API
  • 需要确定 API 落盘路径(bizTag → crate → 文件路径)
  • 需要参考代码模板(Body/Response + Builder)
  • 需要了解端点规范、RequestOption 约定、Service 链式调用

其他技能:

  • 项目级规范体检(架构/API/导出/校验一体)→ Skill(openlark-code-standards)
  • 审查整体设计规范 → Skill(openlark-design-review)
  • 统一 validate() 写法 → Skill(openlark-validation-style)

关键词触发映射

  • 新增 API、重构 API、Builder、Request/Response、mod.rs 导出、RequestOption → openlark-api
  • 代码规范、规范检查、风格一致性、体检 → openlark-code-standards
  • 架构设计、public API、收敛方案、feature gating、兼容策略 → openlark-design-review
  • validate、必填校验、validate_required、空白字符串、校验聚合 → openlark-validation-style
  • 覆盖率、缺失 API、实现数量、CSV 对比、验证脚本 → openlark-api-validation

双向跳转规则

  • 若实现问题本质是架构范式冲突(Request/Service 边界),转 openlark-design-review。
  • 若实现前需要先做全仓规范体检,先跑 openlark-code-standards。
  • 若实现完成后要核验覆盖率与缺失清单,转 openlark-api-validation。

本文件只保留"可执行的最小流程",标准示例与 docPath 抓取能力见 references/ 与 scripts/。

0. 快速工作流(新增一个 API)

  1. 定位 API:在 ./api_list_export.csv 拿到 bizTag、meta.Project、meta.Version、meta.Resource、meta.Name

- 若有 docPath,用脚本抓取请求/响应体定义(见 §4)

  1. 选 crate:根据 bizTag 选择 feature crate(见 §1)
  2. 定路径:crates/{crate}/src/{bizTag}/{project}/{version}/{resource...}/{name}.rs
  3. 写代码:Body/Response + Builder(execute/send)+ 端点常量/enum

- 必须支持 RequestOption:用于 user_access_token / tenant_key / 自定义 header

  1. 补导出:在 mod.rs 中 pub mod... / pub use...
  2. 补链路:在约定入口补齐链式调用(默认 service.rs,但 openlark-docs 例外,见 §2)
  3. 验证:just fmt && just lint && just test

1. Feature Crate ↔ bizTag

仓库以 tools/api_coverage.toml 作为 crate→bizTag 的唯一来源。

# 查看所有映射
python3 tools/validate_apis.py --list-crates

# 验证特定 crate 的覆盖率
python3 tools/validate_apis.py --crate openlark-docs

反查技巧:落盘路径以"目标 crate 现有结构"为准,参考 references/file-layout.md

2. Service 链式调用(实现 + 调用约定)

本节提供"如何实现"的技术规范。若需要审查"是否应该统一范式"(Request 自持 Config vs Builder → Service),见 Skill(openlark-design-review) §1。

2.1 实现侧:service.rs

目标:让 openlark-client 能走 client.<biz>.service().<project>().<version>()...<api>()

  • 若 crate 已有 src/service.rs:在顶层 service 新增 pub fn {bizTag}(&self) ->...
  • 若没有:创建 src/service.rs 并在 lib.rs 中 pub mod service;
  • openlark-docs 特例:为避免 strict API 校验脚本把"链式入口"计为 API 实现文件,链式入口放在 crates/openlark-docs/src/common/chain.rs,只做模块级入口与 Config 透传,不为 200+ API 手写方法。
⚠️ Service 层标准模式

正确示例(参考 openlark-docs/src/common/chain.rs):

use std::sync::Arc;
use openlark_core::config::Config;

/// DocClient 只持有 Arc<Config>
#[derive(Debug, Clone)]
pub struct DocClient {
    config: Arc<Config>,
}

impl DocClient {
    pub fn new(config: Config) -> Self {
        Self { config: Arc::new(config) }
    }

    /// 子 Service 只透传 Arc<Config>
    pub fn drive(&self) -> DriveService {
        DriveService::new(self.config.clone())
    }
}

/// Service 层只持有 Arc<Config>,不持有独立 HTTP client
#[derive(Debug, Clone)]
pub struct DriveService {
    config: Arc<Config>,
}

impl DriveService {
    pub fn new(config: Arc<Config>) -> Self {
        Self { config }
    }

    pub fn v1(&self) -> DriveV1 {
        DriveV1::new(self.config.clone())
    }
}

❌ 禁止模式:

  • ❌ Service 持有独立的 HTTP client 字段
  • ❌ 使用 LarkClient 作为具体类型(它是 trait)
  • ❌ 在测试中使用 .unwrap() 调用 Config::build()(build() 直接返回 Config)

✅ 正确模式:

  • ✅ Service 只持有 Arc<Config>
  • ✅ Config::build() 直接返回 Config,不需要 .unwrap()
  • ✅ HTTP 传输由 openlark_core::Transport 处理

2.2 调用侧:RequestOption 约定

必须提供 execute_with_options(..., RequestOption) 或等价签名,并将 option 透传到 Transport::request(..., Some(option))

使用场景:

  • 用户态 API → user_access_token
  • 商店应用 → tenant_key / app_ticket
  • 链路追踪 → request_id / 自定义 header
⚠️ 不要只调用 ApiRequest::request_option(...),它仅合并 header,token 推断需要走 Transport

详细示例见 references/standard-example.md

3. API 模板(以仓库现有风格为准)

以下提供两种仓库中真实存在的风格。实现时优先模仿目标 crate 的现有文件风格,避免在同一 project/version 内混用多种范式。 范式一致性审查见 Skill(openlark-design-review) §1。

3.1 Request / Response

use openlark_core::{api::ApiRequest, config::Config, http::Transport, SDKResult};
use openlark_core::req_option::RequestOption;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct {Name}Body {
    // 字段按官方文档,用 serde rename 对齐
    // 可选:Option<T> + #[serde(skip_serializing_if = "Option::is_none")]
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct {Name}Response {
    // 字段按官方文档
}

3.2 Builder + execute/send

use std::sync::Arc;

pub struct {Name}Request {
    config: Arc<Config>,
    // 路径/查询参数(按需)
}

impl {Name}Request {
    pub fn new(config: Arc<Config>) -> Self { /* ... */ }

    pub async fn execute(self, body: {Name}Body) -> SDKResult<{Name}Response> {
        self.execute_with_options(body, RequestOption::default()).await
    }

    pub async fn execute_with_options(
        self,
        body: {Name}Body,
        option: RequestOption,
    ) -> SDKResult<{Name}Response> {
        // 端点必须复用 crate 的 endpoints 常量或 enum(禁止手写 "/open-apis/...")
        let req: ApiRequest<{Name}Response> = ApiRequest::post({ENDPOINT_CONST_OR_ENUM});
        let resp = Transport::request(req, &self.config, Some(option)).await?;
        resp.data.ok_or_else(|| openlark_core::error::validation_error("响应数据为空", "服务器没有返回有效的数据"))
    }
}

4. 提交前检查清单

  • 落盘路径正确(与同模块现有结构一致)
  • Request/Response 字段对齐官方文档(含 serde(rename))
  • HTTP 方法与 url 一致;端点使用常量或 enum
  • mod.rs 已导出
  • service.rs 已提供链式访问
  • 已提供 execute_with_options(..., RequestOption) 并透传到 Transport
  • just fmt && just lint && just test 通过

5. docPath 网页读取

python3 .claude/skills/openlark-api/scripts/fetch_docpath.py "<docPath>" --format md --out /tmp/doc.md

6. References

  • 目录规范与反查:references/file-layout.md
  • CSV 映射规则:references/csv-mapping.md
  • 标准示例(照抄结构):references/standard-example.md

平台分布

Codex

35.54%
按下载量换算58

Claude

29.14%
按下载量换算47

Cursor

19.55%
按下载量换算32

Gemini CLI

10.05%
按下载量换算16

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills