# GPU Guard - GPU 智能监控与防护平台

> 基于 Midway.js + Vue 3 + AI引擎 的智能 GPU 监控平台，Monorepo 架构

## 技术架构

| 层级 | 技术选型 | 端口 |
|------|---------|------|
| **后端** | Midway.js 3.20 + TypeScript 5.9 + TypeORM + Cool Admin | 8003 |
| **前端** | Vue 3.5 + Vite 5.4 + Element Plus 2.9 + Pinia | 9001 |
| **AI 引擎** | AI Agent 引擎 (ReAct 循环 + TypeBox Schema + WebSocket) | - |
| **数据库** | MySQL 8.0+ | 3306 |

## 项目结构

```
Neta-monorepo/
├── 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/` | 应用用户 |

### 前端模块

| 模块 | 路由前缀 | 用途 |
|------|---------|------|
| **agent** | `/agent/*` | 智能体对话、技能管理、模型渠道管理 |
| **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
