Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

swagger-v2-retrofit-generatorswagger v2 改装发电机

Agent Skill

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

总安装

7,638

周安装

306

GitHub Stars

公开资料未说明

下载量

2,472
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:swagger-v2-retrofit-generator(swagger v2 改装发电机)
来源仓库:https://github.com/opoojkk/swagger-v2-retrofit-generator
安装命令:
openclaw skills install swagger-v2-retrofit-generator
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

ClawHubOpenClaw
openclaw skills install swagger-v2-retrofit-generator

简介

swagger-v2-retrofit-generator 从 OpenAPI 2.0 文档生成 Android Retrofit 客户端。

  • 支持基本认证与 HTTP 直连获取 Swagger 规范。
  • 适用于 Java/Kotlin 移动应用对接 RESTful 服务场景。
  • 安装前请确认是否具备 Kotlin 编译环境与 Gradle 插件支持。
  • 输出代码需根据实际业务逻辑调整请求头与错误处理策略。

SKILL.md

name
swagger-v2-retrofit-generator
description
>

Swagger v2 Retrofit 代码生成器

从 Swagger v2 (OpenAPI 2.0) API 文档生成 Android Retrofit + Kotlin 客户端代码。

功能

  • 从 HTTP URL 获取 Swagger v2 API 文档
  • 支持无认证、Basic Auth、Bearer Token、API Key 认证方式
  • 生成 Retrofit Service 接口(Kotlin)
  • 生成数据类(Kotlin data class)

快速开始

获取 Swagger 文档

使用 scripts/fetch_swagger.py 获取 Swagger JSON:

# 无认证
python scripts/fetch_swagger.py http://api.example.com/v2/api-docs

# Basic 认证
python scripts/fetch_swagger.py http://api.example.com/v2/api-docs -u admin -p admin

# 保存到文件
python scripts/fetch_swagger.py http://api.example.com/v2/api-docs -u admin -p admin -o swagger.json

生成 Retrofit 代码

使用 scripts/generate_retrofit.py 生成代码:

# 从文件生成
python scripts/generate_retrofit.py swagger.json -p com.dkzsxt.ruizhidian.api -o ApiService.kt

# 从管道生成
python scripts/fetch_swagger.py http://api.example.com/v2/api-docs -u admin -p admin | \
  python scripts/generate_retrofit.py - -p com.example.api

完整示例

# 获取并生成代码(一步完成)
python scripts/fetch_swagger.py http://api.example.com/v2/api-docs \
  -u admin -p admin | \
  python scripts/generate_retrofit.py - \
  -p com.dkzsxt.ruizhidian.api \
  -s ApiService \
  -o app/src/main/java/com/dkzsxt/ruizhidian/api/ApiService.kt

指定接口生成

查看所有可用接口

# 列出所有接口
python scripts/generate_retrofit.py swagger.json --list

# 搜索包含 "picture" 的接口(搜索 path/summary/description/operationId/tags)
python scripts/generate_retrofit.py swagger.json --list --search picture

# 只在 path 中搜索
python scripts/generate_retrofit.py swagger.json --list --search getPictureDetail --search-field path

# 只在 summary 中搜索
python scripts/generate_retrofit.py swagger.json --list --search "绘本详情" --search-field summary

# 按 tag 列出接口
python scripts/generate_retrofit.py swagger.json --list --tag "绘本接口"

# 列出所有 tags
python scripts/generate_retrofit.py swagger.json --list-tags

生成指定接口

# 生成单个接口: POST /picture/getPictureDetailPage
python scripts/generate_retrofit.py swagger.json \
  --path /picture/getPictureDetailPage \
  --method POST \
  -o PictureDetailApi.kt

# 生成多个指定接口
python scripts/generate_retrofit.py swagger.json \
  --path /picture/getPictureDetailPage \
  --path /picture/getPictureList \
  --path /user/getUserInfo \
  -o SelectedApis.kt

# 生成 /picture/ 路径下的所有接口
python scripts/generate_retrofit.py swagger.json \
  --path "/picture/*" \
  -o PictureApis.kt

# 生成所有 POST 请求
python scripts/generate_retrofit.py swagger.json \
  --method POST \
  -o PostApis.kt

# 只生成必要的数据类(减少代码量)
python scripts/generate_retrofit.py swagger.json \
  --path /picture/getPictureDetailPage \
  --method POST \
  --only-used-models \
  -o MinimalApi.kt

搜索生成

# 搜索 "绘本" 相关接口并生成
python scripts/generate_retrofit.py swagger.json \
  --search "绘本" \
  -o PictureApis.kt

# 搜索 "getPicture" 路径相关接口
python scripts/generate_retrofit.py swagger.json \
  --search "getPicture" \
  --search-field path \
  -o PictureApis.kt

# 搜索 summary 包含 "首页" 的接口
python scripts/generate_retrofit.py swagger.json \
  --search "首页" \
  --search-field summary \
  -o HomePageApis.kt

# 按 tag 生成接口
python scripts/generate_retrofit.py swagger.json \
  --tag "绘本接口" \
  -o PictureApis.kt

# 多个 tags
python scripts/generate_retrofit.py swagger.json \
  --tag "绘本接口" \
  --tag "用户绘本接口" \
  -o PictureUserApis.kt

# 组合搜索:绘本接口 + POST 方法
python scripts/generate_retrofit.py swagger.json \
  --tag "绘本接口" \
  --method POST \
  --only-used-models \
  -o PicturePostApis.kt

命令行参数

fetch_swagger.py

参数说明
urlSwagger v2 API 文档 URL
--auth-type认证方式:none / basic / bearer / api-key
-u, --usernameBasic Auth 用户名
-p, --passwordBasic Auth 密码
--tokenBearer Token
--api-keyAPI Key 值
--api-key-nameAPI Key 名称(默认 X-API-Key
--api-key-inAPI Key 位置:header / query
-o, --output输出文件路径(默认 stdout)

generate_retrofit.py

参数说明
input输入 JSON 文件,- 表示从 stdin 读取
-p, --package包名(默认: com.example.api)
-s, --service-nameService 接口名(默认: ApiService)
--path指定接口路径(可多次使用,支持通配符 *
-m, --method指定 HTTP 方法(GET, POST, PUT, DELETE, PATCH)
--search搜索关键词(搜索 path/summary/description/operationId/tags)
--search-field指定搜索字段(可多次使用)
--tag按 Tag 过滤(可多次使用)
--only-used-models只生成被选中接口使用的数据类
-l, --list列出所有可用接口
--list-tags列出所有可用 Tags
-o, --output输出文件路径(默认 stdout)

生成的代码结构

生成的 Kotlin 文件包含:

package com.dkzsxt.ruizhidian.api

import retrofit2.http.*
import okhttp3.ResponseBody

// 数据类
data class User(
    val id: Long,
    val name: String
)

// Service 接口
interface ApiService {
    
    @GET("/users/{id}")
    suspend fun getUserById(
        @Path("id") id: String
    ): User
    
    @POST("/users")
    suspend fun createUser(
        @Body body: User
    ): User
}

认证方式支持

Basic Auth

使用 -u-p 参数:

python scripts/fetch_swagger.py URL -u username -p password

Bearer Token (JWT)

python scripts/fetch_swagger.py URL --auth-type bearer --token TOKEN

API Key

# Header 方式
python scripts/fetch_swagger.py URL --auth-type api-key --api-key KEY --api-key-name X-API-Key

# Query 方式
python scripts/fetch_swagger.py URL --auth-type api-key --api-key KEY --api-key-name token --api-key-in query

参考文档

限制

  • 仅支持 Swagger v2 (OpenAPI 2.0),不支持 OpenAPI 3.0
  • 生成的方法使用 suspend 函数(Kotlin 协程)
  • 文件上传相关 API 需要手动调整
  • 复杂泛型响应可能需要手动修改

类名处理

Swagger 中的中文类名(如 Result«绘本详情信息对象»)会自动转换为合法的 Kotlin 类名:

原始类名生成的类名
Result«绘本详情信息对象»ResultPictureBookDetailInfoObject
口语课商品列表对象OralClassGoodsListObject
List<用户详情>List<UserDetail>

转换规则:

  1. 移除书名号等特殊字符 (« » 《 》 < >)
  2. 常见中文词汇自动翻译(如"绘本"→"PictureBook"、"详情"→"Detail")
  3. 其他中文字符替换为 X
  4. 转换为 PascalCase 格式
  5. 确保以字母开头

故障排除

401 认证失败

检查用户名密码是否正确:

python scripts/fetch_swagger.py URL -u admin -p admin

无法解析 JSON

确保 URL 返回的是 Swagger v2 JSON,不是 HTML 页面。

类型映射不正确

某些复杂类型(如 MapAny)可能需要手动调整。参考生成的代码并手动修复。

找不到指定接口

使用 --list 查看所有可用接口:

python scripts/generate_retrofit.py swagger.json --list
python scripts/generate_retrofit.py swagger.json --list --search keyword
python scripts/generate_retrofit.py swagger.json --list --search "绘本" --search-field summary

查看所有 tags:

python scripts/generate_retrofit.py swagger.json --list-tags

注意:

  • 路径需要完全匹配或使用 * 通配符
  • 方法名需大写(GET, POST, PUT, DELETE, PATCH)
  • 示例:--path /picture/getPictureDetailPage --method POST
  • 搜索支持中文,会搜索 path/summary/description/operationId/tags

生成的代码太多

使用 --only-used-models 只生成选中接口依赖的数据类:

python scripts/generate_retrofit.py swagger.json \
  --path /api/specific \
  --only-used-models \
  -o MinimalApi.kt

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

75.97%
按下载量换算1,878

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills