refactor: 重命名 ruoyi 目录和文件为 hzhub

This commit is contained in:
2026-03-27 06:45:32 +00:00
parent f115a793a7
commit ff0ec6d2e3
1015 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,370 @@
# HZHub-Admin 管理后台审查报告
> 审查时间2026-03-26
> 项目路径:/data/hzhub-ai/hzhub-admin/
---
## 一、项目概述
### 1.1 基本信息
| 属性 | 内容 |
|------|------|
| 项目名称 | HZHub-AI Admin |
| 定位 | 企业级AI助手平台 - 管理后台 |
| 技术栈 | Vue 3 + Vben Admin + Ant Design Vue |
| 构建工具 | Vite + pnpm + Turbo |
| 包管理 | pnpm workspace (monorepo) |
### 1.2 核心功能
- **系统管理**:用户、角色、菜单、部门、岗位、字典
- **AI配置**:模型管理、知识库管理、流程编排
- **MCP工具**:工具管理、市场管理
- **工作流**:流程设计、审批管理
- **监控运维**:在线用户、操作日志、登录日志
---
## 二、项目结构分析
### 2.1 Monorepo架构
```
hzhub-admin/ # 根目录
├── apps/ # 应用目录
│ └── web-antd/ # Ant Design Vue版本主应用
├── packages/ # 共享包目录
│ ├── @core/ # 核心功能包
│ ├── effects/ # 副作用包(请求、权限等)
│ ├── icons/ # 图标库
│ ├── locales/ # 国际化
│ ├── preferences/ # 偏好设置
│ ├── stores/ # Pinia状态管理
│ ├── styles/ # 样式系统
│ ├── types/ # TypeScript类型
│ └── utils/ # 工具函数
├── internal/ # 内部工具
├── package.json # 根package.json
├── pnpm-workspace.yaml # pnpm工作区配置
└── turbo.json # Turbo构建配置
```
### 2.2 主应用结构
```
apps/web-antd/
├── src/
│ ├── api/ # API接口定义
│ ├── assets/ # 静态资源
│ ├── components/ # 业务组件
│ ├── composables/ # Vue组合式函数
│ ├── layouts/ # 布局组件
│ ├── router/ # 路由配置
│ ├── stores/ # 状态管理
│ ├── styles/ # 样式文件
│ ├── views/ # 页面视图
│ │ ├── aiflow/ # AI流程编排
│ │ ├── chat/ # AI聊天管理
│ │ │ ├── message/ # 消息管理
│ │ │ ├── model/ # 模型管理
│ │ │ └── provider/ # 提供商管理
│ │ ├── knowledge/ # 知识库管理
│ │ │ ├── attach/ # 附件管理
│ │ │ ├── fragment/ # 片段管理
│ │ │ └── info/ # 知识库信息
│ │ ├── mcp/ # MCP工具管理
│ │ │ ├── market/ # MCP市场
│ │ │ └── tool/ # MCP工具
│ │ ├── nodeManage/ # 节点管理
│ │ ├── system/ # 系统管理
│ │ ├── workflow/ # 工作流管理
│ │ └── ...
│ ├── App.vue
│ └── main.ts
├── package.json
├── vite.config.mts
└── ...
```
---
## 三、技术栈详解
### 3.1 核心框架
| 技术 | 版本/说明 | 用途 |
|------|----------|------|
| Vue | 3.x | 前端框架 |
| TypeScript | 5.x | 类型系统 |
| Vite | 6.x | 构建工具 |
| pnpm | 10.x | 包管理器 |
| Turbo | latest | 构建加速 |
### 3.2 UI组件库
| 组件库 | 说明 |
|--------|------|
| Ant Design Vue | 主UI组件库 |
| @vue-flow/core | 流程图/节点编辑器 |
| @antv/g6 | 图可视化 |
| echarts | 图表库 |
| tinymce | 富文本编辑器 |
### 3.3 状态与请求
| 库 | 用途 |
|----|------|
| Pinia | 状态管理 |
| Vue Router | 路由管理 |
| Axios | HTTP请求封装在@vben/request|
### 3.4 Vben生态
```
@vben/* 命名空间下的包:
├── @vben/access # 权限控制
├── @vben/common-ui # 通用UI组件
├── @vben/constants # 常量定义
├── @vben/hooks # Vue hooks
├── @vben/icons # 图标
├── @vben/layouts # 布局组件
├── @vben/locales # 国际化
├── @vben/plugins # 插件
├── @vben/preferences # 偏好设置
├── @vben/request # 请求封装
├── @vben/stores # 状态管理
├── @vben/styles # 样式
├── @vben/types # 类型定义
└── @vben/utils # 工具函数
```
---
## 四、核心功能实现分析
### 4.1 流程编排设计器 (aiflow)
**技术栈**@vue-flow/core + 自定义节点
**核心组件**
- `workflow-designer.vue`:流程设计器主组件
- `workflow-modal.vue`:工作流编辑弹窗
- 节点类型组件Answer、Switcher、HumanFeedback等
**数据流**
```
工作流定义 → 节点配置 → 边连接 → 保存到后端
↑ ↓
渲染展示 ← 图引擎构建 ← JSON解析
```
### 4.2 知识库管理 (knowledge)
**功能模块**
- 知识库信息管理info
- 文档附件管理attach
- 知识片段管理fragment
**核心功能**
- 文档上传支持PDF、Word、Excel
- 分段策略配置
- 向量化处理状态跟踪
### 4.3 MCP工具管理 (mcp)
**功能模块**
- MCP工具列表tool
- MCP市场market
**核心功能**
- 本地/远程/内置工具管理
- 工具连接测试
- 市场工具导入
### 4.4 AI聊天管理 (chat)
**功能模块**
- 模型提供商管理provider
- 模型配置管理model
- 消息记录管理message
---
## 五、代码组织与规范
### 5.1 目录命名规范
```
views/ # 页面视图
├── [module]/ # 模块名(小写)
│ ├── index.vue # 列表页
│ ├── [page]/ # 子页面
│ │ └── index.vue
│ ├── data.ts # 表格/表单配置
│ └── [component].vue # 业务组件
```
### 5.2 API组织
```
api/
├── aiflow.ts # 流程编排API
├── chat.ts # 聊天API
├── knowledge.ts # 知识库API
├── mcp.ts # MCP工具API
├── system.ts # 系统管理API
└── ...
```
### 5.3 组件封装模式
**列表页标准结构**
```vue
<script setup lang="ts">
// 1. 导入依赖
import { useVbenVxeGrid } from '#/adapter/vxe-table';
import { workflowApi } from '#/api/aiflow';
// 2. 表格配置
const gridOptions: VxeGridProps = {
columns,
proxyConfig: {
ajax: {
query: async ({ page }, formValues) => {
const result = await workflowApi.workflowPage({...});
return { rows: result.records, total: result.total };
},
},
},
};
// 3. 使用封装组件
const [BasicTable, tableApi] = useVbenVxeGrid({
formOptions,
gridOptions,
});
</script>
```
---
## 六、HZHub借鉴点
### 6.1 架构设计借鉴
| 方面 | HZHub-Admin实践 | HZHub应用 |
|------|-----------------|-----------|
| Monorepo | pnpm workspace + Turbo | hzhub-admin采用同样结构 |
| 组件封装 | useVbenVxeGrid通用表格 | 复用或参考实现ERP表格 |
| 权限控制 | @vben/access权限库 | 复用权限系统 |
| 状态管理 | Pinia + Stores分层 | 复用状态管理方案 |
| 请求封装 | @vben/request Axios封装 | 复用请求层 |
### 6.2 功能复用建议
**可直接复用**
- 系统管理模块(用户、角色、菜单、部门)
- 权限控制组件
- 通用表格/表单组件
- 布局系统
**需要改造**
- AI管理模块 → 改为ERP管理模块
- 流程编排 → 改为业务流程编排
- 知识库 → 改为ERP文档库
### 6.3 hzhub-admin推荐结构
```
hzhub-admin/
├── apps/
│ └── web/ # 主应用
├── packages/
│ ├── @core/ # 核心复用vben
│ ├── effects/ # 副作用复用vben
│ └── ...
└── ...
apps/web/src/views/
├── erp/ # ERP管理新增
│ ├── table/ # 表管理
│ ├── procedure/ # 存储过程管理
│ └── config/ # ERP配置
├── system/ # 系统管理(复用)
├── ai/ # AI管理复用ruoyi
└── ...
```
---
## 七、开发环境配置
### 7.1 环境变量
```
.env.development # 开发环境
.env.production # 生产环境
关键配置:
- VITE_API_URL后端API地址
- VITE_APP_TITLE应用标题
```
### 7.2 启动命令
```bash
# 安装依赖
pnpm install
# 开发模式
pnpm dev
# 生产构建
pnpm build:prod
# 类型检查
pnpm check:type
```
---
## 八、技术风险与建议
### 8.1 已知风险
| 风险 | 说明 | 建议 |
|------|------|------|
| pnpm版本 | 要求>=9.12.0 | 统一开发环境 |
| Node版本 | 要求>=20.10.0 | 使用nvm管理 |
| 组件库版本 | Ant Design Vue版本锁定 | 注意兼容性 |
### 8.2 集成建议
1. **复用Vben生态**:直接使用@vben/*包,减少重复开发
2. **渐进式迁移**先复用系统管理再扩展ERP功能
3. **保持结构一致**遵循hzhub-admin的目录规范
---
## 九、总结
### 9.1 核心收获
1. **架构先进**Monorepo + pnpm + Turbo适合大型项目
2. **组件丰富**Vben生态提供完整的后台管理组件
3. **AI功能完整**流程编排、知识库、MCP工具管理齐全
4. **代码规范**:目录结构清晰,组件封装模式统一
### 9.2 下一步行动
1. 复用 `hzhub-admin` 作为 `hzhub-admin` 基础
2. 保留系统管理、权限控制等通用功能
3. 改造AI管理模块为ERP管理模块
4. 复用流程编排设计器增加ERP业务节点
---
**审查完成时间**2026-03-26 08:45 UTC
**审查人**:大壮