# Spec: web-frontend ## ADDED Requirements ### Requirement: 技术栈固定 前端 SHALL 为独立 SPA,技术栈固定为 React 18 + Tailwind CSS 3 + shadcn/ui + Vite;图表 MUST 一律使用 ECharts 渲染,全项目统一,MUST NOT 混用其他图表库;与后端仅通过 RESTful API 通信,禁止模板渲染混排;不做移动端适配与 SSR,不做用户系统。 #### Scenario: 技术栈合规 - **WHEN** 审查前端依赖与页面实现 - **THEN** 仅使用规定技术栈,图表库只有 ECharts ### Requirement: 数据集管理页 系统 SHALL 提供数据集管理页:样本列表、Ground Truth 详情(缺陷类型/位置/语言/参考修复)、数据集构建入口。 #### Scenario: 查看样本与标注 - **WHEN** 用户打开数据集管理页 - **THEN** 可浏览样本列表并查看每个样本的 Ground Truth 详情,可触发数据集构建 ### Requirement: 实验配置页 系统 SHALL 提供实验配置页:勾选模型集合、提示词级别集合、样本集合、重复次数,实时预览将生成的实验单元数量;提示词模板在本页可查看与在线编辑(编辑保存 = 新版本),并可新增自定义提示词模板。 #### Scenario: 实时预览单元数量 - **WHEN** 用户勾选 3 模型、3 级别、12 样本、3 重复 - **THEN** 页面实时预览将生成 324 个实验单元 #### Scenario: 在线编辑模板 - **WHEN** 用户编辑已有模板并保存 - **THEN** 生成新版本号,历史实验记录仍显示旧版本内容 ### Requirement: 实验监控页 系统 SHALL 提供实验监控页:批次进度(总数/完成/失败)、单条 run 状态与原始输出查看、断点续跑触发。 #### Scenario: 监控与续跑 - **WHEN** 用户打开实验监控页 - **THEN** 可见批次进度与单条 run 状态/原始输出,并可触发断点续跑 ### Requirement: 结果分析页 系统 SHALL 提供结果分析页:五维指标的 ECharts 交互式交叉对比图表(热力图、箱线图、分组柱状图),支持按模型/提示词级别/语言维度筛选;并提供李克特量表人工打分录入界面。 #### Scenario: 交互图表与筛选 - **WHEN** 用户在分析页按维度筛选 - **THEN** ECharts 图表按筛选条件刷新展示五维指标 #### Scenario: 李克特打分录入 - **WHEN** 用户在分析页对某条修复建议录入 1–5 分 - **THEN** 评分提交后端保存并反映到聚合统计 ### Requirement: 异常态展示 前端 SHALL 在后端离线、API 报错、数据为空三种情况下均有明确提示,MUST NOT 出现白屏或假死。 #### Scenario: 后端离线提示 - **WHEN** 后端不可达 - **THEN** 页面显示明确错误提示而非白屏