🚀 OpenAPI/Swagger 接口文档自动生成系统

基于 OpenClaw + Claude Code 的端到端研发自动化系统核心组件
实现从需求→PRD 设计→技术方案→API 开发→AI Coding→测试→部署→验收的全流程自动化

✨ OpenAPI 3.0 🤖 AI 驱动 👥 人机协同 🐳 Docker ☸️ Kubernetes 🔄 CI/CD

系统概述

本系统是端到端研发自动化流程中的核心组件,专注于自动解析各种后端和前端框架的源代码, 生成符合 OpenAPI 3.0 标准格式的接口文档。系统支持人机协同审核,允许开发人员对自动生成的 接口进行审查、修改和优化,确保文档质量。

6+
支持框架
100%
OpenAPI 3.0 兼容
<60s
平均生成时间
可扩展性

自动化工作流程

1
📁

源代码上传

上传 Python/Java/TypeScript 源代码文件

2
🔍

智能解析

AST 分析提取 API 路由和注解

3
⚙️

规范生成

生成 OpenAPI 3.0 标准格式文档

4
👥

人机审核

人工审查和修改接口定义

5
📤

导出发布

JSON/YAML 格式导出与集成

支持的框架

🐍

Python FastAPI

完整支持 FastAPI 的路由装饰器和类型注解

  • @app.get/post/put/delete 装饰器解析
  • Path/Query/Header/Cookie 参数识别
  • Pydantic 模型自动转换为 Schema
  • 异步函数支持
🌶️

Python Flask

支持 Flask 路由和 RESTful API 模式

  • @app.route 装饰器解析
  • HTTP 方法自动识别
  • Blueprint 路由支持
  • 请求/响应格式推断

Java Spring Boot

解析 Spring MVC 和 Spring Data REST 注解

  • @GetMapping/@PostMapping 等注解
  • @PathVariable/@RequestParam 识别
  • @RequestBody 自动转换
  • Swagger 注解兼容
🟢

Node.js Express

支持 Express.js 路由和中间件模式

  • app.get/post/put/delete 路由解析
  • 路由参数和查询参数识别
  • 中间件链分析
  • TypeScript 类型支持
🏗️

NestJS

完整的 NestJS 装饰器和模块支持

  • @Controller/@Get/@Post 装饰器
  • DTO 类自动转换为 Schema
  • Guard/Pipe/Interceptor 识别
  • Swagger 插件兼容
🔧

自定义扩展

灵活的 Parser 扩展机制

  • 自定义 Parser 开发接口
  • 插件化架构
  • 正则表达式匹配模式
  • AST 深度分析支持

核心功能特性

功能模块 描述 技术实现
多框架解析 支持 6+ 种主流后端框架的自动识别和解析 AST 分析 + 正则匹配
OpenAPI 3.0 生成 完全符合 OpenAPI 3.0.3 规范的文档生成 数据模型映射 + 格式转换
Swagger UI 集成 内置 Swagger UI 可视化展示和测试 Swagger UI Bundle + Blob URL
人机协同审核 支持人工审查、编辑、批注接口定义 交互式 UI + 增量更新
多格式导出 JSON 和 YAML 格式一键导出 序列化 + 文件流
规范验证 自动验证生成的 OpenAPI 规范合法性 Schema 校验 + 规则检查
Docker 容器化 完整的 Docker 镜像和 K8s 部署配置 Dockerfile + Helm Charts
CI/CD 集成 Jenkins Pipeline 自动化构建和部署 Jenkinsfile + K8s API

使用示例

命令行使用

# 从 FastAPI 项目生成 OpenAPI 规范
openapi-gen generate ./my_fastapi_app \
    --title "My API" \
    --version "1.0.0" \
    -o output/api.json

# 生成 YAML 格式
openapi-gen generate ./src \
    --framework spring \
    --format yaml

# 启动 Web 界面
openapi-gen serve ./project -o ./output

Python API 调用

from openapi_generator import OpenAPIGenerator

# 初始化生成器
generator = OpenAPIGenerator()

# 配置元数据
generator.configure(
    title="My API",
    version="2.0.0",
    description="Automatically generated API docs"
)

# 解析源代码目录
generator.parse_directory("./src", parser_name="python-fastapi")

# 生成规范
spec = generator.generate_spec()

# 导出 JSON
generator.export_json("openapi-spec.json")

# 获取统计信息
stats = generator.get_statistics()
print(f"Generated {stats['total_endpoints']} endpoints")

FastAPI 源代码示例

from fastapi import FastAPI, Path, Query
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):
    id: int
    username: str
    email: str

@app.get("/users")
async def get_users(
    limit: int = Query(10, description="Max results"),
    offset: int = Query(0, description="Pagination offset")
):
    """Get all users with pagination"""
    return []

@app.get("/users/{user_id}")
async def get_user(
    user_id: int = Path(..., description="User ID")
):
    """Get user by ID"""
    return {}

@app.post("/users")
async def create_user(user: User):
    """Create a new user"""
    return user

系统架构

📤 输入层
源代码文件
🔍 解析层
AST/Regex Parser
⚙️ 核心引擎
OpenAPI Generator
👥 协同层
Human Review
📤 输出层
JSON/YAML/Swagger UI
🐳 Docker
容器化部署
☸️ Kubernetes
编排管理
🔄 Jenkins
CI/CD Pipeline

项目文件结构

openapi_generator/
├── __init__.py              # 包初始化
├── models.py                # 数据模型定义
├── parsers.py               # 多框架解析器
├── core.py                  # 核心生成引擎
├── server.py                # FastAPI Web 服务
├── cli.py                   # 命令行工具
├── requirements.txt         # Python 依赖
├── Dockerfile               # Docker 配置
├── swagger_ui/
│   ├── index.html           # Web UI 主页面
│   └── app.js               # 前端交互逻辑
├── tests/
│   └── test_openapi_generator.py  # 单元测试
├── jenkins/
│   └── Jenkinsfile          # CI/CD 流水线
├── k8s/
│   ├── deployment.yaml      # K8s 部署配置
│   ├── service.yaml         # K8s 服务配置
│   └── ingress.yaml         # K8s 入口配置
└── openapi_generator_demo_report.html  # 本报告

端到端研发自动化集成

本系统作为 OpenClaw + Claude Code 端到端研发自动化系统的核心组件,无缝集成到以下研发流程节点:

📋

需求 → PRD 设计

从产品需求自动生成 PRD 文档框架

🏗️

技术方案设计

前后端技术方案自动生成与评审

🔌

API 协议设计

← 本系统核心功能
自动解析代码生成 OpenAPI 规范

🤖

AI Coding

基于 API 规范的代码自动生成

Unit Test

单元测试用例自动生成与执行

🔗

集成测试

API 集成测试自动化

🚀

CI/CD 部署

Jenkins + Docker + K8s 自动部署

🎯

UI 自动化验收

端到端 UI 测试与验收