📋 系统概述
本系统是一个完整的端到端研发自动化平台,实现从需求分析到生产部署的全流程自动化。核心功能是基于 OpenAPI/Swagger 标准自动生成接口文档,并支持多语言代码生成、测试用例生成、CI/CD 集成等功能。
80%
效率提升
5+
语言支持
100%
OpenAPI 3.1 兼容
24/7
自动化运行
核心价值
- 效率提升: 减少 80% 的手动文档编写工作
- 质量保证: 自动生成标准化测试用例
- 一致性保障: 确保 API 文档与代码实时同步
- 多语言支持: 支持 Python、Java、JavaScript、Go 等主流语言
- DevOps 集成: 无缝对接 Jenkins、Docker、Kubernetes
⚡ 核心功能
PRD 智能解析
自动解析 Markdown/文本格式的 PRD 文档,使用 NLP 技术提取用户故事和功能需求,识别数据实体和 API 端点。
- Markdown 章节自动分割
- 用户故事识别提取
- 数据模型自动构建
- API 端点智能推断
OpenAPI 生成
构建符合 OpenAPI 3.1 规范的完整文档,支持多种认证方式,自动生成 Schema 定义。
- OpenAPI 3.1 完整支持
- JWT/OAuth2/API Key 认证
- JSON/YAML双格式输出
- Swagger UI 集成
多语言代码生成
根据 OpenAPI 规范自动生成多语言代码骨架,包含完整的 CRUD 操作。
- Spring Boot (Java)
- FastAPI/Flask (Python)
- NestJS/Express (Node.js)
- React + TypeScript
测试用例生成
自动生成单元测试、集成测试和 Postman 集合,确保代码质量。
- Pytest/JUnit/Jest测试
- 集成测试骨架
- Postman 集合导出
- Mock 数据生成
CI/CD Pipeline
完整的 Jenkins Pipeline 配置,支持自动化构建、测试、部署全流程。
- 代码质量检查
- 自动化测试执行
- Docker 镜像构建
- K8S 自动部署
K8S 部署配置
完整的 Kubernetes 部署配置,支持多环境、自动扩缩容、监控告警。
- Deployment/Service/Ingress
- HPA 自动扩缩容
- Prometheus 监控
- 多环境隔离
🏗️ 架构设计
用户界面层
Web/CLI/API
↓
Web/CLI/API
API Gateway
负载均衡/认证
↓
负载均衡/认证
PRD 解析服务
OpenAPI 生成
代码生成
测试生成
数据存储层
PostgreSQL + Redis
PostgreSQL + Redis
分层架构
| 层级 | 职责 | 技术选型 |
|---|---|---|
| 表现层 | Web UI、CLI、API | React、FastAPI、Click |
| 网关层 | 路由、认证、限流 | Nginx、Kong |
| 业务层 | 核心业务逻辑 | Python、Java |
| 数据层 | 持久化存储 | PostgreSQL、Redis |
| 基础设施层 | 容器、编排、监控 | Docker、K8s、Prometheus |
🔨 核心模块
1. PRD 解析器 (prd_parser.py)
功能: 解析 Markdown/文本格式的 PRD 文档,提取用户故事和功能需求
from src.prd_parser import PRDParser
parser = PRDParser()
with open('prd.md', 'r') as f:
prd_text = f.read()
result = parser.parse_markdown(prd_text)
openapi_spec = parser.generate_openapi_from_prd()
2. OpenAPI 生成器 (openapi_generator.py)
功能: 构建符合 OpenAPI 3.1 规范的文档
from src.openapi_generator import OpenAPIGenerator, APIEndpoint
generator = OpenAPIGenerator(title="My API", version="1.0.0")
generator.add_server("https://api.example.com/v1", "Production")
generator.add_schema("User", {"type": "object", ...})
generator.add_endpoint(APIEndpoint(path="/users", method="GET", ...))
generator.save_to_file('output/api_spec.json')
3. 代码生成器 (code_generator.py)
功能: 根据 OpenAPI 规范生成多语言代码
from src.code_generator import CodeGenerator
code_gen = CodeGenerator(spec, output_dir='./generated')
code_gen.generate_spring_boot(base_package="com.example.api")
code_gen.generate_fastapi()
code_gen.generate_react_typescript()
4. 测试生成器 (test_generator.py)
功能: 自动生成单元测试和集成测试
from src.test_generator import TestGenerator
test_gen = TestGenerator(spec, output_dir='./tests')
test_gen.generate_pytest_tests()
test_gen.generate_junit_tests()
test_gen.generate_postman_collection()
🛠️ 技术栈
后端技术
| 技术 | 版本 | 用途 |
|---|---|---|
| Python | 3.12 | 主要开发语言 |
| FastAPI | 0.109+ | Web 框架 |
| SQLAlchemy | 2.0+ | ORM |
| Pydantic | 2.5+ | 数据验证 |
前端技术
| 技术 | 版本 | 用途 |
|---|---|---|
| React | 18.x | UI 框架 |
| TypeScript | 5.x | 类型系统 |
| Ant Design | 5.x | UI 组件库 |
| Axios | 1.x | HTTP 客户端 |
基础设施
| 技术 | 版本 | 用途 |
|---|---|---|
| Docker | 24.x | 容器化 |
| Kubernetes | 1.29+ | 容器编排 |
| Jenkins | 2.4xx | CI/CD |
| PostgreSQL | 16.x | 数据库 |
| Redis | 7.x | 缓存 |
🚀 部署方案
CI/CD Pipeline 流程
Stage 1: 准备阶段
拉取最新代码,显示 Git 提交信息,初始化构建环境
Stage 2: 代码质量检查
SonarQube 分析、安全扫描、代码风格检查
Stage 3: 单元测试
执行 Pytest/JUnit/Jest测试,生成覆盖率报告
Stage 4: 集成测试
执行 API 集成测试和 Postman 集合测试
Stage 5: Docker 镜像构建
多阶段构建优化镜像大小,推送到镜像仓库
Stage 6: K8S 部署
应用 Kubernetes 配置,滚动更新,健康检查
Kubernetes 资源配置
开发环境: 2 副本,CPU 250m-1000m,内存 512Mi-1Gi
生产环境: 3-20 副本(自动扩缩容),CPU 4-8 Core,内存 8-16Gi
📖 使用指南
环境要求
- Python 3.10+
- Node.js 18+ (可选)
- Java 17+ (可选)
- Docker 20+ (可选)
快速开始
# 1. 克隆项目
git clone https://github.com/example/openapi-generator.git
cd openapi-generator
# 2. 安装依赖
pip install -r requirements.txt
# 3. 运行生成器
python src/openapi_generator.py
# 4. 查看生成的文档
open output/api_spec.json
命令行工具
# 从 PRD 生成 API
python -m src.cli generate-from-prd --input prd.md --output api.json
# 生成代码
python -m src.cli generate-code --input api.json --output ./src --lang python
# 生成测试
python -m src.cli generate-tests --input api.json --output ./tests
# 验证 OpenAPI 规范
python -m src.cli validate --input api.json
📁 文件清单
openapi_generator/
├── src/
│ ├── openapi_generator.py # OpenAPI 生成器核心
│ ├── code_generator.py # 多语言代码生成器
│ ├── prd_parser.py # PRD 文档解析器
│ └── test_generator.py # 测试用例生成器
├── tests/
│ └── [测试代码目录]
├── templates/
│ └── [代码模板目录]
├── config/
│ └── [配置文件目录]
├── ci_cd/
│ └── Jenkinsfile # CI/CD Pipeline 配置
├── docker/
│ ├── Dockerfile # Docker 镜像配置
│ └── entrypoint.sh # 容器入口脚本
├── k8s/
│ ├── dev/
│ │ ├── deployment.yaml # K8S Deployment
│ │ ├── service.yaml # K8S Service
│ │ ├── ingress.yaml # K8S Ingress
│ │ └── hpa.yaml # 自动扩缩容配置
│ ├── staging/
│ └── production/
├── docs/
│ ├── SYSTEM_ARCHITECTURE.md # 系统架构文档
│ └── USER_GUIDE.md # 用户使用指南
└── README.md
产物列表
📄 源代码文件
- openapi_generator.py
- code_generator.py
- prd_parser.py
- test_generator.py
⚙️ 配置文件
- Jenkinsfile
- Dockerfile
- entrypoint.sh
- K8S YAML 配置
📚 文档文件
- SYSTEM_ARCHITECTURE.md
- USER_GUIDE.md
- HTML 可视化报告