这是一个基于人工智能的企业级需求分析和设计文档生成系统,采用前后端分离架构,能够结合公司现有的产品需求文档库、数据库结构和设计文档模板来进行深度分析。
- 📄 支持多种文档格式(PDF、Word、图片等)
- 🔍 结合历史需求文档库进行语义相似性分析
- 🗄️ 自动分析现有数据库结构和字段
- 🔑 提取业务关键词和技术关键词
- ⚠️ 智能检查需求文档中的问题和缺陷
- 🔌 自动分析需要开发的API接口数量
- 📊 识别每个接口需要的数据字段
- 🗃️ 检查数据库中字段的可用性
- 📋 生成详细的接口设计文档
- 📝 基于企业模板生成后端详细设计文档
- 🎨 结合前端截图生成前端详细设计文档
- 📐 包含系统架构、数据库设计、API设计等完整内容
- 💾 支持设计文档的保存和下载
- 📷 支持上传前端界面截图
- 🔤 自动OCR识别截图中的文字内容
- 🎯 结合截图内容生成前端设计文档
- 🗄️ 向量数据库: 基于Weaviate的语义搜索知识库
- 📚 多格式支持: 自动处理DOCX、XLSX、Java、XML等文件
- 🔍 智能检索: 支持自然语言查询,快速定位相关文档
- 💾 缓存优化: Redis缓存机制,提升查询性能
- 🔄 增量更新: 支持知识库内容的增量更新和维护
- ⚙️ YAML配置: 统一的config.yaml配置文件
- 🔧 模块化配置: 支持LLM、数据库、缓存等模块独立配置
- 🔐 安全管理: API密钥和敏感信息的安全存储
- 📊 配置验证: 自动验证配置项的有效性
┌─────────────────┐    WebSocket/HTTP    ┌─────────────────┐
│   Vue 3 前端    │ ←─────────────────→ │  Python 后端    │
│                 │                      │                 │
│ • Element Plus  │                      │ • Flask API     │
│ • WebSocket     │                      │ • SocketIO      │
│ • 实时聊天界面   │                      │ • AI 分析引擎   │
└─────────────────┘                      └─────────────────┘
     端口: 3000                              端口: 8081
- 前端: Vue 3 + Element Plus + WebSocket + Vite
- 后端: Python Flask + SocketIO + AI引擎
- LangChain: 构建智能体和连接组件
- DeepSeek/火山引擎: 大语言模型,提供强大的文本理解和生成能力
- 向量数据库: Weaviate + sentence-transformers,语义搜索和知识检索
- 缓存系统: Redis,高性能缓存和会话管理
- 配置管理: YAML + Pydantic,统一配置验证和管理
- SQLAlchemy: 关系型数据库连接,分析现有业务数据库
- PyPDF2/pdfplumber/docx/unstructured: 多格式文档处理
- Tesseract/EasyOCR: OCR工具,处理前端截图中的文本
# 克隆项目
git clone [项目地址]
cd analyDesign
# 设置虚拟环境
powershell -ExecutionPolicy Bypass -File setup_env.ps1
# 激活虚拟环境
call analyDesign_env\Scripts\activate.bat
# 安装Python依赖
pip install -r requirements.txt编辑 config.yaml 文件,配置以下参数:
# LLM配置
volcengine:
  api_key: "your_volcengine_api_key_here"
  base_url: "https://ark.cn-beijing.volces.com/api/v3"
  model: "ep-20241205140139-5vqkz"
# 向量数据库配置
weaviate:
  host: "localhost"
  port: 8080
  api_key: "root-user-key"
# Redis缓存配置
redis:
  host: "localhost"
  port: 6379
  db: 0
# 业务数据库配置(可选)
database:
  url: "mysql://username:password@localhost:3306/business_db"# 启动后端服务(推荐)
双击 start_back.bat
# 或使用Python直接启动
python run.py# 启动前端服务
双击 启动前端.bat
# 或手动启动
cd frontend
npm install
npm run dev# 检查服务状态
双击 检查服务状态.bat- 前端界面: http://localhost:3000
- 后端API: http://localhost:8081
- WebSocket: ws://localhost:8081/socket.io/
- 启动后端服务(端口8081)
- 启动前端服务(端口3000)
- 在浏览器中访问前端界面
- 在聊天界面上传需求文档(PDF、Word等)
- 可选:上传前端界面截图
- 系统自动进行智能分析
- 与AI助手进行实时对话
- 获取需求分析结果
- 生成设计文档和建议
- 查看分析报告和设计建议
- 下载生成的设计文档
- 获取API接口设计详情
- 使用知识库查询工具:python query_knowledge_base.py
- 输入自然语言查询,如"数据库表结构"、"用户管理代码"等
- 获取相关的历史文档和代码片段
- 结合查询结果优化需求分析
analyDesign/
├── 🚀 启动脚本
│   ├── start_back.bat               # 后端启动脚本
│   ├── 启动前端.bat                 # 前端启动脚本
│   ├── 检查服务状态.bat             # 服务状态检查
│   ├── 重新安装环境.bat             # 环境重装脚本
│   ├── run.py                       # 主启动脚本
│   └── query_knowledge_base.py      # 知识库查询工具
│
├── 🐍 后端核心
│   ├── src/
│   │   ├── apis/                    # API接口层
│   │   │   ├── analysis_api.py      # 分析API
│   │   │   ├── file_api.py          # 文件处理API
│   │   │   ├── task_api.py          # 任务管理API
│   │   │   └── websocket_api.py     # WebSocket API
│   │   │
│   │   ├── analysis_services/       # 分析服务层
│   │   │   ├── enhanced_analyzer.py # 智能分析引擎
│   │   │   ├── database_analyzer.py # 数据库分析器
│   │   │   └── document_processor.py # 文档处理器
│   │   │
│   │   ├── utils/                   # 工具模块
│   │   │   ├── volcengine_client.py # 火山引擎AI客户端
│   │   │   ├── openai_client.py     # OpenAI客户端
│   │   │   ├── analysis_utils.py    # 分析工具
│   │   │   ├── task_storage.py      # 任务存储
│   │   │   ├── llm_logger.py        # LLM日志记录
│   │   │   ├── weaviate_helper.py   # Weaviate向量数据库
│   │   │   ├── redis_util.py        # Redis缓存工具
│   │   │   ├── knowledge_init_weaviate.py # 知识库初始化
│   │   │   ├── weaviate_usage_example.py  # Weaviate使用示例
│   │   │   └── redis_usage_example.py     # Redis使用示例
│   │   │
│   │   ├── resource/                # 资源配置
│   │   │   └── config.py            # 统一配置管理
│   │   │
│   │   ├── websockets/              # WebSocket服务
│   │   │   └── socket_handlers.py   # Socket处理器
│   │   │
│   │   └── tasks.db                 # SQLite任务数据库
│   │
│   ├── config.yaml                  # 主配置文件
│   ├── requirements.txt             # Python依赖包
│   └── tasks.db                     # 任务数据库
│
├── 🎨 前端应用
│   ├── frontend/
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   └── ChatInterface.vue    # 主聊天界面
│   │   │   ├── stores/              # Pinia状态管理
│   │   │   ├── router/              # Vue路由
│   │   │   ├── assets/              # 静态资源
│   │   │   ├── utils/               # 工具函数
│   │   │   ├── App.vue              # 根组件
│   │   │   └── main.js              # 入口文件
│   │   ├── package.json             # 前端依赖
│   │   ├── vite.config.js           # Vite配置
│   │   └── index.html               # HTML模板
│   
├── 📄 数据和模板
│   ├── templates/                   # 设计文档模板
│   │   └── knowledge_init_weaviate.md # 知识库初始化需求
│   ├── uploads/                     # 文件上传目录
│   ├── outputs/                     # 生成文档输出
│   └── logs/                        # 系统日志
│
├── 🔧 环境和配置
│   ├── analyDesign_env/             # Python虚拟环境
│   ├── setup_env.ps1                # 环境设置脚本
│   └── .gitignore                   # Git忽略文件
│
├── 🧪 测试和工具
│   └── tests/                       # 测试文件
│
├── 🗄️ 向量数据库与缓存
│   ├── 知识库使用说明.md            # 知识库使用文档
│   └── query_knowledge_base.py      # 知识库查询工具
│
└── 📚 文档说明
    ├── README.md                    # 项目主文档
    ├── 当前接口结构说明.md          # 接口结构说明
    ├── 文件分析模块接口设计说明.md  # 文件分析模块说明
    ├── 环境配置说明.md              # 环境配置
    └── 快速安装指南.md              # 安装指南
- run.py: 主要后端服务启动入口,集成HTTP API和WebSocket
- src/analysis_services/enhanced_analyzer.py: AI智能分析核心引擎
- src/utils/volcengine_client.py: 火山引擎大模型接口
- src/resource/config.py: 统一配置管理系统
- config.yaml: 主配置文件,包含所有服务配置
- src/utils/weaviate_helper.py: Weaviate向量数据库连接管理
- src/utils/redis_util.py: Redis缓存工具和连接管理
- src/utils/knowledge_init_weaviate.py: 知识库初始化脚本
- query_knowledge_base.py: 知识库查询工具
- 知识库使用说明.md: 知识库使用文档
- src/apis/analysis_api.py: 分析相关API接口
- src/apis/file_api.py: 文件处理API接口
- src/apis/task_api.py: 任务管理API接口
- src/apis/websocket_api.py: WebSocket API接口
- src/utils/analysis_utils.py: 分析工具函数
- src/utils/task_storage.py: 任务存储管理
- src/utils/llm_logger.py: LLM调用日志记录
- src/utils/openai_client.py: OpenAI客户端
- frontend/src/components/ChatInterface.vue: 主聊天交互界面
- frontend/src/stores/: Pinia状态管理,包含WebSocket连接
- frontend/package.json: 前端依赖和脚本配置
- start_back.bat: 后端服务启动脚本
- 启动前端.bat: 前端服务启动脚本
- 检查服务状态.bat: 服务状态检查工具
- 重新安装环境.bat: 环境重装脚本
- analyDesign_env/: Python虚拟环境目录
- setup_env.ps1: 自动创建和配置虚拟环境
- requirements.txt: Python依赖包列表
系统支持连接现有的业务数据库来分析表结构:
# MySQL
BUSINESS_DATABASE_URL = "mysql://username:password@localhost:3306/database_name"
# PostgreSQL
BUSINESS_DATABASE_URL = "postgresql://username:password@localhost:5432/database_name"系统支持向量数据库和缓存系统的配置:
# Weaviate向量数据库
weaviate:
  host: "localhost"
  port: 8080
  api_key: "root-user-key"
  collection_name: "KnowledgeDocument"
# Redis缓存
redis:
  host: "localhost"
  port: 6379
  db: 0
  connection_pool:
    max_connections: 20首次使用需要初始化知识库:
# 初始化知识库(将D:\knowledge_base内容导入)
python src/utils/knowledge_init_weaviate.py
# 查询知识库
python query_knowledge_base.py您可以在 templates/ 目录下自定义设计文档模板:
- backend_design_template.md: 后端设计文档模板
- frontend_design_template.md: 前端设计文档模板
- 产品需求分析: 快速分析产品需求文档,识别关键业务点
- 技术方案设计: 基于需求自动生成技术实现方案
- API接口设计: 自动分析并设计所需的API接口
- 数据库设计: 结合现有数据库结构进行设计优化
- 文档标准化: 基于企业模板生成标准化设计文档
- 支持本地部署,数据不出企业内网
- 敏感信息加密存储
- 支持用户权限管理
- 完整的操作日志记录
任玉