2026-05-21 11:20:19 +08:00
|
|
|
|
# GPU Guard - GPU 智能管理审核平台
|
2026-05-20 21:39:12 +08:00
|
|
|
|
|
2026-05-21 11:20:19 +08:00
|
|
|
|
> 基于 Midway.js + Vue 3 + AI引擎 的智能 GPU 管理平台,Monorepo 架构
|
2026-05-20 21:39:12 +08:00
|
|
|
|
|
|
|
|
|
|
## 技术架构
|
|
|
|
|
|
|
|
|
|
|
|
| 层级 | 技术选型 | 端口 |
|
|
|
|
|
|
|------|---------|------|
|
|
|
|
|
|
| **后端** | Midway.js 3.20 + TypeScript 5.9 + TypeORM + Cool Admin | 8003 |
|
|
|
|
|
|
| **前端** | Vue 3.5 + Vite 5.4 + Element Plus 2.9 + Pinia | 9001 |
|
2026-05-21 09:08:59 +08:00
|
|
|
|
| **AI 引擎** | AI Agent 引擎 (ReAct 循环 + TypeBox Schema + WebSocket) | - |
|
2026-05-20 21:39:12 +08:00
|
|
|
|
| **数据库** | MySQL 8.0+ | 3306 |
|
|
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
2026-05-21 11:20:19 +08:00
|
|
|
|
GPU_GUARD_MONOREPO/
|
2026-05-20 21:39:12 +08:00
|
|
|
|
├── packages/
|
|
|
|
|
|
│ ├── backend/ # Midway.js 后端 (Cool Admin 框架)
|
|
|
|
|
|
│ ├── frontend/ # Vue 3 前端 (Cool Admin UI)
|
|
|
|
|
|
│ └── shared/ # 共享 TypeScript 类型
|
|
|
|
|
|
├── docs/ # 设计文档与实施计划
|
|
|
|
|
|
├── pnpm-workspace.yaml
|
|
|
|
|
|
└── package.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 快速开始
|
|
|
|
|
|
|
|
|
|
|
|
### 环境要求
|
|
|
|
|
|
|
|
|
|
|
|
- **Node.js**: >= 24.0.0
|
|
|
|
|
|
- **pnpm**: >= 8.0.0
|
|
|
|
|
|
- **MySQL**: >= 8.0.0
|
|
|
|
|
|
|
|
|
|
|
|
### 安装与启动
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
pnpm install
|
|
|
|
|
|
|
|
|
|
|
|
# 同时启动后端 + 前端
|
|
|
|
|
|
pnpm dev
|
|
|
|
|
|
|
|
|
|
|
|
# 单独启动
|
|
|
|
|
|
pnpm dev:backend # 后端 http://localhost:8003
|
|
|
|
|
|
pnpm dev:frontend # 前端 http://localhost:9001
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 核心模块
|
|
|
|
|
|
|
|
|
|
|
|
### 后端模块
|
|
|
|
|
|
|
|
|
|
|
|
| 模块 | 路径 | 用途 |
|
|
|
|
|
|
|------|------|------|
|
|
|
|
|
|
| **base** | `modules/base/` | 用户、角色、菜单、权限 (RBAC) |
|
|
|
|
|
|
| **netaclaw** | `modules/netaclaw/` | AI Agent 引擎 (ReAct + WebSocket) |
|
|
|
|
|
|
| **dict** | `modules/dict/` | 字典管理 |
|
|
|
|
|
|
| **task** | `modules/task/` | 定时任务 |
|
|
|
|
|
|
| **space** | `modules/space/` | 文件空间 |
|
|
|
|
|
|
| **user** | `modules/user/` | 应用用户 |
|
|
|
|
|
|
|
|
|
|
|
|
### 前端模块
|
|
|
|
|
|
|
|
|
|
|
|
| 模块 | 路由前缀 | 用途 |
|
|
|
|
|
|
|------|---------|------|
|
2026-05-21 09:08:59 +08:00
|
|
|
|
| **agent** | `/agent/*` | 智能体对话、技能管理、模型渠道管理 |
|
2026-05-20 21:39:12 +08:00
|
|
|
|
| **base** | `/` | 登录、用户、角色、菜单、部门 |
|
|
|
|
|
|
|
|
|
|
|
|
## 数据库
|
|
|
|
|
|
|
|
|
|
|
|
后端配置位于 `packages/backend/src/config/`:
|
|
|
|
|
|
- 开发环境: `config.local.ts`
|
|
|
|
|
|
- 生产环境: `config.prod.ts`
|
|
|
|
|
|
|
|
|
|
|
|
数据库名: `cpu_guard`,TypeORM 开发环境自动建表 (`synchronize: true`)。
|
|
|
|
|
|
|
|
|
|
|
|
## 开发规范
|
|
|
|
|
|
|
|
|
|
|
|
- **后端文件名**: 下划线法 (`model_channel.ts`)
|
|
|
|
|
|
- **Entity 字段**: 驼峰法 (`modelConfig`)
|
|
|
|
|
|
- **注释**: 中文
|
|
|
|
|
|
- **Entity**: 继承 BaseEntity,不使用外键
|
|
|
|
|
|
- **Controller**: 使用 `@CoolController` 自动生成 CRUD
|
|
|
|
|
|
- **包管理器**: 必须使用 pnpm
|