MedFusion OSS WebUI 工作流导向改版 Spec
文档状态:Beta
版本: v0.1.0
更新日期: 2026-03-26
状态: 设计已确认,待进入实现规划
1. 文档目的
本文档用于固定 MedFusion OSS WebUI 的新一版信息架构和页面职责,解决当前 WebUI 更像“功能页集合”而不是“研究工作流界面”的问题。
这份 spec 只定义以下内容:
- 顶层工作流结构
- 每个 tab 的职责、关键区块和主要操作
- 与当前 OSS 页面和能力的映射关系
- 当前阶段的产品边界和语言约束
本文档不涉及:
- 最终视觉风格、配色、动效细节
- 具体组件代码实现
- 国际化和多语言设计
- 与 Pro 医生工作台的融合方案
2. 设计背景
当前 OSS WebUI 已经有一批可用页面,例如:
WorkbenchDatasetManagerRunWizardTrainingMonitorModelLibrarySystemMonitor
这些页面分别能完成局部任务,但从用户视角看仍然存在三个问题:
- 第一眼看不清 MedFusion OSS 到底在帮助用户完成什么主任务。
- 页面命名更接近实现模块,而不是研究者实际经历的工作阶段。
- Web 和 CLI 的分工关系不够清楚,用户容易误以为 Web 想替代 CLI,而不是作为研究控制面和解释层。
因此,新方案的核心不是“重画一套更漂亮的后台”,而是把 OSS WebUI 重新组织成一条清晰的研究工作流。
3. 顶层目标
3.1 目标
- 让用户第一次进入 WebUI 就明白 MedFusion OSS 是一套研究验证工作流。
- 用工作流语言替代模块语言,让页面名称直接对应研究阶段。
- 保留 CLI 作为真实执行与复现主链,把 Web 明确定位为发现、配置、检查和归档界面。
- 让 quick validation、真实训练、真实结果导入能够落在同一套工作流里。
- 为后续实现规划提供稳定的信息架构和页面边界。
3.2 非目标
- 当前阶段不做多语言界面设计,所有 UI 文案统一为中文。
- 当前阶段不把 OSS 做成 SaaS 风格的多用户后台。
- 当前阶段不引入 Pro 的病例、证据库、报告审批等医生向能力。
- 当前阶段不要求一次性替换全部现有页面,可以在实现时逐步映射和迁移。
4. 核心设计原则
4.1 工作流优先
顶层结构必须围绕研究者的实际工作顺序组织,而不是围绕前端页面或后端接口模块组织。
4.2 Web 是控制面,CLI 是执行面
Web 负责:
- 解释当前状态
- 组织配置输入
- 展示验证和产物
- 提供继续下一步的入口
CLI 负责:
- 真实训练与评估执行
- 自动化和批处理
- 可复现命令和配置主链
4.3 研究合同先于参数编辑
在用户进入运行配置前,必须先明确:
- 研究目标是什么
- 任务类型是什么
- 需要哪些模态
- 输出和验证标准是什么
因此 研究定义 必须先于 运行。
4.4 验证与产物必须结构化
结果页不能停留在“有几张图可以看”的层面,而要回答:
- 这次研究是否通过验证
- 不通过时问题在哪里
- 最终沉淀了哪些可以带走的产物
4.5 中文单语言界面
当前 OSS WebUI 暂不做中英双语或其他国际化表面设计。页面标题、tab 名称、按钮文案、提示语统一使用中文。
5. 顶层信息架构
新一版 OSS WebUI 的顶层 tabs 固定为:
概览研究定义数据运行验证产物系统
这 7 个 tabs 共同形成一条线性研究主线:
概览 → 研究定义 → 数据 → 运行 → 验证 → 产物 → 系统其中:
概览负责引导开始和恢复上下文研究定义负责生成研究合同数据负责 readiness 检查运行负责把合同解析成真正可执行任务验证负责给出研究结论产物负责归档、导入、对比和导出系统负责解释当前工作站健康度
6. 顶层共享对象
为了让 7 个 tabs 真正属于同一条工作流,而不是重新变成 7 个独立页面,界面层需要围绕以下共享对象组织:
6.1 当前研究
当前研究 是整个工作面的主上下文,至少包含:
- 研究名称
- 目标任务类型
- 研究标签
- 当前步骤
- 当前状态
6.2 研究合同
研究合同 是由 研究定义 生成并被后续 tab 解释的中间对象,至少包含:
- 研究目标
- 任务类型
- 所需模态
- 关键指标
- 验证档位
- 预期输出清单
6.3 验证档位
当前至少支持以下验证档位:
- 快速验证
- 标准验证
- 可发布验证
该档位将影响:
- 数据页的 readiness 条件
- 运行页的默认 preset
- 验证页的通过标准
- 产物页的导出要求
6.4 输出合同
输出合同决定本次研究至少应沉淀哪些结果文件和图表,例如:
metrics.jsonvalidation.jsonsummary.jsonreport.md- checkpoint
- ROC / 混淆矩阵 / 生存曲线 / 注意力图等图表
7. 各 Tab 详细定义
7.1 概览
目的
回答用户进入 WebUI 后的第一个问题:
我现在应该从哪里开始,或者继续做什么?
核心区块
- 当前研究条
- 下一步建议
- 主要入口操作
- 当前阻塞项
- 最近产物
- 快速验证入口
- CLI 对照说明
- 活动运行状态
关键操作
- 新建研究
- 恢复上次研究
- 进入快速验证
- 导入 CLI 结果
- 跳转到下一步 tab
页面定位
概览 不是 KPI 仪表盘首页,而是研究入口页。
7.2 研究定义
目的
回答:
这次研究到底要解决什么任务,并且后面应该如何解释数据、运行和验证?
核心区块
- 研究身份信息
- 任务目标
- 模态选择
- 快速验证模板
- 验证合同
- 输出合同
- 派生要求
- 生成研究合同按钮
关键操作
- 选择任务类型
- 选择主要终点
- 设定核心指标
- 选择必需和可选模态
- 选择验证档位
- 固定输出要求
页面定位
研究定义 不是高级参数页,而是研究语义和验证预期的固定层。
7.3 数据
目的
回答:
当前数据是否满足这次研究合同,可以安全进入运行阶段吗?
核心区块
- 本地路径或 manifest 导入
- schema 检查
- 模态覆盖检查
- cohort 划分预览
- 数据质量告警
- 预处理 readiness
- 与研究合同的匹配结论
关键操作
- 登记数据目录
- 导入 manifest
- 检查关键字段缺失
- 预览 train/val/test 划分
- 识别模态缺失
- 判断是否可进入运行
页面定位
数据 不是纯资产管理页,而是 study-aware 的数据门禁页。
7.4 运行
目的
回答:
如何把当前研究合同和数据状态解析成一个真正可执行的训练任务?
核心区块
- 运行模式条
- RunSpec 组合区
- 高级参数折叠区
- 解析后的运行摘要
- CLI 镜像命令
- 队列状态
- 实时日志和曲线
关键操作
- 选择运行模式
- 修改 RunSpec
- 复制或导出 CLI 命令
- 发起运行
- 重试、暂停、停止任务
- 观察实时状态
页面定位
运行 是执行中枢,而不是分裂成“向导页 + 监控页”的两个独立入口。
7.5 验证
目的
回答:
这次研究是否达标,不达标时具体差在哪里?
核心区块
- 验证结论条
- 指标矩阵
- 图表矩阵
- 验证规则面板
- 队列/分组对比
- 误差样本分析
- 下一步建议
关键操作
- 查看通过/部分通过/未通过结论
- 查看核心指标
- 查看 ROC / 混淆矩阵 / 生存曲线 / 注意力图
- 对比不同 cohort 或配置
- 定位失败样本
- 决定回到数据、运行还是进入产物
页面定位
验证 是研究评审台,不是普通结果看板。
7.6 产物
目的
回答:
这次研究最终沉淀了哪些可以带走、导入、复现和导出的成果?
核心区块
- 当前研究产物摘要
- 运行记录列表
- 产物卡片区
- 导入真实结果
- 版本对比
- 导出打包
关键操作
- 浏览产物
- 导入 CLI 输出目录
- 对比不同运行版本
- 生成 bundle
- 导出 manifest 和报告
页面定位
产物 是研究归档页,不是狭义的模型库。
7.7 系统
目的
回答:
当前工作站和运行环境是否健康,是否适合继续当前研究?
核心区块
- 环境自检
- 资源监控
- 工作目录
- 常见问题提示
- 当前研究的资源建议
关键操作
- 查看依赖和路径状态
- 查看 CPU / 内存 / GPU / 磁盘占用
- 检查输出和缓存目录
- 获取故障排查建议
页面定位
系统 是工作站健康解释层,目的是减少“把环境问题误判为模型问题”的情况。
8. 与当前 OSS 页面映射关系
新架构不是完全推倒重来,而是对现有页面进行重命名、合并和语义重组。
| 新 tab | 当前能力来源 | 主要变化 |
|---|---|---|
| 概览 | Workbench | 从总览页改成研究入口页 |
| 研究定义 | RunWizard 中已有任务/模态/config 结构 | 前移为工作流起点,先固定研究合同 |
| 数据 | DatasetManager | 从数据资产页升级为研究合同 readiness 检查页 |
| 运行 | RunWizard + TrainingMonitor | 合并成一个发射台 |
| 验证 | ExperimentComparison + 结果图表 | 新增验证结论层 |
| 产物 | ModelLibrary | 从模型列表改成研究产物归档页 |
| 系统 | SystemMonitor | 增加与当前研究的关联解释 |
9. 中文单语言约束
当前阶段所有界面文案统一使用中文,包括:
- 顶层 tab
- 页面标题
- 按钮文案
- 提示语
- 状态标签
- 说明文本
不在当前阶段设计以下内容:
- 中英双语切换
- 英文占位文案
- i18n 文案键设计
10. 视觉表达边界
本次设计聚焦于信息架构和功能骨架,因此当前视觉表达遵循以下边界:
- 可以使用线框图、骨架图和总览图表达布局关系。
- 不在当前阶段锁定品牌色、完整插画或动效细节。
- 不在当前阶段进行完整重设计。
- 优先明确页面之间的工作流关系和区块职责。
11. 实施建议
建议按以下顺序推进实现:
阶段 1:概念对齐
- 固定本文档中的 7 个 tabs
- 固定中文命名
- 固定
当前研究 / 研究合同 / 验证档位 / 输出合同这些共享对象
阶段 2:低成本重组现有页面
- 重写
概览 - 将
RunWizard + TrainingMonitor合并为运行 - 将
ModelLibrary语义升级为产物
阶段 3:补齐缺口页面语义
- 补
研究定义 - 补
验证结论 - 补
数据 readiness解释层
阶段 4:统一跨页状态
- 把
当前研究作为全局上下文 - 让各 tab 围绕同一份研究合同联动