Files
AIclinicalresearch/docs/03-业务模块/SSA-智能统计分析/04-开发计划/01-任务清单与进度追踪.md
HaHafeng 8137e3cde2 feat(ssa): Complete SSA-Pro MVP development plan v1.3
Summary:

- Add PRD and architecture design V4 (Brain-Hand model)

- Complete 5 development guide documents

- Pass 3 rounds of team review (v1.0 -> v1.3)

- Add module status guide document

- Update system status document

Key Features:

- Brain-Hand architecture: Node.js + R Docker

- Statistical guardrails with auto degradation

- HITL workflow: PlanCard -> ExecutionTrace -> ResultCard

- Mixed data protocol: inline vs OSS

- Reproducible R code delivery

MVP Scope: 10 statistical tools

Status: Design 100%, ready for development
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 21:58:37 +08:00

196 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SSA-Pro MVP 任务清单与进度追踪
> **文档版本:** v1.3
> **创建日期:** 2026-02-18
> **最后更新:** 2026-02-18纳入 V3.0 终极审查建议)
> **更新频率:** 每日站会后更新
---
## 状态图例
| 状态 | 含义 |
|------|------|
| ⬜ | 未开始 |
| 🔄 | 进行中 |
| ✅ | 已完成 |
| ⏸️ | 暂停/阻塞 |
---
## 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 | **替代 paste0 拼接** |
| ⬜ | 🆕 实现 `data_loader.R`(混合协议) | 3h | **支持 inline/OSS/DEV_MODE** |
| ⬜ | 🆕 实现 `result_formatter.R`p_value_fmt | 1h | **APA 格式化** |
| ⬜ | 实现 `plumber.R` 入口文件 | 2h | 健康检查 + 动态路由 |
| ⬜ | 🆕 plumber.R 添加 Debug 模式支持 | 1h | **保留临时文件排查** |
| ⬜ | 定义错误码枚举error_codes.R | 1h | **业务/系统错误分离** |
| ⬜ | 🆕 扩展错误码映射表map_r_error | 1h | **R 错误 → 用户友好提示** |
| ⬜ | 🆕 代码模板头部添加依赖安装脚本 | 0.5h | **用户本地可运行** |
| ⬜ | 🆕 创建 `tests/fixtures/` 标准测试数据 | 2h | **normal/skewed/missing** |
| ⬜ | 实现 T 检验 WrapperST_T_TEST_IND | 4h | 含护栏 + glue + 大样本优化 |
| ⬜ | 本地 Docker 测试通过 | 2h | |
### 后端任务
| 状态 | 任务 | 预估 | 备注 |
|------|------|------|------|
| ⬜ | 创建 `backend/src/modules/ssa/` 目录结构 | 1h | |
| ⬜ | 设计并创建数据库 SchemaPrisma | 3h | 4张表 |
| ⬜ | 执行 `prisma migrate dev` | 0.5h | |
| ⬜ | 安装 json-repair 和 zod 依赖 | 0.5h | **LLM 输出容错** |
| ⬜ | 实现 `RClientService`(调用 R 服务) | 3h | 超时 120s |
| ⬜ | 🆕 RClientService 添加 502/504 友好处理 | 0.5h | **R 崩溃用户提示** |
| ⬜ | 🆕 DataParserService 分类变量隐私保护 | 1h | **稀有值 < 5 隐藏** |
| ⬜ | 实现 `POST /api/v1/ssa/execute` 存根 | 2h | 先做转发 |
| ⬜ | 注册路由到 `index.ts` | 0.5h | |
### 前端任务
| 状态 | 任务 | 预估 | 备注 |
|------|------|------|------|
| ⬜ | 创建 `frontend-v2/src/modules/ssa/` 目录结构 | 1h | |
| ⬜ | 注册到 `moduleRegistry.ts` | 0.5h | |
| ⬜ | 实现基础页面框架SSAWorkspace | 3h | 参考原型图 |
| ⬜ | 实现左侧边栏组件 | 2h | |
| ⬜ | 实现数据上传组件DataUploader | 3h | |
| ⬜ | 构造 Mock 数据用于组件开发 | 1h | |
---
## Phase 2智能规划与交互Week 3-4
**里程碑目标:** 用户可与 AI 对话,确认后执行
### R 服务任务
| 状态 | 任务 | 预估 | 备注 |
|------|------|------|------|
| ⬜ | 实现配对 T 检验ST_T_TEST_PAIRED | 3h | |
| ⬜ | 实现单因素 ANOVAST_ANOVA_ONE | 3h | |
| ⬜ | 实现卡方检验ST_CHI_SQUARE | 3h | |
| ⬜ | 实现相关性分析ST_CORRELATION | 3h | |
| ⬜ | 实现通用护栏函数utils/guardrails.R | 2h | |
| ⬜ | 为 5 个工具编写元数据 YAML | 2h | |
### 后端任务
| 状态 | 任务 | 预估 | 备注 |
|------|------|------|------|
| ⬜ | 实现 `ToolRetrievalService`RAG 检索) | 4h | 复用 VectorSearchService |
| ⬜ | 导入 5 个工具元数据到 pgvector | 2h | |
| ⬜ | 注册 Prompt 到 capability_schema | 2h | 4 个 Prompt |
| ⬜ | 实现 `PlannerService`LLM 调用) | 4h | 含 json-repair + Zod 校验 |
| ⬜ | 实现 `POST /api/v1/ssa/sessions/:id/plan` | 3h | |
| ⬜ | 实现会话管理 APICRUD | 3h | |
| ⬜ | 实现 Brain-Hand 数据隔离逻辑 | 2h | Schema 给 LLMData 给 R |
| ⬜ | DataParserService 增加小样本隐私保护 | 1h | N<10 时模糊化 Min/Max |
### 前端任务
| 状态 | 任务 | 预估 | 备注 |
|------|------|------|------|
| ⬜ | 实现 Chat 消息流组件 | 4h | 复用 AIStreamChat |
| ⬜ | 实现计划确认卡片PlanCard | 4h | 参考原型图 |
| ⬜ | 实现执行路径树ExecutionTrace | 3h | 动画效果 |
| ⬜ | 实现 API 对接api.ts | 2h | |
| ⬜ | 实现 Zustand Store | 2h | |
---
## Phase 3完善与联调Week 5-6
**里程碑目标:** MVP 功能完整,可演示
### R 服务任务
| 状态 | 任务 | 预估 | 备注 |
|------|------|------|------|
| ⬜ | 实现 Fisher 精确检验ST_FISHER | 2h | |
| ⬜ | 实现 Wilcoxon 检验ST_WILCOXON | 2h | |
| ⬜ | 实现 Mann-Whitney UST_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 | 21 | 0 | 0% |
| Phase 2 | 20 | 0 | 0% |
| Phase 3 | 21 | 0 | 0% |
| **总计** | **62** | **0** | **0%** |
---
## 风险与阻塞项
| 日期 | 问题描述 | 影响 | 解决方案 | 状态 |
|------|---------|------|---------|------|
| | | | | |
---
## 每日站会记录
### 2026-02-xx
**昨日完成:**
-
**今日计划:**
-
**阻塞问题:**
-