# 需求分析 - 2026-04-29-21-51-19

## 需求来源
- 提出时间: 2026-04-29-21-51-19
- 需求类型: 全栈系统改造 / 架构重构

## 原始需求描述
将现有纯前端 React 静态 UI 彻底改造为前后端联动的全栈语义分割系统。打通数据流转，实现：
1. 本地多媒体资产（视频/图片/DCM影像）上传
2. 服务器端按帧解析（FFmpeg 拆帧）
3. AI 视觉大模型 SAM 3 实时交互式推理（点分割、box分割、语义分割）
4. 动态图层状态管理
5. 标注数据结构化导出

后端技术栈：Python + FastAPI + PostgreSQL + Redis + MinIO
AI 基座：SAM 3
输入数据：@Data_MyVideo_1.mp4、@Data_Dicom帧（DCM格式）

## 需求拆解

### 需求 1: 基础设施部署
- **详细描述**: 在 Ubuntu 22.04 上部署 PostgreSQL、Redis、MinIO 对象存储
- **优先级**: P0-阻塞
- **影响范围**: 系统级服务
- **验收标准**: 三个服务均可访问，有持久化数据目录

### 需求 2: Conda 环境 + SAM 3 模型部署
- **详细描述**: 新建 conda 环境 seg_server，安装 PyTorch + CUDA，部署 SAM 3 模型权重
- **优先级**: P0-阻塞
- **影响范围**: Python AI 推理层
- **验收标准**: conda 环境可激活，GPU 可被 PyTorch 识别，SAM 3 权重文件存在

### 需求 3: FastAPI 后端框架搭建
- **详细描述**: 替换现有 Express 后端，建立 FastAPI 服务，包含上传、项目、模板、AI推理、导出等模块
- **优先级**: P0-阻塞
- **影响范围**: 后端全部
- **验收标准**: FastAPI 服务可启动，Swagger UI 可访问

### 需求 4: 前端状态管理 + 网络层改造
- **详细描述**: 引入 Zustand 全局状态管理，Axios 替代 fetch，WebSocket 对接解析进度
- **优先级**: P0-阻塞
- **影响范围**: src/ 全部
- **验收标准**: 前端可正常与后端通信，状态跨组件同步

### 需求 5: Canvas Mask 渲染对接
- **详细描述**: Konva Canvas 接收后端 SAM 3 返回的 Mask 数据（Polygon/RLE），动态渲染遮罩图层
- **优先级**: P1-高
- **影响范围**: CanvasArea.tsx, AISegmentation.tsx
- **验收标准**: 点击画布后，后端返回 Mask，前端可正确绘制

### 需求 6: 视频/DCM 解析流水线
- **详细描述**: 上传视频后 FFmpeg 拆帧，DCM 影像逐帧提取，进度通过 WebSocket 推送
- **优先级**: P1-高
- **影响范围**: 后端任务模块 + 前端 Dashboard
- **验收标准**: 可上传文件，解析队列可显示进度，帧图片存入 MinIO

### 需求 7: 数据持久化（项目/模板/标注）
- **详细描述**: PostgreSQL 存储项目元数据、本体字典、标注结果；MinIO 存储原始媒体/帧/Mask
- **优先级**: P1-高
- **影响范围**: 后端数据库模型 + API
- **验收标准**: 数据重启后仍可读取

## 约束条件
- 使用 Ubuntu 22.04, sudo 密码 Wkmgc
- GPU: RTX 4090, CUDA 13.2
- 无 Docker，使用系统包管理 + 二进制部署
- 保持现有前端界面风格（深色主题、中文）

## 风险评估
| 风险点 | 影响 | 缓解措施 |
|--------|------|----------|
| SAM 3 权重下载慢/失败 | 高 | 使用国内镜像源，分段下载验证 |
| PostgreSQL/Redis 端口冲突 | 中 | 检查端口占用，使用非默认端口 |
| MinIO 磁盘空间不足 | 中 | 监控磁盘，配置清理策略 |
| 单次会议工程过大 | 高 | 分模块迭代，先跑通骨架再丰富 |
