Initial commit: HZHub project setup with RuoYi-AI base
This commit is contained in:
344
docs/learnings/04-summary-analysis.md
Normal file
344
docs/learnings/04-summary-analysis.md
Normal file
@@ -0,0 +1,344 @@
|
||||
# RuoYi-AI 三项目综合分析报告
|
||||
|
||||
> 分析时间:2026-03-26
|
||||
> 分析对象:ruoyi-ai(后端)、ruoyi-admin(管理后台)、ruoyi-web(用户前端)
|
||||
|
||||
---
|
||||
|
||||
## 一、整体架构总览
|
||||
|
||||
### 1.1 三项目关系图
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ RuoYi-AI 生态系统 │
|
||||
├─────────────────┬─────────────────┬─────────────────────────────┤
|
||||
│ ruoyi-web │ ruoyi-admin │ ruoyi-ai │
|
||||
│ (用户前端) │ (管理后台) │ (后端服务) │
|
||||
├─────────────────┼─────────────────┼─────────────────────────────┤
|
||||
│ · AI对话界面 │ · 系统管理 │ · 多模型接入 │
|
||||
│ · 知识库问答 │ · 模型配置 │ · RAG知识库 │
|
||||
│ · 工作流执行 │ · 知识库管理 │ · MCP工具框架 │
|
||||
│ · 智能体交互 │ · 流程编排设计 │ · 流程编排引擎 │
|
||||
│ │ · MCP工具管理 │ · 多智能体框架 │
|
||||
│ │ · 工作流管理 │ · 企业微信SDK │
|
||||
└─────────────────┴─────────────────┴─────────────────────────────┘
|
||||
│ │ │
|
||||
└────────────────┴────────────────────┘
|
||||
│
|
||||
┌─────────┴─────────┐
|
||||
│ 数据存储层 │
|
||||
│ MySQL + Milvus │
|
||||
└───────────────────┘
|
||||
```
|
||||
|
||||
### 1.2 技术栈对比
|
||||
|
||||
| 层级 | ruoyi-web | ruoyi-admin | ruoyi-ai |
|
||||
|------|-----------|-------------|----------|
|
||||
| **框架** | Vue 3 | Vue 3 | Spring Boot 3.5.8 |
|
||||
| **UI库** | Element Plus X | Ant Design Vue | - |
|
||||
| **样式** | UnoCSS | Tailwind CSS | - |
|
||||
| **状态** | Pinia | Pinia | - |
|
||||
| **请求** | hook-fetch | @vben/request | Spring AI |
|
||||
| **AI** | SSE流式 | 流程设计器 | LangChain4j |
|
||||
| **构建** | Vite | Vite + Turbo | Maven |
|
||||
| **架构** | Single Repo | Monorepo | 多模块Maven |
|
||||
|
||||
---
|
||||
|
||||
## 二、各项目深度分析
|
||||
|
||||
### 2.1 ruoyi-ai(后端)- 核心引擎
|
||||
|
||||
**架构评分**:⭐⭐⭐⭐⭐(5/5)
|
||||
|
||||
**优势**:
|
||||
- 模块化设计清晰(25个common子模块)
|
||||
- AI能力完整(模型接入、RAG、Agent、工作流)
|
||||
- 技术栈先进(LangChain4j、Spring AI)
|
||||
- 扩展性强(MCP协议、流程编排)
|
||||
|
||||
**不足**:
|
||||
- Spring Boot版本实际为3.5.8(非宣称的4.0)
|
||||
- SQL Server支持需自行开发
|
||||
- 文档有些地方不够详细
|
||||
|
||||
**核心资产**:
|
||||
| 模块 | 价值 | HZHub复用度 |
|
||||
|------|------|-------------|
|
||||
| ruoyi-chat | AI聊天、知识库、MCP | 90% |
|
||||
| ruoyi-aiflow | 流程编排引擎 | 90% |
|
||||
| ruoyi-system | 系统管理 | 80% |
|
||||
| ruoyi-common | 公共组件库 | 85% |
|
||||
|
||||
### 2.2 ruoyi-admin(管理后台)- 配置中心
|
||||
|
||||
**架构评分**:⭐⭐⭐⭐⭐(5/5)
|
||||
|
||||
**优势**:
|
||||
- Monorepo架构先进(pnpm + Turbo)
|
||||
- Vben生态丰富(@vben/*包)
|
||||
- 组件封装规范(useVbenVxeGrid等)
|
||||
- 权限控制完善
|
||||
|
||||
**不足**:
|
||||
- 学习曲线较陡(Vben生态复杂)
|
||||
- 构建依赖较多
|
||||
- 定制需要理解Monorepo机制
|
||||
|
||||
**核心资产**:
|
||||
| 功能 | 价值 | HZHub复用度 |
|
||||
|------|------|-------------|
|
||||
| 系统管理 | 用户、角色、菜单 | 95% |
|
||||
| 流程编排设计器 | @vue-flow/core | 90% |
|
||||
| 知识库管理 | 文档、片段管理 | 85% |
|
||||
| MCP工具管理 | 工具、市场 | 80% |
|
||||
|
||||
### 2.3 ruoyi-web(用户前端)- 交互界面
|
||||
|
||||
**架构评分**:⭐⭐⭐⭐(4/5)
|
||||
|
||||
**优势**:
|
||||
- 架构简洁(Single Repo)
|
||||
- Element Plus X组件专业(Sender等)
|
||||
- 流式响应处理成熟
|
||||
- 代码易于理解
|
||||
|
||||
**不足**:
|
||||
- 功能相对单一(主要是聊天)
|
||||
- 单包架构扩展性有限
|
||||
- 与Admin技术栈不一致(Element Plus vs Ant Design)
|
||||
|
||||
**核心资产**:
|
||||
| 组件 | 价值 | HZHub复用度 |
|
||||
|------|------|-------------|
|
||||
| ModelSelect | 模型选择器 | 90% |
|
||||
| FilesSelect | 文件选择器 | 90% |
|
||||
| Sender | 聊天输入组件 | 85% |
|
||||
| 流式处理 | SSE实现 | 95% |
|
||||
|
||||
---
|
||||
|
||||
## 三、HZHub整合策略
|
||||
|
||||
### 3.1 复用矩阵
|
||||
|
||||
| RuoYi资产 | HZHub目标 | 复用策略 | 工作量 |
|
||||
|-----------|-----------|----------|--------|
|
||||
| ruoyi-chat模块 | hzhub-ai | 直接复用 | 低 |
|
||||
| ruoyi-aiflow模块 | hzhub-ai | 直接复用 | 低 |
|
||||
| ruoyi-system模块 | hzhub-admin | 直接复用 | 低 |
|
||||
| ruoyi-admin整体 | hzhub-admin | 改造AI模块为ERP模块 | 中 |
|
||||
| ruoyi-web组件 | hzhub-portal-* | 复用组件,改造业务 | 中 |
|
||||
| SQL Agent | hzhub-erp | 改造为SQL Server版 | 高 |
|
||||
|
||||
### 3.2 推荐技术路线
|
||||
|
||||
```
|
||||
HZHub 技术栈决策:
|
||||
|
||||
后端 (hzhub-ai / hzhub-erp / hzhub-gateway)
|
||||
├── Spring Boot 3.5.8(与ruoyi-ai一致,暂不用4.0)
|
||||
├── LangChain4j 1.11.0
|
||||
├── MyBatis Plus 3.5.14
|
||||
├── Sa-Token 1.44.0
|
||||
└── 复用ruoyi-ai的common模块
|
||||
|
||||
管理后台 (hzhub-admin)
|
||||
├── Vue 3 + TypeScript
|
||||
├── Vben Admin(复用ruoyi-admin架构)
|
||||
├── Ant Design Vue
|
||||
├── pnpm workspace + Turbo
|
||||
└── 复用ruoyi-admin的packages
|
||||
|
||||
门户前端 (hzhub-portal-company / hzhub-portal-dealer)
|
||||
├── Vue 3 + TypeScript
|
||||
├── Element Plus X(复用ruoyi-web组件)
|
||||
├── UnoCSS
|
||||
├── Pinia
|
||||
└── 复用ruoyi-web的组件模式
|
||||
```
|
||||
|
||||
### 3.3 开发优先级
|
||||
|
||||
| 优先级 | 模块 | 依赖 | 预计工期 |
|
||||
|--------|------|------|----------|
|
||||
| P0 | hzhub-ai | 复用ruoyi-chat | 1周 |
|
||||
| P0 | hzhub-admin | 复用ruoyi-admin | 1周 |
|
||||
| P1 | hzhub-erp | 自研SQL Server适配 | 2-3周 |
|
||||
| P1 | hzhub-portal-company | 复用+改造 | 2周 |
|
||||
| P2 | hzhub-portal-dealer | 复用+改造 | 2周 |
|
||||
| P2 | 流程编排ERP节点 | 扩展aiflow | 1周 |
|
||||
|
||||
---
|
||||
|
||||
## 四、关键设计决策
|
||||
|
||||
### 4.1 后端架构决策
|
||||
|
||||
**决策1:Spring Boot版本**
|
||||
- 选择:3.5.8(与ruoyi-ai一致)
|
||||
- 理由:稳定性优先,4.0升级成本未知
|
||||
|
||||
**决策2:ERP服务独立**
|
||||
- 选择:独立hzhub-erp服务
|
||||
- 理由:隔离SQL Server 2008 R2兼容性风险
|
||||
|
||||
**决策3:AI服务复用**
|
||||
- 选择:直接复用ruoyi-chat
|
||||
- 理由:功能完整,改造成本低
|
||||
|
||||
### 4.2 前端架构决策
|
||||
|
||||
**决策1:管理后台框架**
|
||||
- 选择:Vben Admin(Ant Design Vue)
|
||||
- 理由:功能强大,生态完善
|
||||
|
||||
**决策2:门户前端框架**
|
||||
- 选择:Element Plus X
|
||||
- 理由:ruoyi-web组件可直接复用
|
||||
|
||||
**决策3:样式方案**
|
||||
- 选择:Admin用Tailwind,门户用UnoCSS
|
||||
- 理由:与各自复用源码保持一致
|
||||
|
||||
### 4.3 数据库决策
|
||||
|
||||
**决策1:向量数据库**
|
||||
- 选择:Milvus
|
||||
- 理由:ruoyi-ai原生支持,性能优秀
|
||||
|
||||
**决策2:ERP数据源**
|
||||
- 选择:直连SQL Server 2008 R2
|
||||
- 理由:无WebService接口,需JDBC直连
|
||||
|
||||
---
|
||||
|
||||
## 五、风险评估
|
||||
|
||||
### 5.1 技术风险
|
||||
|
||||
| 风险 | 等级 | 缓解措施 |
|
||||
|------|------|----------|
|
||||
| SQL Server 2008 R2兼容性 | 高 | 预留双数据源,可切换 |
|
||||
| LangChain4j API变化 | 中 | 锁定版本1.11.0 |
|
||||
| 前端技术栈不一致 | 中 | 文档化两套UI规范 |
|
||||
| 企业微信多实体对接 | 中 | 抽象配置层 |
|
||||
|
||||
### 5.2 项目风险
|
||||
|
||||
| 风险 | 等级 | 缓解措施 |
|
||||
|------|------|----------|
|
||||
| 工期估算不准 | 中 | 分阶段交付,每阶段验收 |
|
||||
| ERP数据结构不明 | 高 | 先做数据架构调研 |
|
||||
| 团队学习成本 | 中 | 文档+培训 |
|
||||
|
||||
---
|
||||
|
||||
## 六、实施建议
|
||||
|
||||
### 6.1 第一阶段(1-2周)
|
||||
|
||||
**目标**:搭建基础框架
|
||||
|
||||
**任务**:
|
||||
1. 创建Gitea仓库,初始化项目结构
|
||||
2. 复制ruoyi-ai代码到hzhub-ai
|
||||
3. 复制ruoyi-admin代码到hzhub-admin
|
||||
4. 验证基础功能运行
|
||||
|
||||
**产出**:
|
||||
- 可运行的基础框架
|
||||
- 开发环境搭建文档
|
||||
|
||||
### 6.2 第二阶段(3-4周)
|
||||
|
||||
**目标**:ERP服务开发
|
||||
|
||||
**任务**:
|
||||
1. 开发hzhub-erp服务(SQL Server连接)
|
||||
2. 实现基础数据查询API
|
||||
3. 开发SQL Agent(SQL Server版)
|
||||
4. 集成到hzhub-admin
|
||||
|
||||
**产出**:
|
||||
- ERP服务可用
|
||||
- 基础数据查询功能
|
||||
|
||||
### 6.3 第三阶段(5-6周)
|
||||
|
||||
**目标**:门户开发
|
||||
|
||||
**任务**:
|
||||
1. 开发hzhub-portal-company
|
||||
2. 开发hzhub-portal-dealer
|
||||
3. 集成AI组件到门户
|
||||
4. 企业微信对接
|
||||
|
||||
**产出**:
|
||||
- 公司门户可用
|
||||
- 经销商门户可用
|
||||
|
||||
### 6.4 第四阶段(7-8周)
|
||||
|
||||
**目标**:流程编排与优化
|
||||
|
||||
**任务**:
|
||||
1. 扩展流程编排ERP节点
|
||||
2. 性能优化
|
||||
3. 安全加固
|
||||
4. 文档完善
|
||||
|
||||
**产出**:
|
||||
- 完整业务流程跑通
|
||||
- 上线准备就绪
|
||||
|
||||
---
|
||||
|
||||
## 七、总结
|
||||
|
||||
### 7.1 RuoYi-AI价值评估
|
||||
|
||||
| 维度 | 评分 | 说明 |
|
||||
|------|------|------|
|
||||
| 技术先进性 | ⭐⭐⭐⭐⭐ | Spring AI、LangChain4j、流程编排 |
|
||||
| 代码质量 | ⭐⭐⭐⭐⭐ | 规范清晰,文档完善 |
|
||||
| 功能完整性 | ⭐⭐⭐⭐⭐ | AI能力全覆盖 |
|
||||
| 可复用性 | ⭐⭐⭐⭐⭐ | 模块化设计,易于复用 |
|
||||
| 社区活跃度 | ⭐⭐⭐⭐ | 较新项目,发展迅速 |
|
||||
|
||||
**总体评价**:RuoYi-AI是构建HZHub的**理想基础**,可以大幅缩短开发周期(估计节省3-4个月)。
|
||||
|
||||
### 7.2 HZHub建设路径
|
||||
|
||||
```
|
||||
基于RuoYi-AI构建HZHub的核心策略:
|
||||
|
||||
1. 复用为主(70%)
|
||||
- 直接复用ruoyi-chat、ruoyi-aiflow
|
||||
- 直接复用ruoyi-admin系统管理
|
||||
- 复用ruoyi-web组件
|
||||
|
||||
2. 改造为辅(20%)
|
||||
- 改造AI模块为ERP模块
|
||||
- 改造SQL Agent为SQL Server版
|
||||
- 改造门户为业务门户
|
||||
|
||||
3. 自研补充(10%)
|
||||
- ERP数据适配层
|
||||
- 企业微信多实体对接
|
||||
- 业务流程节点
|
||||
```
|
||||
|
||||
### 7.3 下一步行动
|
||||
|
||||
1. **立即执行**:创建Gitea仓库,初始化项目
|
||||
2. **本周完成**:复制ruoyi-ai和ruoyi-admin代码
|
||||
3. **下周开始**:ERP服务开发
|
||||
4. **持续进行**:文档更新和团队培训
|
||||
|
||||
---
|
||||
|
||||
**分析完成时间**:2026-03-26 09:15 UTC
|
||||
**分析师**:大壮
|
||||
Reference in New Issue
Block a user