hap-api-doc-updater

此技能专门用于维护和更新明道云 HAP (Host Application Platform) 的 OpenAPI 3.0 接口文档,支持中英文双语文档的同步管理。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "hap-api-doc-updater" with this command: npx skills add garfield-bb/hap-skills-collection/garfield-bb-hap-skills-collection-hap-api-doc-updater

HAP API 文档更新器

此技能专门用于维护和更新明道云 HAP (Host Application Platform) 的 OpenAPI 3.0 接口文档,支持中英文双语文档的同步管理。

使用场景

在以下情况下使用此技能:

  • 用户需要在 HAP 文档中新增接口

  • 用户需要修改现有接口的定义、参数或响应结构

  • 用户需要删除废弃的接口

  • 用户需要确保中英文文档保持同步

  • 用户提到"HAP API 文档"、"接口文档"、"OpenAPI"、"新增接口"、"更新接口"等关键词

文档结构

HAP API 文档项目包含两类文档:

  1. 组织授权 API 文档

位于项目根目录:

  • en/

  • 英文版组织授权接口文档

  • zh-Hans/

  • 中文版组织授权接口文档

  1. 应用 API 文档 (v3-beta)

位于 application 目录:

  • application/en/

  • 英文版应用接口文档

  • application/zh-Hans/

  • 中文版应用接口文档

每个文档目录包含:

openapi.yaml # 主文件,定义 tags、paths 路由 description.md # 文档描述 index.html # Redoc 预览页面 paths/ # 接口定义目录 ├── user/ # 按功能模块分类 ├── department/ └── ... schemas/ # 数据模型目录 ├── base/ # 基础模型 ├── user/ # 用户相关模型 └── ...

工作流程

新增接口

确定接口类型和位置

  • 询问用户接口属于哪个模块 (user/department/app 等)

  • 确定是组织 API 还是应用 API

  • 确定 HTTP 方法 (GET/POST/PUT/DELETE 等)

收集接口信息

  • 接口路径 (如 /v2/user/getExternalPortalUsers )

  • 接口摘要和描述

  • 请求参数 (query/body/path parameters)

  • 响应结构

  • 是否需要鉴权参数 (appKey, sign, timestamp 等)

创建文件结构

对于每个语言版本 (en 和 zh-Hans),执行以下操作:

a. 创建 path 定义文件

  • 位置: paths/{module}/{operationName}.yaml

  • 包含: HTTP 方法、tags、summary、description、parameters/requestBody、responses

  • 参考 references/path_template.yaml 中的模板

b. 创建 schema 文件 (如需要)

  • 请求 schema: schemas/{module}/{operationName}Request.yaml

  • 响应 schema: schemas/{module}/{operationName}Response.yaml

  • 数据对象: schemas/{module}/{objectName}.yaml

  • 参考 references/schema_template.yaml 中的模板

c. 更新 openapi.yaml

  • 在 paths 部分添加新路由

  • 如果有特殊的 server 配置,添加 servers 字段

  • 确保按模块分组,保持文件整洁

验证一致性

  • 确保中英文版本结构一致

  • 检查所有 $ref 引用路径正确

  • 验证必填字段在 required 数组中

修改接口

定位文件

  • 使用 Grep 工具搜索接口路径或 operationId

  • 找到对应的 path 文件和相关 schema 文件

同步修改

  • 同时修改中英文版本的对应文件

  • 保持字段结构一致,仅翻译 description 和 example

更新关联文件

  • 如果修改了 schema 引用,检查其他使用该 schema 的接口

  • 如果修改了路径,同步更新 openapi.yaml

删除接口

从 openapi.yaml 中移除路由

  • 同时删除中英文版本

删除相关文件

  • 删除 paths 文件

  • 检查 schemas 是否被其他接口使用,如果没有则删除

验证引用

  • 确保没有其他地方引用已删除的文件

同步中英文文档

对比结构

  • 检查 openapi.yaml 中的 paths 是否一致

  • 对比文件目录结构

同步差异

  • 复制缺失的文件

  • 翻译描述性文本

  • 保持技术字段 (type, format, required 等) 完全一致

重要规范

命名规范

  • 文件命名: 使用驼峰命名法,如 getExternalPortalUsers.yaml

  • operationId: 与文件名保持一致

  • schema 文件: 使用描述性名称,如 externalPortalUser.yaml

路径引用规范

  • 从 openapi.yaml 引用 paths: './paths/{module}/{file}.yaml'

  • 从 paths 引用 schemas: '../../schemas/{module}/{file}.yaml'

  • 从 schemas 引用其他 schemas: './{file}.yaml'

请求/响应规范

GET 请求: 使用 parameters 定义查询参数

parameters:

  • name: pageIndex in: query required: true schema: type: integer

POST 请求: 使用 requestBody 定义请求体

requestBody: required: true content: application/json: schema: $ref: '../../schemas/user/requestSchema.yaml'

鉴权参数

组织 API 通常需要以下基础参数:

  • appKey

  • 应用密钥

  • sign

  • 签名

  • timestamp

  • 时间戳

  • projectId

  • 项目 ID

可以引用基础 schema: $ref: ../../schemas/base/request/baseQueryAppkey.yaml

响应结构

标准响应格式:

type: object properties: code: type: integer description: 状态码,1表示成功 message: type: string description: 状态描述 data: type: object/array description: 返回数据

工作检查清单

在完成文档更新后,执行以下检查:

  • 中英文版本都已更新

  • openapi.yaml 中的路由已添加/修改/删除

  • paths 文件已创建/修改/删除

  • 必要的 schemas 文件已创建

  • 所有 $ref 引用路径正确

  • 必填参数在 required 数组中声明

  • description 提供了清晰的说明

  • example 提供了有效的示例值

  • 中英文字段结构完全一致 (仅描述不同)

参考资料

详细的模板和示例请查看:

  • references/path_templates.md

  • 接口定义模板

  • references/schema_templates.md

  • 数据模型模板

  • references/common_patterns.md

  • 常见模式参考

预览文档

修改完成后,可以使用 Live Server 预览:

  • 在 VS Code 中右键点击 zh-Hans/index.html 或 en/index.html

  • 选择 "Open With Live Server"

  • 浏览器将自动打开并显示 Redoc 渲染的文档

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

hap-mcp-usage

No summary provided by upstream source.

Repository SourceNeeds Review
General

hap-skills-updater

No summary provided by upstream source.

Repository SourceNeeds Review
General

hap-v3-api

No summary provided by upstream source.

Repository SourceNeeds Review
General

hap-view-plugin

No summary provided by upstream source.

Repository SourceNeeds Review