11 KiB
11 KiB
SSA-Pro MVP 任务清单与进度追踪
文档版本: v1.6
创建日期: 2026-02-18
最后更新: 2026-02-19(T 检验端到端测试通过)
更新频率: 每日站会后更新当前进度: Phase 1 核心完成 ~85%,配置中台待开发
状态图例
| 状态 | 含义 |
|---|---|
| ⬜ | 未开始 |
| 🔄 | 进行中 |
| ✅ | 已完成 |
| ⏸️ | 暂停/阻塞 |
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 | 上传/计划/执行/下载 |
Phase 2:智能规划与咨询模式(Week 3-4)
里程碑目标: 决策表驱动规划 + 咨询模式上线
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 | 40 | 34 | 85% |
| Phase 2 | 30 | 0 | 0% |
| Phase 3 | 22 | 0 | 0% |
| 总计 | 92 | 34 | 37% |
v1.6 更新:Phase 1 核心流程完成,T 检验端到端测试通过(2026-02-19)
风险与阻塞项
| 日期 | 问题描述 | 影响 | 解决方案 | 状态 |
|---|---|---|---|---|
每日站会记录
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 配置中台