283 lines
9.4 KiB
Markdown
283 lines
9.4 KiB
Markdown
# 平台治理功能说明
|
||
|
||
平台治理涵盖用户管理、租户管理、项目管理、审批管理、审计日志、资源授权(ACL)、留存策略等企业管理能力。功能入口位于侧边栏「平台治理」和「系统设置」两个分组下。
|
||
|
||
本平台核心业务是**模型微调**:用户上传数据 → 数据处理 → 模型训练 → 模型评测 → 模型推理。平台治理负责管理**谁**能访问**哪个租户/项目**的**哪些资源**。
|
||
|
||
---
|
||
|
||
## 侧边栏菜单结构
|
||
|
||
```
|
||
平台治理
|
||
├── 租户管理 /tenants
|
||
├── 项目空间 /projects
|
||
├── 审计日志 /audit-logs
|
||
├── 审批模板 /approval-templates
|
||
└── 审批中心 /approval-instances
|
||
|
||
系统设置
|
||
├── 用户设置 /user-settings
|
||
├── 平台性能 /hardware
|
||
└── 查看日志 /logs
|
||
```
|
||
|
||
---
|
||
|
||
## 1. 租户管理
|
||
|
||
**对应页面**:列表页 `TenantListView.vue` + 详情页 `TenantDetailView.vue`
|
||
**后端接口**:`GET/POST /tenants`、`GET/PUT/DELETE /tenants/:id`、`PUT /tenants/:id/quota`、`PUT /tenants/:id/retention-policy`
|
||
|
||
### 列表页
|
||
|
||
**展示列**:租户名称、用户ID、状态、创建时间
|
||
|
||
**行操作**:
|
||
| 按钮 | 功能 |
|
||
|------|------|
|
||
| 详情 | 跳转详情页 `/tenants/:id` |
|
||
| 删除 | 确认弹窗后调用 `DELETE /tenants/:id` |
|
||
|
||
**新建租户弹窗**:
|
||
| 字段 | 控件 | 说明 |
|
||
|------|------|------|
|
||
| 名称 | 文本输入 | 必填 |
|
||
| 用户ID | 文本输入 | 可选 |
|
||
| GPU 数量 | 数字输入 | 配额,0=不限制 |
|
||
| 存储配额(GB) | 数字输入 | 配额,0=不限制 |
|
||
| 最大项目数 | 数字输入 | 配额,0=不限制 |
|
||
|
||
### 详情页
|
||
|
||
**基本信息**:名称、用户ID、状态、创建时间、配额(友好格式显示,如 `GPU 8 | 存储 100GB | 项目 5`)
|
||
|
||
**配额编辑**:GPU 数量 / 存储配额(GB) / 最大项目数,三个数字输入 + 保存按钮
|
||
|
||
**已移除**:详情页中不再内嵌项目空间列表(项目有独立页面)
|
||
|
||
### 当前缺失
|
||
- [ ] 编辑租户名称和用户ID(`updateTenant` API 已有,UI 缺失)
|
||
- [ ] 留存策略关联设置(`setTenantRetention` API 已有,UI 缺失)
|
||
- [ ] 列表页无搜索/筛选
|
||
- [ ] 状态列无 Tag 着色
|
||
|
||
---
|
||
|
||
## 2. 项目空间
|
||
|
||
**对应页面**:列表页 `ProjectListView.vue` + 详情页 `ProjectDetailView.vue`
|
||
**后端接口**:`GET/POST /projects`、`GET/PUT/DELETE /projects/:id`、`GET/POST/DELETE /projects/:id/members`、`PUT /projects/:id/archive`
|
||
|
||
### 列表页
|
||
|
||
**展示列**:项目名、编码ID、状态、描述、创建时间
|
||
|
||
**工具栏**:
|
||
- 租户选择器(下拉过滤,按租户编码选择)
|
||
- 搜索框(按项目名/编码搜索)
|
||
- 新建项目按钮
|
||
|
||
**新建项目弹窗**:
|
||
| 字段 | 控件 | 说明 |
|
||
|------|------|------|
|
||
| 名称 | 文本输入 | 必填 |
|
||
| 编码ID | 下拉选择 | 选择已有租户的编码(如 `default`),关联到该租户 |
|
||
| 描述 | 文本域 | 可选,3行 |
|
||
|
||
**行操作**:详情 + 删除
|
||
|
||
### 详情页
|
||
|
||
**基本信息**:名称、编码、状态、租户、描述、创建时间
|
||
|
||
**项目成员管理**:
|
||
- 成员列表(用户名、角色、添加时间)
|
||
- 添加成员:选择用户 + 角色(member/admin/viewer)
|
||
- 移除成员
|
||
|
||
**资源授权(ACL)**:
|
||
- 弹窗编辑器,逐条配置授权规则
|
||
- 主体类型:用户(下拉选已有用户)或项目角色(member/admin/viewer)
|
||
- 权限:read / write / execute / download / delete / share(多选 checkbox)
|
||
- 增删行后统一保存
|
||
|
||
### 当前缺失
|
||
- [ ] 编辑项目基本信息(名称、描述)
|
||
- [ ] 项目启停/归档操作(`archiveProject` API 已有,UI 缺失)
|
||
- [ ] 项目下的资源使用统计(模型数、数据集数、任务数)
|
||
|
||
---
|
||
|
||
## 3. 审批管理
|
||
|
||
**对应页面**:`ApprovalTemplateView.vue`(模板)+ `ApprovalInstanceView.vue`(实例)
|
||
**后端接口**:模板 CRUD、实例列表+决策
|
||
|
||
### 审批模板
|
||
|
||
**展示列**:模板名、步骤数、创建时间
|
||
|
||
**新建模板**:
|
||
| 字段 | 控件 | 说明 |
|
||
|------|------|------|
|
||
| 模板名称 | 文本输入 | 必填 |
|
||
| 审批步骤 | 文本域 | **需手写 JSON 字符串**,体验差 |
|
||
|
||
**当前缺失**:
|
||
- [ ] 可视化步骤编辑(拖拽添加步骤、选审批人)
|
||
- [ ] 模板编辑/删除(API 已有,UI 缺失)
|
||
- [ ] 模板详情页
|
||
|
||
### 审批中心
|
||
|
||
**展示列**:资源类型、资源ID、状态(Tag着色)、发起人、创建时间
|
||
|
||
**工具栏**:状态筛选(待审批/已通过/已拒绝)、资源类型/ID 搜索
|
||
|
||
**行操作**:通过/拒绝(弹窗填写审批意见)
|
||
|
||
**当前缺失**:
|
||
- [ ] "我发起的"审批视角
|
||
- [ ] 审批流转详情(谁审批了、什么时间)
|
||
- [ ] 撤回功能
|
||
|
||
---
|
||
|
||
## 4. 审计日志
|
||
|
||
**对应页面**:`AuditLogView.vue`
|
||
**后端接口**:`GET /system/audit-logs`(多条件筛选+分页)、`GET /system/audit-logs/export`(CSV导出)
|
||
|
||
### 列表页
|
||
|
||
**展示列**:时间、租户ID、项目ID、操作人ID、动作、目标类型、目标ID、详情、IP
|
||
|
||
**筛选条件**:租户ID、项目ID、操作人ID、动作、目标类型、开始时间、结束时间
|
||
|
||
**工具栏**:CSV 导出按钮(最多 10000 条)
|
||
|
||
### 当前缺失
|
||
- [ ] 分页控件(数据量大时需要翻页)
|
||
- [ ] 筛选字段改为下拉选择(当前全是文本输入,不知道有哪些可选值)
|
||
- [ ] 详情弹窗(点击某条记录查看完整信息)
|
||
|
||
---
|
||
|
||
## 5. 用户设置
|
||
|
||
**对应页面**:`UserSettingsView.vue`(列表)+ `UserCreateView.vue`(创建)+ `UserPermissionView.vue`(权限弹窗)
|
||
**后端接口**:`GET/POST/PUT/DELETE /users`、`POST /users/:id/reset-password`
|
||
|
||
### 列表页
|
||
|
||
**展示列**:账号、显示名、角色、状态、页面权限、创建时间
|
||
|
||
**行操作**:
|
||
| 操作 | 说明 |
|
||
|------|------|
|
||
| 启停开关 | protected 用户和自己不可操作 |
|
||
| 重置密码 | 弹窗确认,默认密码 `Platform@123` |
|
||
| 页面权限 | 弹窗 checkbox 组,12 个模块可选:看板/模型训练/模型评测/模型推理/模型管理/数据集/数据处理/数据转换/算力/平台性能/查看日志/用户设置 |
|
||
| 删除 | 确认弹窗,protected 用户和自己不可操作 |
|
||
|
||
### 创建页
|
||
|
||
**表单字段**:账号、显示名、初始密码、角色(超级管理员/操作员/观察员)、状态、页面权限
|
||
|
||
### 当前缺失
|
||
- [ ] 用户编辑页面(修改显示名、角色等,`updateUser` API 已有,UI 缺失)
|
||
- [ ] 权限码显示为英文(如 `fine-tune`),无中文翻译
|
||
|
||
---
|
||
|
||
## 6. 平台性能
|
||
|
||
**对应页面**:`HardwareView.vue`
|
||
**后端接口**:`GET /system-info`、`GET /health`(顶部栏实时指标)
|
||
|
||
### 页面内容
|
||
|
||
**概览卡片**:CPU(型号/核心数/使用率)、内存(已用/总量/使用率)、磁盘(已用/总量/使用率)、网络吞吐
|
||
|
||
**趋势图**:CPU/内存/磁盘/GPU 利用率折线图(最近 60 次采样,1/3/5/10秒自动刷新)
|
||
|
||
**GPU 资源池**:每张卡展示名称、状态、利用率、显存、温度、功耗、风扇转速;点击卡片查看详情抽屉(设备属性、趋势图、进程列表)
|
||
|
||
**主机信息**:OS、运行时长、进程数、GPU 驱动版本
|
||
|
||
### 当前缺失
|
||
- [ ] 历史数据持久化(刷新后采样清空)
|
||
- [ ] 告警阈值设置
|
||
- [ ] 网络吞吐数据显示为空
|
||
|
||
---
|
||
|
||
## 7. 查看日志
|
||
|
||
**对应页面**:`LogsView.vue`(系统日志 + 训练日志双 Tab)
|
||
|
||
### 系统日志
|
||
|
||
- 按日期选择日志文件
|
||
- 关键词搜索
|
||
- 日志级别筛选(INFO/WARN/ERROR/DEBUG)
|
||
- 自动刷新(5/10/30/60 秒可调)
|
||
|
||
### 训练日志
|
||
|
||
- 按 PID 选择训练日志文件
|
||
- 同样支持搜索和级别筛选
|
||
|
||
### 当前缺失
|
||
- [ ] 日志下载/导出
|
||
- [ ] 分页或虚拟滚动(大文件加载慢)
|
||
- [ ] 行号显示
|
||
|
||
---
|
||
|
||
## 8. 留存策略 ⚠️ 前端完全缺失
|
||
|
||
**后端 API 已完整实现**(CRUD 5 个端点),**前端 `retention.ts` 模块已封装**,但:
|
||
- 侧边栏无菜单入口
|
||
- 路由未配置
|
||
- 无任何 Vue 页面
|
||
|
||
---
|
||
|
||
## 数据流转关系
|
||
|
||
```
|
||
用户登录 → 分配角色(admin/operator/viewer) + 页面权限
|
||
│
|
||
├─ 创建租户(配额:GPU/存储/项目数)
|
||
│ └─ 关联用户
|
||
│
|
||
├─ 创建项目(关联租户,选择编码ID)
|
||
│ ├─ 项目成员(角色:member/admin/viewer)
|
||
│ └─ 资源授权(ACL):谁对什么资源有什么权限
|
||
│
|
||
├─ 创建审批模板(定义审批流程)
|
||
│ └─ 审批实例:敏感操作需要审批(通过/拒绝)
|
||
│
|
||
├─ 审计日志:所有操作自动记录(谁在什么时间做了什么)
|
||
│
|
||
└─ 留存策略:定义数据保留周期,自动清理过期数据
|
||
```
|
||
|
||
---
|
||
|
||
## 完成度总表
|
||
|
||
| 模块 | 列表 | 新建 | 编辑 | 删除 | 搜索 | 筛选 | 导出 | 完成度 |
|
||
|------|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|
||
| 租户管理 | ✅ | ✅ | 仅配额 | ✅ | ❌ | ❌ | ❌ | 75% |
|
||
| 项目空间 | ✅ | ✅ | ❌ | ✅ | ✅ | 按租户 | ❌ | 80% |
|
||
| 审批模板 | ✅ | ✅(JSON) | ❌ | ❌ | ❌ | ❌ | ❌ | 45% |
|
||
| 审批中心 | ✅ | N/A | N/A | ❌ | ✅ | 按状态 | ❌ | 65% |
|
||
| 审计日志 | ✅ | N/A | N/A | N/A | ❌ | 多字段 | CSV | 70% |
|
||
| 用户设置 | ✅ | ✅ | 仅权限 | ✅ | ❌ | ❌ | ❌ | 75% |
|
||
| 平台性能 | ✅ | N/A | N/A | N/A | N/A | N/A | ❌ | 80% |
|
||
| 查看日志 | ✅ | N/A | N/A | N/A | 关键词 | 按级别 | ❌ | 70% |
|
||
| **留存策略** | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | **0%** |
|