# SSA-Pro MVP 任务清单与进度追踪 > **文档版本:** v2.0 > **创建日期:** 2026-02-18 > **最后更新:** 2026-02-20(Phase 2A 前端集成完成 + Block-based 架构共识) > **更新频率:** 每日站会后更新 > > **当前进度:** Phase 2A 完成,下一步 Phase 2B Block-based 动态渲染重构 > > **📌 核心文档:** `07-Phase2A-智能化核心开发计划.md` | `08-Block-based动态结果渲染开发计划.md` --- ## 状态图例 | 状态 | 含义 | |------|------| | ⬜ | 未开始 | | 🔄 | 进行中 | | ✅ | 已完成 | | ⏸️ | 暂停/阻塞 | --- ## Phase 1:骨架搭建 + 配置中台(Week 1-2) **里程碑目标:** T 检验 API 端到端跑通 + 配置中台基础 ### R 服务任务 | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ✅ | 创建 `r-statistics-service/` 目录结构 | 2h | 含 templates/, fixtures/ 目录 | | ✅ | 初始化 renv 并生成 `renv.lock` | 1h | **锁定包版本** | | ✅ | 编写 Dockerfile(基于 rocker/r-ver:4.3) | 2h | 使用 renv::restore() | | ✅ | 🆕 Dockerfile 配置 OSS 环境变量 | 1h | **ENV 注入,非硬编码** | | ✅ | 安装 glue 包,创建代码模板文件 | 2h | **已在 T 检验中使用** | | ✅ | 🆕 实现 `data_loader.R`(混合协议) | 3h | **支持 inline/OSS/DEV_MODE** | | ✅ | 🆕 实现 `result_formatter.R`(p_value_fmt) | 1h | **APA 格式化** | | ✅ | 实现 `plumber.R` 入口文件 | 2h | 健康检查 + 动态路由 | | ✅ | 🆕 plumber.R 添加 Debug 模式支持 | 1h | **DEV_MODE 环境变量** | | ✅ | 定义错误码枚举(error_codes.R) | 1h | **业务/系统错误分离** | | ✅ | 🆕 扩展错误码映射表(map_r_error) | 1h | **R 错误 → 用户友好提示** | | ✅ | 🆕 代码模板头部添加依赖安装脚本 | 0.5h | **reproducible_code 中包含** | | ✅ | 🆕 创建 `tests/fixtures/` 标准测试数据 | 2h | **normal/skewed/missing** | | ✅ | 实现 T 检验 Wrapper(ST_T_TEST_IND) | 4h | 含护栏 + glue + 缺失值处理 | | ✅ | 本地 Docker 测试通过 | 2h | **2026-02-19 端到端测试通过** | ### 后端任务 | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ✅ | 创建 `backend/src/modules/ssa/` 目录结构 | 1h | **按 planner/executor/config 组织** | | ✅ | 设计并创建数据库 Schema(Prisma) | 3h | 9张表(含配置中台) | | ✅ | 执行 `prisma migrate dev` | 0.5h | 已创建迁移文件 | | 🔄 | 安装 json-repair 和 zod 依赖 | 0.5h | **LLM 输出容错** | | ✅ | 实现 `RClientService`(executor/) | 3h | 超时 120s | | ✅ | 🆕 RClientService 添加 502/504 友好处理 | 0.5h | **错误友好提示已实现** | | ⬜ | 🆕 DataParserService 分类变量隐私保护 | 1h | **稀有值 < 5 隐藏** | | ✅ | 实现 `POST /api/v1/ssa/execute` 存根 | 2h | **完整实现,含错误处理** | | ✅ | 注册路由到 `index.ts` | 0.5h | | | ✅ | 🆕 实现 DataParserService(数据解析) | 2h | **类型推断 + 缺失值处理** | | ✅ | 🆕 实现分析计划生成 API | 2h | **变量智能匹配** | | ✅ | 🆕 实现代码下载 API | 1h | **动态文件名** | ### 🆕 配置中台任务 | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | 🔄 | 🆕 设计统计决策表 Excel 模板 | 2h | **Goal + Y + X + Design → Tool** | | ⬜ | 🆕 实现 `DecisionTableLoader` | 3h | **四维匹配逻辑** | | ✅ | 🆕 设计 R 代码库数据库表 | 1h | **r_code_library 表已创建** | | ⬜ | 🆕 实现 `RCodeLibraryService` | 3h | **脚本上传/版本管理** | | 🔄 | 🆕 定义工具配置 Excel 模板(5个Sheet) | 3h | **元数据/参数映射/护栏/输出/解读** | | ⬜ | 🆕 实现 `ParamMappingService` | 2h | **JSON Key → R 参数名** | | ⬜ | 🆕 实现 `GuardrailConfigService` | 3h | **Block/Warn/Switch 三种 Action** | | ⬜ | 🆕 实现 `InterpretationService` | 2h | **解读模板填空** | | ⬜ | 🆕 实现 `ConfigValidatorService` | 2h | **必填/格式/唯一性校验** | | ✅ | 🆕 实现配置热加载 API | 1h | **POST /config/reload 路由已创建** | | ⬜ | 🆕 上传 T 检验 R 脚本 + 配置 | 2h | **跑通完整流程** | ### 前端任务 | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ✅ | 创建 `frontend-v2/src/modules/ssa/` 目录结构 | 1h | 含 components/hooks/stores/types | | ✅ | 注册到 `moduleRegistry.ts` | 0.5h | **已激活模块** | | ✅ | 实现基础页面框架(SSAWorkspace) | 3h | 参考原型图 | | ✅ | 🆕 实现模式切换 Tab(智能分析/统计咨询) | 2h | **双模式入口** | | ✅ | 实现左侧边栏组件 | 2h | 含数据信息展示 | | ✅ | 实现数据上传组件(DataUploader) | 3h | Drag & Drop | | ✅ | 🆕 实现结果展示组件(ResultCard + APATable) | 3h | **三线表 + 图表** | | ✅ | 🆕 实现执行进度组件(ExecutionTrace) | 2h | **步骤状态展示** | | ✅ | 🆕 实现代码下载功能 | 1h | **从后端获取文件名** | | ✅ | 🆕 实现 Zustand Store | 2h | **会话状态管理** | | ✅ | 🆕 实现 useAnalysis Hook | 2h | **上传/计划/执行/下载** | ### 🆕 V11 UI 升级任务(2026-02-20 完成) | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ✅ | V11 UI 像素级还原(Gemini 风格) | 8h | **全屏沉浸式体验** | | ✅ | SSASidebar 可收起抽屉栏 | 2h | **汉堡菜单 + 历史** | | ✅ | SSAChatPane 中央对话区 | 3h | **打字机效果** | | ✅ | SSAWorkspacePane 单页滚动布局 | 4h | **SAP→执行→结果** | | ✅ | 多任务支持(AnalysisRecord) | 3h | **单会话多分析** | | ✅ | Word 报告导出(docx 库) | 2h | **完整统计报告** | | ✅ | 输入框遮挡修复(Scroll Spacer) | 1h | **Flexbox 兼容** | | ✅ | 代码清理(删除旧组件) | 1h | **删除 7 个废弃组件** | | ✅ | 前后端联调测试 | 2h | **端到端验证** | --- ## Phase 2:智能规划与咨询模式(Week 3-4) **里程碑目标:** 多工具流程规划 + 数据质量核查 + 咨询模式上线 ### 🆕 核心智能化任务(优先级最高) | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ✅ | 🆕 **Prompt 体系整合到后端开发指南** | 2h | **动态注入模式** | | ✅ | 🆕 **多工具流程规划设计** | 3h | **WorkflowPlannerService 设计** | | ✅ | 🆕 **数据质量核查报告设计** | 3h | **DataQualityService 设计** | | ✅ | 🆕 **实现 WorkflowPlannerService** | 4h | **意图识别 + 变量类型判断 + 工具智能选择** | | ✅ | 🆕 **实现 WorkflowExecutorService** | 4h | **串联执行 + SSE 实时进度 + 结果完整传递** | | ✅ | 🆕 **实现 DataQualityService(Python)** | 3h | **CSV 直传 Python 解析,双端点支持** | | ⬜ | 🆕 **实现 ST_QUALITY_REPORT R 脚本** | 4h | **缺失值/异常值/分布/平衡性** | | ✅ | 🆕 **实现前端数据质量核查报告卡片** | 3h | **DataProfileCard 组件** | | ✅ | 🆕 **实现前端多步骤流程展示** | 3h | **SSE 实时更新 + MVP 风格复用** | ### 🆕 Phase 2A 前端集成任务(2026-02-20 完成) | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ✅ | 🆕 **SSAChatPane 工作流调用集成** | 2h | **handleSend → generateWorkflowPlan** | | ✅ | 🆕 **SSE 消息格式前后端对齐** | 2h | **camelCase/snake_case 兼容** | | ✅ | 🆕 **多步骤执行日志 UI** | 2h | **MVP terminal-box + TraceLogItem 复用** | | ✅ | 🆕 **多步骤结果展示 UI** | 3h | **统计量/分组表/回归系数/图表** | | ✅ | 🆕 **DescriptiveResultView 组件** | 3h | **处理 variables+by_group 嵌套结构** | | ✅ | 🆕 **多步骤 R 代码聚合导出** | 1h | **SSACodeModal 工作流模式** | | ✅ | 🆕 **多步骤 Word 报告导出** | 3h | **exportWorkflowReport + 描述性统计** | | ✅ | 🆕 **CSS 布局修复** | 2h | **position/padding/max-width 系统性修复** | | ✅ | 🆕 **6 个前端 Bug 修复** | 3h | **SAP 误显示/SSE 卡死/结果丢失等** | ### 🆕 Phase 2B Block-based 动态渲染任务(待开始) | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ⬜ | 🆕 **创建 DynamicReport.tsx 组件** | 2h | **4 个 Block 渲染子组件** | | ⬜ | 🆕 **创建 exportBlocksToWord.ts** | 2h | **Block 数组 → Word 文档** | | ⬜ | 🆕 **后端透传 report_blocks** | 0.5h | **WorkflowExecutorService** | | ⬜ | 🆕 **R 辅助函数库 block_helpers.R** | 1h | **make_table_block() 等** | | ⬜ | 🆕 **SSAWorkspacePane 集成** | 1h | **优先读 report_blocks,fallback 旧逻辑** | | ⬜ | 🆕 **descriptive.R 改造** | 1.5h | **输出 report_blocks** | | ⬜ | 🆕 **t_test_ind.R 改造** | 1h | **输出 report_blocks** | | ⬜ | 🆕 **logistic_binary.R 改造** | 1.5h | **输出 report_blocks** | | ⬜ | 🆕 **chi_square.R 改造** | 1h | **输出 report_blocks** | | ⬜ | 🆕 **correlation.R 改造** | 1h | **输出 report_blocks** | | ⬜ | 🆕 **t_test_paired.R 改造** | 1h | **输出 report_blocks** | | ⬜ | 🆕 **mann_whitney.R 改造** | 1h | **输出 report_blocks** | | ⬜ | 🆕 **清理旧自定义渲染代码** | 2h | **删除 isDescriptive 等分支** | | ⬜ | 🆕 **清理旧导出逻辑** | 1.5h | **删除 classifyExportVar 等** | ### R 服务任务 | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ⬜ | 实现配对 T 检验(ST_T_TEST_PAIRED) | 3h | | | ⬜ | 实现单因素 ANOVA(ST_ANOVA_ONE) | 3h | | | ⬜ | 实现卡方检验(ST_CHI_SQUARE) | 3h | | | ⬜ | 实现相关性分析(ST_CORRELATION) | 3h | | | ⬜ | 🆕 所有 R 脚本统一 `run_analysis()` 入口 | 2h | **专家规范** | | ⬜ | 实现通用护栏函数(utils/guardrails.R) | 2h | | | ⬜ | 🆕 护栏支持 Block/Warn/Switch Action | 2h | **三种响应策略** | | ⬜ | 🆕 为 5 个工具上传 R 脚本 + Excel 配置 | 3h | **专家完整配置** | ### 后端任务 | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ⬜ | 🆕 实现 `DecisionTableService`(planner/) | 4h | **四维匹配选工具** | | ⬜ | 实现 `ToolRetrievalService`(planner/) | 3h | 复用 VectorSearchService(辅助) | | ⬜ | 🆕 决策表 + RAG 融合策略 | 2h | **决策表优先,RAG 兜底** | | ⬜ | 注册 Prompt 到 capability_schema | 2h | 4 个 Prompt | | ⬜ | 实现 `PlannerService`(planner/,有数据) | 4h | 含 json-repair + Zod 校验 | | ⬜ | 🆕 PlannerService 调用决策表匹配 | 2h | **Goal → Tool 精准匹配** | | ⬜ | 🆕 实现 `ConsultService`(planner/,无数据) | 4h | **基于决策表推理生成 SAP** | | ⬜ | 🆕 实现 `SAPGeneratorService`(SAP 文档生成) | 3h | **Markdown → Word 导出** | | ⬜ | 🆕 实现结果解读(InterpretationService) | 3h | **基于配置模板生成论文级结论** | | ⬜ | 实现 `POST /api/v1/ssa/sessions/:id/plan` | 3h | | | ⬜ | 🆕 实现 `POST /api/v1/ssa/consult/:id/chat` | 2h | **咨询对话** | | ⬜ | 🆕 实现 `POST /api/v1/ssa/consult/:id/generate-sap` | 2h | **生成 SAP** | | ⬜ | 实现会话管理 API(CRUD) | 3h | | | ⬜ | 实现 Brain-Hand 数据隔离逻辑 | 2h | Schema 给 LLM,Data 给 R | | ⬜ | DataParserService 增加小样本隐私保护 | 1h | N<10 时模糊化 Min/Max | ### 前端任务 | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ⬜ | 实现 Chat 消息流组件 | 4h | 复用 AIStreamChat | | ⬜ | 实现计划确认卡片(PlanCard) | 4h | 参考原型图 | | ⬜ | 🆕 PlanCard 增加"仅下载方案"按钮 | 1h | **咨询模式** | | ⬜ | 实现执行路径树(ExecutionTrace) | 3h | 动画效果 | | ⬜ | 🆕 实现咨询模式 UI(ConsultChat) | 3h | **无数据对话** | | ⬜ | 🆕 实现 SAP 预览/下载组件 | 2h | **Word/MD 下载** | | ⬜ | 实现 API 对接(api.ts) | 2h | | | ⬜ | 实现 Zustand Store | 2h | **含 mode 切换状态** | --- ## Phase 3:完善与联调(Week 5-6) **里程碑目标:** MVP 功能完整,可演示 ### R 服务任务 | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ⬜ | 实现 Fisher 精确检验(ST_FISHER) | 2h | | | ⬜ | 实现 Wilcoxon 检验(ST_WILCOXON) | 2h | | | ⬜ | 实现 Mann-Whitney U(ST_MANN_WHITNEY) | 2h | | | ⬜ | 实现简单线性回归(ST_LINEAR_REG) | 3h | | | ⬜ | 实现描述性统计(ST_DESCRIPTIVE) | 2h | | | ⬜ | 完善代码生成器(所有工具) | 3h | | | ⬜ | 补充错误处理(tryCatch) | 2h | | ### 后端任务 | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ⬜ | 实现 `CriticService`(结果解读) | 3h | 流式输出 | | ⬜ | 实现代码下载 API | 2h | | | ⬜ | 导入剩余 5 个工具元数据 | 1h | | | ⬜ | 实现执行日志记录(execution_logs) | 2h | | | ⬜ | 端到端集成测试 | 4h | | ### 前端任务 | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ⬜ | 实现结果展示卡片(ResultCard) | 4h | 三线表 + 图表 | | ⬜ | 实现代码下载功能 | 2h | | | ⬜ | 实现消息历史加载 | 2h | | | ⬜ | UI 样式精调(对齐原型图) | 3h | | | ⬜ | 端到端联调测试 | 4h | | ### 部署任务 | 状态 | 任务 | 预估 | 备注 | |------|------|------|------| | ⬜ | R 服务 Docker 镜像推送 ACR | 1h | | | ⬜ | SAE 创建 R 服务应用 | 2h | | | ⬜ | 🆕 **配置 SAE 固定 2 实例** | 1h | **避免冷启动 30s+ 延迟** | | ⬜ | 🆕 **配置 R 服务 Liveness Probe** | 0.5h | **检测僵尸进程,自动重启** | | ⬜ | 🆕 **配置 Node.js 内存上限 2GB+** | 0.5h | **xlsx 全量读取防 OOM** | | ⬜ | 🆕 **配置 OSS Endpoint 环境变量** | 0.5h | **开发公网/生产内网** | | ⬜ | **配置 R 服务出站策略** | 0.5h | Deny Public, Allow VPC | | ⬜ | 配置内网通信(Node.js → R) | 1h | | | ⬜ | **创建临时文件清理 CronJob** | 1h | 每日清理 /tmp | | ⬜ | 生产环境验证 | 2h | | --- ## 进度统计 | Phase | 任务总数 | 已完成 | 进度 | |-------|---------|--------|------| | Phase 1 | 49 | 47 | 96% | | Phase 2 核心智能化 | 9 | 8 | 89% | | Phase 2A 前端集成 | 9 | 9 | 100% | | Phase 2B Block-based | 14 | 0 | 0% | | Phase 2 其他(R/后端/前端) | 30 | 0 | 0% | | Phase 3 | 22 | 0 | 0% | | **总计** | **133** | **64** | **48%** | > **v2.0 更新**:Phase 2A 前端集成完成 + Block-based 架构共识达成(2026-02-20) > **v1.8 更新**:纳入 Prompt 体系 + 多工具流程规划 + 数据质量核查报告设计(2026-02-20) > **v1.7 更新**:V11 UI 前后端联调通过,Phase 1 核心完成 96%(2026-02-20) > **v1.6 更新**:Phase 1 核心流程完成,T 检验端到端测试通过(2026-02-19) --- ## 风险与阻塞项 | 日期 | 问题描述 | 影响 | 解决方案 | 状态 | |------|---------|------|---------|------| | | | | | | --- ## 每日站会记录 ### 2026-02-20 **上午 - V11 UI 联调:** - ✅ **V11 UI 像素级还原**:Gemini 风格全屏沉浸式体验 - ✅ **多任务支持**:单会话可执行多个分析任务,独立管理状态 - ✅ **单页滚动布局**:分析计划 → 执行日志 → 分析结果,步骤进度条导航 - ✅ **Word 报告导出**:使用 docx 库生成完整统计报告 - ✅ **输入框遮挡修复**:Scroll Spacer 方案 - ✅ **代码清理**:删除 7 个旧版 V8/V9 组件 **下午 - Phase 2A 前端集成(核心):** - ✅ **Python 数据质量服务集成**:CSV 直传 Python 解析,修复端口/环境变量 - ✅ **WorkflowPlannerService 实现**:正则变量提取 + 变量类型判断 + 智能工具选择 - ✅ **WorkflowExecutorService 修复**:result 字段完整传递(plots/code/trace_log) - ✅ **SSE 前后端对齐**:stream 路由触发执行 + 消息格式兼容 - ✅ **多步骤 UI 复用 MVP 设计**:terminal-box 日志 + 统计量/表格/图表结果 - ✅ **DescriptiveResultView 组件**:variables+by_group 嵌套结构解析 - ✅ **多步骤导出功能**:R 代码聚合 + Word 报告(含描述性统计) - ✅ **6 个 Bug 修复**:SAP 误显示、布局混乱、SSE 卡死、结果丢失、描述性统计、Word 导出 - ✅ **Block-based 架构共识**:评估并认可动态结果渲染协议规范 - ✅ **Block-based 开发计划**:`08-Block-based动态结果渲染开发计划.md` **关键技术方案:** - Block-based Protocol:4 种 Block 类型(markdown/table/image/key_value) - 渐进式迁移:report_blocks 优先,fallback 旧逻辑 - SSE 触发模式:客户端连接时异步触发 executeWorkflow **下一步:** - Phase 2B:Block-based 动态渲染重构(~2.5 天) --- ### 2026-02-19 **完成项:** - ✅ R 服务 T 检验端到端测试通过 - ✅ 修复缺失值导致分组变量识别为 3 组的问题(R 服务自动过滤 NA) - ✅ 修复 DataParserService 类型推断(0/1 数字列识别为分类变量) - ✅ 修复后端 R 服务错误响应处理(返回 422 + user_hint) - ✅ 修复前端代码下载文件名(从 Content-Disposition 提取) - ✅ 修复前端用户会话隔离(组件挂载时重置 store) - ✅ 完成前端模块注册,激活智能统计分析入口 **待解决:** - 配置中台功能待开发 - json-repair 和 zod 依赖待安装 - DataParserService 隐私保护待实现 **下一步:** - 进入 Phase 2 或完善 Phase 1 配置中台