从源代码自动生成 OpenAPI 3.1.0 规范文件 + Redoc 可视化文档的技能

让 AI 替你写 API 文档------openapi-gen 技能实战

一条消息,零配置,从代码直接生成可交互的 API 文档。


痛点

写 API 文档是后端开发中最无聊却最重要的工作之一。

你有没有过这种经历:代码里加了三个接口,文档却停留在上个月的版本。前端同事来问"这个字段到底是 int 还是 string"------你只能让他去看代码。

手写 Swagger YAML?光是把一个带分页的列表接口的请求参数、响应体、Schema 引用全部写对,就够你折腾半小时。更别提整个项目几十甚至上百个接口了。

openapi-gen 的目标很简单:你写代码,AI 写文档。


它做了什么

openapi-gen 是一个技能。:

复制代码
帮我生成这个项目的 OpenAPI 文档

它会:

  1. 自动识别技术栈------不管你用的是 Spring Boot、Gin、FastAPI、NestJS、Laravel 还是 ASP.NET Core,它都能认出来
  2. 递归扫描所有路由------路由注册、控制器注解、装饰器、宏标注......一个不漏
  3. 提取完整的接口细节------路径参数、查询参数、请求体 Schema、响应体 Schema、状态码、示例值、校验规则
  4. 生成 OpenAPI 3.1.0 YAML------不是草稿,不是占位,而是每个字段都有中文注释、每个类型都精确到 format 的生产级规范
  5. 同步输出 Redoc 可视化页面 ------npx serve .openapi_gen,浏览器打开就能用

整个过程不需要你写一行 YAML,不需要配置任何注解库,不需要启动任何服务。


大型项目?没问题

接口一多,AI 的上下文窗口就不够用了。这是所有"AI 生成文档"方案的死穴。

openapi-gen 用了一个工程化的方式解决这个问题------分批模式

  • 当检测到接口超过 50 个或模型文件超过 80 个时,自动切换
  • 先快速扫描所有路由,产出轻量级的 JSONL 中间文件
  • 然后按 20-30 个接口为一批,逐批深入提取参数和响应体
  • 最后用 merge.py 脚本将所有 JSONL 合并为一份完整的 OpenAPI YAML

核心思路:把 token 密集的生成任务拆成多轮低 token 任务,用文件系统做记忆

中间文件全部存在 .openapi_gen/_work/ 目录下,合并验证通过后自动清理,不污染项目目录。


质量,不是凑数

很多代码生成工具的输出看着像那么回事,仔细一看全是 TODO 和空的 properties: {}

openapi-gen 在提示词中植入了严格的质量约束:

  • 每个字段必须有 description------Redoc 里不会出现一片空白
  • 每个字段必须有 example------而且是从代码中的测试数据、默认值、种子数据提取的真实值
  • 类型精确到 format ------不只是 string,而是 string + format: date-time
  • 约束完整 ------minLengthmaximumpatternenum,代码里写了的全部提取
  • $ref 引用必须可达------内置验证脚本自动检查所有引用路径
  • 禁止占位内容 ------TODO待补充... 出现即报错

生成完毕后还有一份 7 项检查清单(分批模式 11 项),确保没有遗漏。


7 种语言,开箱即用

语言 支持的框架
Java Spring Boot, Spring Cloud, Quarkus
Go Gin, Echo, Fiber
Python Django/DRF, FastAPI, Flask
Node.js Express, NestJS, Koa
PHP Laravel, ThinkPHP, Symfony
C# ASP.NET Core, ABP, NancyFX
Rust Axum, Actix Web, Rocket

每种语言都有独立的参考文件,告诉 AI 在哪里找路由、怎么解析注解、如何处理中间件。不是靠猜,而是靠精确的规则。


30 秒上手

安装:

bash 复制代码
npx skills add xiwen-haochi/openapi-gen

使用:

在 IDE 里说 "生成 OpenAPI 文档"。

查看:

进入 openapi_gen 目录

node

bash 复制代码
npx serve .

python

bash 复制代码
python -m http.server 3000

浏览器打开 http://localhost:3000,你会看到一份完整的、可搜索、可交互的 API 文档。


底层设计

如果你对实现感兴趣,这是技能的核心架构:

复制代码
SKILL.md          → 主提示词,7 步工作流
references/*.md   → 各语言的路由发现规则
scripts/
  validate.py     → YAML 结构校验 + JSONL 预检
  merge.py        → JSONL 中间文件合并
  cleanup.py      → 工作目录清理
assets/
  redoc.html      → 可视化模板(CDN 加载 Redoc)

技能本身不运行任何服务、不调用任何外部 API。所有的工作都在对话上下文中完成,脚本只负责验证和合并------纯 Python 3.6+,唯一依赖是 PyYAML。


写在最后

API 文档不应该是开发者的负担。代码已经包含了所有信息------路由、参数、类型、校验规则、默认值------只是没有人愿意花时间把它们抄写成 YAML。

现在有 AI 愿意做这件事了。

项目地址:github.com/xiwen-haochi/openapi-gen

相关推荐
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2026-03-26
人工智能·经验分享·深度学习·神经网络·产品运营
彩旗工作室2 小时前
腾讯云上调用大模型的全部入口整理(2026最新版)
人工智能·大模型·云计算·腾讯云
科技观察2 小时前
《观澜社张庆与中信证券合作,共筑金融新生态》
大数据·人工智能·金融
实在智能RPA2 小时前
实在 Agent 支持本地化部署吗?深度解析企业级私有化 AI 智能助理的技术架构与落地实践
人工智能·ai·架构
金融RPA机器人丨实在智能2 小时前
2026产业跃迁:基于大模型的自主智能体产品如何重塑企业生产力?实在Agent商业实战全解析
人工智能·ai
shangjian0072 小时前
AI-大语言模型LLM-LangGraphV1.0学习笔记-context_schema和config_schema
人工智能
AI航向标2 小时前
GPT-SoVITS v2ProPlus开源部署流程全跑通
人工智能·语音识别
EriccoShaanxi2 小时前
高精度石英加速度计助力航空航天精准测量
人工智能·机器人
程序媛小鱼2 小时前
InstructGPT:通过人类反馈训练语言模型以遵循指令(RLHF完整指南,小白也可轻松掌握)
人工智能·语言模型·自然语言处理