feat(asl): Complete Tool 4 SR Chart Generator and Tool 5 Meta Analysis Engine
Tool 4 - SR Chart Generator: - PRISMA 2020 flow diagram with Chinese/English toggle (SVG) - Baseline characteristics table (Table 1) - Dual data source: project pipeline API + Excel upload - SVG/PNG export support - Backend: ChartingService with Prisma aggregation - Frontend: PrismaFlowDiagram, BaselineTable, DataSourceSelector Tool 5 - Meta Analysis Engine: - 3 data types: HR (metagen), dichotomous (metabin), continuous (metacont) - Random and fixed effects models - Multiple effect measures: HR / OR / RR - Forest plot + funnel plot (base64 PNG from R) - Heterogeneity statistics: I2, Q, p-value, Tau2 - Data input via Excel upload or project pipeline - R Docker image updated with meta package (13 tools total) - E2E test: 36/36 passed - Key fix: exp() back-transformation for log-scale ratio measures Also includes: - IIT CRA Agent V3.0 routing and AI chat page integration - Updated ASL module status guide (v2.3) - Updated system status guide (v6.3) - Updated R statistics engine guide (v1.4) Tested: Frontend renders correctly, backend APIs functional, E2E tests passed Made-with: Cursor
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
# AIclinicalresearch 系统当前状态与开发指南
|
||||
|
||||
> **文档版本:** v6.2
|
||||
> **文档版本:** v6.3
|
||||
> **创建日期:** 2025-11-28
|
||||
> **维护者:** 开发团队
|
||||
> **最后更新:** 2026-02-26
|
||||
> **🎉 重大里程碑:**
|
||||
> - **🆕 2026-02-26:ASL 工具 4 SR 图表生成器 + 工具 5 Meta 分析引擎开发完成!** PRISMA 流程图(中英切换)+ 基线特征表 + Meta 分析(HR/二分类/连续型)+ 森林图/漏斗图 + R Docker meta 包 + E2E 36/36 通过
|
||||
> - **🆕 2026-02-26:CRA Agent V3.0 P0+P1 全部完成!** 自驱动质控流水线 + ChatOrchestrator + LLM Function Calling + E2E 54/54 通过
|
||||
> - **🆕 2026-02-24:ASL 工具 3 V2.0 架构升级至散装派发 + Aggregator!** 9 条研发红线 + 散装派发与轮询收口任务模式指南 v1.1 沉淀
|
||||
> - **2026-02-24:ASL 工具 3 V2.0 架构升级至散装派发 + Aggregator!** 9 条研发红线 + 散装派发与轮询收口任务模式指南 v1.1 沉淀
|
||||
> - **2026-02-23:ASL 工具 3 V2.0 开发计划完成!** HITL + 动态模板 + M1/M2/M3 三阶段 22 天
|
||||
> - **🆕 2026-02-23:ASL Deep Research V2.0 核心功能完成!** SSE 实时流 + 段落化思考 + 瀑布流 UI + Markdown 渲染 + 引用链接可见 + Word 导出 + 中文数据源
|
||||
> - **🆕 2026-02-22:SSA Phase I-IV 开发完成!** Session 黑板 + 对话层 LLM + 方法咨询 + 对话驱动分析,E2E 107/107 通过
|
||||
@@ -29,17 +30,13 @@
|
||||
> - **2026-01-24:Protocol Agent 框架完成!** 可复用Agent框架+5阶段对话流程
|
||||
> - **2026-01-22:OSS 存储集成完成!** 阿里云 OSS 正式接入平台基础层
|
||||
>
|
||||
> **🆕 最新进展(ASL 工具 3 架构升级 + V2.0 核心完成 2026-02-24):**
|
||||
> - 📋 **🆕 ASL 工具 3 V2.0 架构升级至散装派发 + Aggregator** — 废弃 Fan-out,采用散装模式(v2.0 定稿,9 条研发红线,M1/M2/M3 三阶段 22 天)
|
||||
> - 📋 **🆕 散装派发与轮询收口任务模式指南 v1.1** — Postgres-Only 合规的 Level 2 批量任务处理模式(API 散装 → N Worker → Aggregator 收口)
|
||||
> - 📋 **分布式 Fan-out 任务模式开发指南** — Level 3 参考(8 模式 + 18 反模式,已不用于 ASL 工具 3)
|
||||
> - ✅ **🎉 ASL Deep Research V2.0 核心功能完成** — SSE 流式架构 + 瀑布流 UI + HITL + 5 精选数据源 + Word 导出
|
||||
> - ✅ **SSE 流式替代轮询** — 实时推送 AI 思考过程(reasoning_content),段落化日志聚合
|
||||
> - ✅ **Markdown 渲染 + 引用链接可见化** — react-markdown 正确渲染报告,`[6]` 后显示完整 URL
|
||||
> - ✅ **中文数据源专项测试** — CNKI/中华医学期刊网 domain_scope 有效,混合源建议分批搜索
|
||||
> - ✅ **DeepSearch 通用能力指南 v2.0** — `docs/02-通用能力层/04-DeepResearch引擎/`
|
||||
> - ✅ **🎉 SSA Phase I-IV 全部开发完成** — Session 黑板 + 意图路由器 + 对话层 LLM + 方法咨询 + AskUser 标准化 + 对话驱动分析 + QPER 集成
|
||||
> - ✅ **SSA E2E 测试全部通过** — Phase I 31/31 + Phase II 38/38 + Phase III 13/13 + Phase IV 25/25 = 共 107 项
|
||||
> **🆕 最新进展(ASL 工具 4+5 开发完成 2026-02-26):**
|
||||
> - ✅ **🎉🆕 ASL 工具 4 SR 图表生成器完成** — PRISMA 2020 流程图(中英切换)+ 基线特征表 + 双通道数据源(项目流水线/Excel)+ SVG/PNG 导出
|
||||
> - ✅ **🎉🆕 ASL 工具 5 Meta 分析引擎完成** — HR/二分类/连续型 3 种数据类型 + 随机/固定效应模型 + 森林图/漏斗图 + R Docker meta 包 + E2E 36/36 通过
|
||||
> - ✅ **🆕 R Docker 镜像更新** — 新增 meta 包,工具总数从 12 增至 13(ST_META_ANALYSIS)
|
||||
> - ✅ **🎉 ASL 工具 3 M1+M2 开发完成** — 散装派发+Aggregator + MinerU VLM + XML Prompt + HITL 审核抽屉 + Excel 导出
|
||||
> - ✅ **🎉 SSA Phase I-IV 全部开发完成** — Session 黑板 + 意图路由器 + 对话层 LLM + 方法咨询 + QPER 集成,E2E 107/107
|
||||
> - ✅ **🎉 CRA Agent V3.0 P0+P1 完成** — ChatOrchestrator + LLM Function Calling + 4 工具 + E2E 54/54
|
||||
>
|
||||
> **部署状态:** ✅ 生产环境运行中 | 公网地址:http://8.140.53.236/
|
||||
> **REDCap 状态:** ✅ 生产环境运行中 | 地址:https://redcap.xunzhengyixue.com/
|
||||
@@ -77,7 +74,7 @@
|
||||
|---------|---------|---------|---------|---------|--------|
|
||||
| **AIA** | AI智能问答 | 12个智能体 + Protocol Agent(全流程方案) | ⭐⭐⭐⭐⭐ | 🎉 **V3.1 MVP完整交付(90%)** - 一键生成+Word导出 | **P0** |
|
||||
| **PKB** | 个人知识库 | RAG问答、私人文献库 | ⭐⭐⭐ | 🎉 **Dify已替换!自研RAG上线(95%)** | P1 |
|
||||
| **ASL** | AI智能文献 | 文献筛选、Deep Research、全文智能提取 | ⭐⭐⭐⭐⭐ | 🎉 **V2.0 核心完成(80%)+ 🆕工具3计划v2.0就绪** - SSE流式+瀑布流UI+HITL+Word导出+散装派发+Aggregator+动态模板 | **P0** |
|
||||
| **ASL** | AI智能文献 | 文献筛选、Deep Research、全文智能提取、SR图表、Meta分析 | ⭐⭐⭐⭐⭐ | 🎉 **V2.0 核心完成(90%)+ 🆕工具4+5完成** - SSE流式+瀑布流UI+HITL+Word导出+散装派发+PRISMA流程图+Meta分析引擎(R Docker) | **P0** |
|
||||
| **DC** | 数据清洗整理 | ETL + 医学NER(百万行级数据) | ⭐⭐⭐⭐⭐ | ✅ **Tool B完成 + Tool C 99%(异步架构+性能优化-99%+多指标转换+7大功能)** | **P0** |
|
||||
| **IIT** | IIT Manager Agent | CRA Agent - LLM Tool Use + 自驱动质控 + 统一驾驶舱 | ⭐⭐⭐⭐⭐ | 🎉 **V3.0 P0+P1完成!** ChatOrchestrator + 4工具 + E2E 54/54 | **P1-2** |
|
||||
| **SSA** | 智能统计分析 | **QPER架构** + 四层七工具 + 对话层LLM + 意图路由器 | ⭐⭐⭐⭐⭐ | 🎉 **Phase I-IV 开发完成** — QPER闭环 + Session黑板 + 意图路由 + 对话LLM + 方法咨询 + 对话驱动分析,E2E 107/107 | **P1** |
|
||||
@@ -169,9 +166,40 @@
|
||||
|
||||
---
|
||||
|
||||
## 🚀 当前开发状态(2026-02-23)
|
||||
## 🚀 当前开发状态(2026-02-26)
|
||||
|
||||
### 🎉 最新进展:ASL Deep Research V2.0 核心功能完成(2026-02-23)
|
||||
### 🎉 最新进展:ASL 工具 4 + 工具 5 开发完成(2026-02-26)
|
||||
|
||||
#### ✅ ASL 工具 4 SR 图表生成器 + 工具 5 Meta 分析引擎
|
||||
|
||||
**重大里程碑:ASL 证据整合工具链(工具 3→4→5)核心功能全部完成!**
|
||||
|
||||
| 工具 | 核心功能 | 技术实现 | 状态 |
|
||||
|------|---------|---------|------|
|
||||
| 工具 4:SR 图表生成器 | PRISMA 2020 流程图(中英切换)| 前端 SVG 渲染 + I18N | ✅ |
|
||||
| 工具 4:SR 图表生成器 | 基线特征表(Table 1) | Ant Design 动态列 | ✅ |
|
||||
| 工具 4:SR 图表生成器 | 双通道数据源 | 项目流水线 API + Excel 上传 | ✅ |
|
||||
| 工具 5:Meta 分析引擎 | HR / 二分类 / 连续型 | R meta 包(metagen/metabin/metacont) | ✅ |
|
||||
| 工具 5:Meta 分析引擎 | 森林图 + 漏斗图 | R base64 PNG | ✅ |
|
||||
| 工具 5:Meta 分析引擎 | 异质性统计量 | I²、Q、p、Tau² | ✅ |
|
||||
| 工具 5:Meta 分析引擎 | 数据输入 | Excel 上传 + 项目流水线 | ✅ |
|
||||
| 工具 5:Meta 分析引擎 | E2E 测试 | 36/36 通过(HR/OR/RR/连续型/边界情况) | ✅ |
|
||||
|
||||
**关键技术决策**:
|
||||
- ✅ **R Docker 集成**:meta 包安装到 R Docker 镜像,Brain-Hand 架构复用 SSA 基础设施
|
||||
- ✅ **Log 尺度回转**:meta 包返回 log 尺度 HR/OR/RR,R 脚本内 exp() 回转
|
||||
- ✅ **Excel 优先输入**:用户下载 Excel 模板编辑数据后上传,避免浏览器内编辑表格的复杂度
|
||||
- ✅ **PRISMA 中英切换**:I18N 对象驱动,默认中文(面向国内医生),英文用于 SCI 论文
|
||||
|
||||
**新增 API 端点**:5 个(工具 4: 2 个 + 工具 5: 3 个)
|
||||
**新增前端路由**:2 个(`/charting` + `/meta-analysis`)
|
||||
**R Docker 更新**:meta 包新增,工具总数 13
|
||||
|
||||
**相关文档**:
|
||||
- 模块状态:`docs/03-业务模块/ASL-AI智能文献/00-模块当前状态与开发指南.md`
|
||||
- R 引擎指南:`docs/02-通用能力层/06-R统计引擎/01-R统计引擎架构与部署指南.md`
|
||||
|
||||
### 🎉 ASL Deep Research V2.0 核心功能完成(2026-02-23)
|
||||
|
||||
#### ✅ ASL Deep Research V2.0 核心开发完成
|
||||
|
||||
@@ -1510,7 +1538,7 @@ npm run dev # http://localhost:3000
|
||||
|
||||
### 模块完成度
|
||||
- ✅ **已完成**:AIA V2.0(85%,核心功能完成)、平台基础层(100%)、RVW(95%)、通用能力层升级(100%)、**PKB(95%,Dify已替换)** 🎉
|
||||
- 🚧 **开发中**:**ASL(80%,🎉 V2.0 核心功能完成:SSE流式+瀑布流UI+HITL+Word导出+中文数据源)**、DC(Tool C 98%,Tool B后端100%,Tool B前端0%)、IIT(60%,Phase 1.5完成)、**SSA(QPER主线100% + Phase I-IV 全部完成,E2E 107/107,Phase VI 待启动)** 🎉
|
||||
- 🚧 **开发中**:**ASL(90%,🎉 工具3 M1+M2 + 工具4 + 工具5 完成:PRISMA图+Meta分析+R Docker)**、DC(Tool C 98%,Tool B后端100%,Tool B前端0%)、IIT(60%,Phase 1.5完成)、**SSA(QPER主线100% + Phase I-IV 全部完成,E2E 107/107,Phase VI 待启动)** 🎉
|
||||
- 📋 **未开始**:ST
|
||||
|
||||
### 部署完成度
|
||||
@@ -1660,9 +1688,9 @@ if (items.length >= 50) {
|
||||
|
||||
---
|
||||
|
||||
**文档版本**:v6.1
|
||||
**最后更新**:2026-02-23
|
||||
**本次更新**:ASL Deep Research V2.0 核心功能完成(SSE流式+段落化思考+引用链接可见化+瀑布流UI+Word导出+中文数据源)
|
||||
**文档版本**:v6.3
|
||||
**最后更新**:2026-02-26
|
||||
**本次更新**:ASL 工具 4 SR 图表生成器 + 工具 5 Meta 分析引擎开发完成(PRISMA 中英切换 + Meta 分析 HR/二分类/连续型 + R Docker meta 包 + E2E 36/36)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# R 统计引擎架构与部署指南
|
||||
|
||||
> **版本:** v1.3
|
||||
> **更新日期:** 2026-02-22
|
||||
> **维护者:** SSA-Pro 开发团队
|
||||
> **状态:** ✅ 生产就绪(Phase Deploy 完成 — 12 工具 + Block-based 标准化输出)
|
||||
> **版本:** v1.4
|
||||
> **更新日期:** 2026-02-26
|
||||
> **维护者:** SSA-Pro 开发团队 / ASL 循证工具箱团队
|
||||
> **状态:** ✅ 生产就绪(13 工具 + Block-based 标准化输出 — 新增 Meta 分析引擎)
|
||||
|
||||
---
|
||||
|
||||
@@ -42,11 +42,11 @@ R 统计引擎是平台的**专用统计计算服务**,基于 Docker 容器化
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 业务模块层 │
|
||||
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
||||
│ │ SSA-Pro │ │ 其他 │ │ 其他 │ │
|
||||
│ │ 智能统计 │ │ 模块 │ │ 模块 │ │
|
||||
│ └────┬────┘ └─────────┘ └─────────┘ │
|
||||
├───────┼─────────────────────────────────────────────────────┤
|
||||
│ ▼ 通用能力层 │
|
||||
│ │ SSA-Pro │ │ ASL │ │ 其他 │ │
|
||||
│ │ 智能统计 │ │Meta分析 │ │ 模块 │ │
|
||||
│ └────┬────┘ └────┬────┘ └─────────┘ │
|
||||
├───────┼──────────┼──────────────────────────────────────────┤
|
||||
│ ▼ ▼ 通用能力层 │
|
||||
│ ┌─────────────────────────────────────────────────────┐ │
|
||||
│ │ R 统计引擎 (Docker) │ │
|
||||
│ │ • /health 健康检查 │ │
|
||||
@@ -68,6 +68,7 @@ R 统计引擎是平台的**专用统计计算服务**,基于 Docker 容器化
|
||||
| gtsummary | 最新 | 基线特征表生成(Phase Deploy 新增) |
|
||||
| gt/broom | 最新 | 表格渲染/模型整理(Phase Deploy 新增) |
|
||||
| scales/gridExtra | 最新 | 坐标轴格式化/多图排版(Phase Deploy 新增) |
|
||||
| meta | 8.2.1 | Meta 分析引擎(ASL 工具 5 新增 — metagen/metabin/metacont) |
|
||||
| Docker | 24+ | 容器化部署 |
|
||||
|
||||
---
|
||||
@@ -187,7 +188,7 @@ RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 直接安装 R 包(含 Phase Deploy 新增依赖)
|
||||
# 直接安装 R 包(含 Phase Deploy + ASL Meta 分析依赖)
|
||||
RUN R -e "install.packages(c( \
|
||||
'plumber', \
|
||||
'jsonlite', \
|
||||
@@ -203,7 +204,8 @@ RUN R -e "install.packages(c( \
|
||||
'gridExtra', \
|
||||
'gtsummary', \
|
||||
'gt', \
|
||||
'broom' \
|
||||
'broom', \
|
||||
'meta' \
|
||||
), repos='https://cloud.r-project.org/', Ncpus=2)"
|
||||
|
||||
# 安全加固:创建非特权用户
|
||||
@@ -273,8 +275,8 @@ ssa-r-statistics 1.0.1 xxxxxxxxxxxx x minutes ago 1.81GB
|
||||
|------|------|
|
||||
| 基础镜像下载 | ~2 分钟(首次) |
|
||||
| 系统依赖安装 | ~1 分钟 |
|
||||
| R 包安装(15 个包含 gtsummary/gt) | ~10 分钟 |
|
||||
| **总计** | **~13 分钟** |
|
||||
| R 包安装(16 个,含 gtsummary/gt/meta) | ~15 分钟 |
|
||||
| **总计** | **~17 分钟** |
|
||||
|
||||
---
|
||||
|
||||
@@ -378,7 +380,7 @@ GET /health
|
||||
"timestamp": "2026-02-19 08:00:00",
|
||||
"version": "1.0.1",
|
||||
"dev_mode": true,
|
||||
"tools_loaded": 1
|
||||
"tools_loaded": 13
|
||||
}
|
||||
```
|
||||
|
||||
@@ -402,15 +404,16 @@ GET /api/v1/tools
|
||||
"linear_reg",
|
||||
"logistic_binary",
|
||||
"mann_whitney",
|
||||
"meta_analysis",
|
||||
"t_test_ind",
|
||||
"t_test_paired",
|
||||
"wilcoxon"
|
||||
],
|
||||
"count": 12
|
||||
"count": 13
|
||||
}
|
||||
```
|
||||
|
||||
#### 已实现的统计工具(12 个)
|
||||
#### 已实现的统计工具(13 个)
|
||||
|
||||
**Phase 2A 基础工具(7 个)**
|
||||
|
||||
@@ -434,6 +437,14 @@ GET /api/v1/tools
|
||||
| `ST_LINEAR_REG` | 线性回归 | 连续结局多因素分析 |
|
||||
| `ST_BASELINE_TABLE` | 基线特征表(复合工具) | 基于 gtsummary 的一键式基线表生成 |
|
||||
|
||||
**ASL 循证工具箱新增(1 个)**
|
||||
|
||||
| tool_code | 名称 | 场景 | 调用方 |
|
||||
|-----------|------|------|--------|
|
||||
| `ST_META_ANALYSIS` | Meta 分析引擎 | HR / 二分类 / 连续型 Meta 分析,生成森林图 + 漏斗图 | ASL 工具 5 |
|
||||
|
||||
> **跨模块复用说明:** `ST_META_ANALYSIS` 由 ASL 模块(工具 5:Meta 分析引擎)引入,后端代理位于 `backend/src/modules/asl/meta-analysis/`,使用 `inline` 数据协议(Meta 分析通常 5-30 个研究,数据量极小)。该工具同样可被 SSA 或其他模块复用。
|
||||
|
||||
### 5.3 执行技能
|
||||
|
||||
```http
|
||||
@@ -593,6 +604,79 @@ Content-Type: application/json
|
||||
|
||||
> **特点:** `ST_BASELINE_TABLE` 是复合工具,基于 `gtsummary::tbl_summary()` 自动判断变量类型(连续/分类)、选择统计方法(T 检验/Mann-Whitney/卡方/Fisher),输出标准三线表。`report_blocks[0].metadata.is_baseline_table = true` 触发前端特殊渲染(P 值标星、rowspan 合并行)。
|
||||
|
||||
### 5.6 Meta 分析示例(ASL 工具 5 — v1.4 新增)
|
||||
|
||||
```http
|
||||
POST /api/v1/skills/ST_META_ANALYSIS
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
**请求体(HR 数据类型):**
|
||||
```json
|
||||
{
|
||||
"data_source": {
|
||||
"type": "inline",
|
||||
"data": [
|
||||
{"study_id": "Gandhi 2018", "hr": 0.49, "lower_ci": 0.38, "upper_ci": 0.64},
|
||||
{"study_id": "Socinski 2018", "hr": 0.56, "lower_ci": 0.45, "upper_ci": 0.70},
|
||||
{"study_id": "West 2019", "hr": 0.60, "lower_ci": 0.45, "upper_ci": 0.80}
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"data_type": "hr",
|
||||
"model": "random"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**支持的 3 种数据类型:**
|
||||
|
||||
| data_type | 必需列 | R 函数 | 效应指标 |
|
||||
|-----------|--------|--------|----------|
|
||||
| `hr` | `study_id`, `hr`, `lower_ci`, `upper_ci` | `meta::metagen()` | HR |
|
||||
| `dichotomous` | `study_id`, `events_e`, `total_e`, `events_c`, `total_c` | `meta::metabin()` | OR / RR / RD |
|
||||
| `continuous` | `study_id`, `mean_e`, `sd_e`, `n_e`, `mean_c`, `sd_c`, `n_c` | `meta::metacont()` | MD |
|
||||
|
||||
**params 参数:**
|
||||
|
||||
| 参数 | 类型 | 默认值 | 说明 |
|
||||
|------|------|--------|------|
|
||||
| `data_type` | string | 必填 | `"hr"` / `"dichotomous"` / `"continuous"` |
|
||||
| `model` | string | `"random"` | `"random"` (DerSimonian-Laird) / `"fixed"` |
|
||||
| `effect_measure` | string | 自动 | 仅二分类有效:`"OR"` / `"RR"` / `"RD"` |
|
||||
|
||||
**成功响应(核心字段):**
|
||||
```json
|
||||
{
|
||||
"status": "success",
|
||||
"results": {
|
||||
"pooled_effect": 0.5948,
|
||||
"pooled_lower": 0.5255,
|
||||
"pooled_upper": 0.6733,
|
||||
"pooled_pvalue": 0.0,
|
||||
"i_squared": 15.4,
|
||||
"tau_squared": 0.0031,
|
||||
"q_statistic": 4.73,
|
||||
"q_pvalue": 0.316,
|
||||
"k_studies": 3,
|
||||
"effect_measure": "HR",
|
||||
"model": "Random Effects"
|
||||
},
|
||||
"plots": [
|
||||
"data:image/png;base64,...(森林图)",
|
||||
"data:image/png;base64,...(漏斗图)"
|
||||
],
|
||||
"report_blocks": [
|
||||
{"type": "key_value", "title": "Meta-Analysis Summary", "items": [...]},
|
||||
{"type": "image", "title": "Forest Plot", "data": "..."},
|
||||
{"type": "image", "title": "Funnel Plot", "data": "..."},
|
||||
{"type": "markdown", "title": "Heterogeneity Assessment", "content": "..."}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
> **重要实现细节 — 对数尺度反变换:** `meta` R 包对比值类效应量(HR / OR / RR)的内部计算在**对数尺度**上进行,即 `TE.random` 返回的是 `log(HR)` 而非 HR。`meta_analysis.R` 在结果提取阶段对比值类指标自动执行 `exp()` 反变换,确保 API 返回临床可读的效应量(如 HR = 0.59 而非 log(HR) = -0.52)。连续型指标(MD)无需反变换。
|
||||
|
||||
---
|
||||
|
||||
## 6. 开发指南
|
||||
@@ -798,6 +882,7 @@ blocks[[length(blocks) + 1]] <- make_markdown_block("两组差异具有统计学
|
||||
| `ST_WILCOXON` | `before_var`, `after_var` | — |
|
||||
| `ST_LINEAR_REG` | `outcome_var`, `predictors` (数组) | `confounders` (数组) |
|
||||
| `ST_BASELINE_TABLE` | `group_var` | `analyze_vars` (数组,不传则自动全选) |
|
||||
| `ST_META_ANALYSIS` | `data_type` (`hr` / `dichotomous` / `continuous`) | `model` (`random` / `fixed`)、`effect_measure` (二分类: `OR` / `RR` / `RD`) |
|
||||
|
||||
### 6.6 R 语言陷阱速查(从实际 Bug 中总结)
|
||||
|
||||
@@ -921,6 +1006,23 @@ cd r-statistics-service
|
||||
docker-compose restart
|
||||
```
|
||||
|
||||
#### 陷阱 8:`meta` 包返回对数尺度效应量(v1.4 新增)
|
||||
|
||||
**现象:** Meta 分析返回 HR = -0.52,但期望 HR ≈ 0.59
|
||||
|
||||
**原因:** `meta` R 包的 `metagen()`/`metabin()` 对比值类效应量(HR、OR、RR)在**对数尺度**上计算。`TE.random`/`TE.fixed` 返回的是 `log(HR)` 或 `log(OR)`,而非原始比值。
|
||||
|
||||
```r
|
||||
# ❌ 错误:直接返回 TE(对数尺度)
|
||||
pooled_effect = ma_result$TE.random # 返回 -0.52(这是 log(HR))
|
||||
|
||||
# ✅ 正确:对比值类指标做 exp() 反变换
|
||||
is_ratio <- sm_label %in% c("HR", "OR", "RR")
|
||||
display_te <- if (is_ratio) exp(pooled_te) else pooled_te # 返回 0.59(真实 HR)
|
||||
```
|
||||
|
||||
**影响范围:** 仅 `meta_analysis.R`,不影响其他统计工具。连续型指标(MD)无需反变换。
|
||||
|
||||
### 6.7 开发环境新增 R 包
|
||||
|
||||
当新工具依赖尚未安装的 R 包时,有两种方式:
|
||||
@@ -1156,7 +1258,7 @@ curl -s -X POST "http://localhost:8082/api/v1/skills/ST_T_TEST_IND" \
|
||||
curl -s http://localhost:8082/health | jq
|
||||
```
|
||||
|
||||
### 9.3 R 工具集中测试脚本(12 工具 + JIT)
|
||||
### 9.3 R 工具集中测试脚本(13 工具 + JIT)
|
||||
|
||||
项目提供了 R 统计引擎的全工具测试脚本:
|
||||
|
||||
@@ -1166,7 +1268,7 @@ node r-statistics-service/tests/run_all_tools_test.js
|
||||
```
|
||||
|
||||
测试覆盖:
|
||||
- 12 个统计工具(Phase 2A × 7 + Phase Deploy × 5)
|
||||
- 13 个统计工具(Phase 2A × 7 + Phase Deploy × 5 + ASL × 1)
|
||||
- JIT 护栏检查(ST_T_TEST_IND / ST_ANOVA_ONE / ST_FISHER / ST_LINEAR_REG)
|
||||
- `report_blocks` 协议校验(类型、必填字段、metadata)
|
||||
|
||||
@@ -1180,17 +1282,44 @@ node run_e2e_test.js
|
||||
```
|
||||
|
||||
测试覆盖:
|
||||
- Layer 1: R 服务(12 个统计工具 + JIT 护栏)
|
||||
- Layer 1: R 服务(13 个统计工具 + JIT 护栏)
|
||||
- Layer 2: Python DataProfile API
|
||||
- Layer 3: Node.js 后端 API(登录 → 会话 → 规划 → 执行)
|
||||
|
||||
### 9.5 Meta 分析引擎专项 E2E 测试(v1.4 新增)
|
||||
|
||||
覆盖 Meta 分析的完整链路(Node.js → R Docker → 森林图/漏斗图生成):
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
npx tsx src/modules/asl/meta-analysis/__tests__/meta-e2e-test.ts
|
||||
```
|
||||
|
||||
测试覆盖(8 个测试项,36 个断言):
|
||||
- R 服务健康检查 + meta_analysis 工具注册验证
|
||||
- HR 风险比 Meta 分析(5 个研究,随机效应)
|
||||
- 二分类 OR Meta 分析(4 个研究)
|
||||
- 二分类 RR Meta 分析(效应指标切换)
|
||||
- 连续型 MD Meta 分析(5 个研究)
|
||||
- 固定效应模型切换
|
||||
- 边界条件:仅 1 个研究(应返回错误)
|
||||
- 森林图 + 漏斗图 Base64 PNG 生成验证
|
||||
|
||||
最近一次测试结果(2026-02-26):
|
||||
```
|
||||
Results: 36 passed, 0 failed (1.3s)
|
||||
HR = 0.5948 [0.5255, 0.6733], I² = 15.4%
|
||||
OR = 0.4530 [0.3328, 0.6166], p < .001
|
||||
MD = -1.4923 [-1.9098, -1.0749], I² = 70%
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 附录:文件结构
|
||||
|
||||
```
|
||||
r-statistics-service/
|
||||
├── Dockerfile # 生产镜像定义(含 gtsummary/gt/broom/scales/gridExtra)
|
||||
├── Dockerfile # 生产镜像定义(含 gtsummary/gt/broom/scales/gridExtra/meta)
|
||||
├── docker-compose.yml # 开发环境编排(含 volume 挂载)
|
||||
├── renv.lock # R 包版本锁定(备用)
|
||||
├── .Rprofile # R 启动配置(备用)
|
||||
@@ -1201,7 +1330,7 @@ r-statistics-service/
|
||||
│ ├── error_codes.R # 错误映射
|
||||
│ ├── result_formatter.R # 结果格式化
|
||||
│ └── block_helpers.R # Block-based 输出辅助函数(Phase E+ 协议)
|
||||
├── tools/ # 统计工具(12 个)
|
||||
├── tools/ # 统计工具(13 个)
|
||||
│ ├── t_test_ind.R # 独立样本 T 检验
|
||||
│ ├── t_test_paired.R # 配对 T 检验
|
||||
│ ├── mann_whitney.R # Mann-Whitney U 检验
|
||||
@@ -1213,7 +1342,8 @@ r-statistics-service/
|
||||
│ ├── anova_one.R # 🆕 单因素方差分析(Phase Deploy)
|
||||
│ ├── wilcoxon.R # 🆕 Wilcoxon 符号秩检验(Phase Deploy)
|
||||
│ ├── linear_reg.R # 🆕 线性回归(Phase Deploy)
|
||||
│ └── baseline_table.R # 🆕 基线特征表 — 复合工具(Phase Deploy)
|
||||
│ ├── baseline_table.R # 🆕 基线特征表 — 复合工具(Phase Deploy)
|
||||
│ └── meta_analysis.R # 🆕 Meta 分析引擎 — HR/二分类/连续型(ASL 工具 5)
|
||||
├── tests/
|
||||
│ ├── run_all_tools_test.js # 🆕 全工具自动化测试(12 工具 + JIT + blocks 校验)
|
||||
│ ├── test_t_test.json # T 检验测试数据
|
||||
@@ -1234,6 +1364,7 @@ r-statistics-service/
|
||||
|
||||
| 版本 | 日期 | 更新内容 |
|
||||
|------|------|----------|
|
||||
| v1.4 | 2026-02-26 | ASL Meta 分析引擎:工具 12→13(+ST_META_ANALYSIS),Dockerfile 新增 `meta` 包,新增 §5.6 Meta 分析 API 示例、陷阱 8(对数尺度反变换)、§9.5 Meta E2E 测试(36 断言全通过),架构图更新 ASL 调用方 |
|
||||
| v1.3 | 2026-02-22 | 开发者体验增强:新工具模板补全 report_blocks(§6.1)、各工具 params 速查表(§6.5)、R 语言 7 大陷阱实录(§6.6)、新增 R 包操作指南(§6.7)、新增 Q11-Q13 常见问题 |
|
||||
| v1.2 | 2026-02-22 | Phase Deploy 完成:工具 7→12(+Fisher/ANOVA/Wilcoxon/线性回归/基线表)、Dockerfile 新增 gtsummary 等 5 包、Block-based 输出协议文档化(§6.4)、全工具测试脚本 |
|
||||
| v1.1 | 2026-02-20 | Phase 2A 完成:7 个统计工具、JIT 护栏、热重载说明、常见问题补充 |
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
# AI智能文献模块 - 当前状态与开发指南
|
||||
|
||||
> **文档版本:** v2.2
|
||||
> **文档版本:** v2.3
|
||||
> **创建日期:** 2025-11-21
|
||||
> **维护者:** AI智能文献开发团队
|
||||
> **最后更新:** 2026-02-25 🆕 **工具 3 M1 骨架管线 + M2 HITL 工作台开发完成!**
|
||||
> **最后更新:** 2026-02-26 🆕 **工具 4 SR 图表生成器 + 工具 5 Meta 分析引擎开发完成!**
|
||||
> **重大进展:**
|
||||
> - 🆕 2026-02-25:**工具 3 M1+M2 开发完成!** 散装派发+Aggregator 全链路、MinerU 集成、XML Prompt 隔离、fuzzyQuoteMatch 溯源、HITL 审核抽屉、Excel 导出、数据归一化修复
|
||||
> - 🆕 2026-02-26:**工具 4 + 工具 5 开发完成!** PRISMA 流程图(中英切换)+ 基线特征表 + Meta 分析引擎(HR/二分类/连续型 + 森林图/漏斗图)+ R Docker meta 包集成 + E2E 36/36 通过
|
||||
> - 2026-02-25:**工具 3 M1+M2 开发完成!** 散装派发+Aggregator 全链路、MinerU 集成、XML Prompt 隔离、fuzzyQuoteMatch 溯源、HITL 审核抽屉、Excel 导出、数据归一化修复
|
||||
> - 2026-02-24:工具 3 V2.0 架构升级!Fan-out → 散装派发 + Aggregator 轮询收口,通用模式指南 v1.1 沉淀
|
||||
> - 2026-02-23:V2.0 核心功能完成!SSE 流式架构 + 段落化思考日志 + 引用链接可见化
|
||||
> - 2026-02-22:V2.0 前后端联调完成!瀑布流 UI + Markdown 渲染 + Word 导出 + 中文数据源测试
|
||||
@@ -32,15 +33,17 @@
|
||||
AI智能文献模块是一个基于大语言模型(LLM)的文献筛选系统,用于帮助研究人员根据PICOS标准自动筛选文献。
|
||||
|
||||
### 当前状态
|
||||
- **开发阶段**:🎉 工具 3 M1+M2 开发完成,M3 待启动
|
||||
- **开发阶段**:🎉 工具 3 M1+M2 + 工具 4 + 工具 5 开发完成
|
||||
- **已完成功能**:
|
||||
- ✅ 标题摘要初筛(Title & Abstract Screening)- 完整流程
|
||||
- ✅ 全文复筛后端(Day 2-5)- LLM服务 + API + Excel导出
|
||||
- ✅ **智能文献检索(DeepSearch)V1.x MVP** - unifuncs API 集成
|
||||
- ✅ **Unifuncs API 网站覆盖测试** - 18 站点实测,9 个一级可用
|
||||
- ✅ **🎉 Deep Research V2.0 核心功能** — SSE 流式架构 + 瀑布流 UI + HITL + Word 导出
|
||||
- ✅ **🆕 工具 3 M1 骨架管线** — 散装派发+Aggregator 全链路、PKB ACL 防腐层、DeepSeek-V3 纯文本盲提、3 步极简前端
|
||||
- ✅ **🆕 工具 3 M2 HITL 工作台** — MinerU VLM 表格集成、XML Prompt 隔离、fuzzyQuoteMatch 溯源、SSE 实时日志、审核抽屉、Excel 宽表导出
|
||||
- ✅ **工具 3 M1 骨架管线** — 散装派发+Aggregator 全链路、PKB ACL 防腐层、DeepSeek-V3 纯文本盲提、3 步极简前端
|
||||
- ✅ **工具 3 M2 HITL 工作台** — MinerU VLM 表格集成、XML Prompt 隔离、fuzzyQuoteMatch 溯源、SSE 实时日志、审核抽屉、Excel 宽表导出
|
||||
- ✅ **🆕 工具 4 SR 图表生成器** — PRISMA 2020 流程图(中英切换)+ 基线特征表 + 双通道数据源(项目流水线/Excel 上传)+ SVG/PNG 导出
|
||||
- ✅ **🆕 工具 5 Meta 分析引擎** — HR/二分类/连续型 3 种数据类型 + 随机/固定效应模型 + 森林图+漏斗图 + R Docker meta 包集成 + E2E 36/36 通过
|
||||
- **待开发**:
|
||||
- 📋 **工具 3 M3 动态模板引擎** — 自定义字段 CRUD、Prompt 注入防护、E2E 测试
|
||||
- **V2.0 已完成**:
|
||||
@@ -245,6 +248,121 @@ GET /api/v1/asl/extraction/pkb/knowledge-bases/:kbId/documents # PKB 文档
|
||||
| `extraction_tasks` | 提取任务(idempotencyKey 幂等) |
|
||||
| `extraction_results` | 单文档提取结果(extractedData JSON + quoteVerification + reviewStatus) |
|
||||
|
||||
### 🆕 工具 4 SR 图表生成器(2026-02-26 开发完成)
|
||||
|
||||
**功能定位:** 基于工具 3 提取结果,一键生成 PRISMA 2020 流程图 + 基线特征表(Table 1),支持从项目流水线或 Excel 导入数据。
|
||||
|
||||
**开发状态:** ✅ 开发完成
|
||||
|
||||
**核心功能:**
|
||||
|
||||
| 功能 | 技术实现 | 状态 |
|
||||
|------|---------|------|
|
||||
| PRISMA 2020 流程图 | SVG 渲染,支持中英文切换 | ✅ |
|
||||
| 基线特征表(Table 1) | Ant Design Table 动态渲染 | ✅ |
|
||||
| 双通道数据源 | 项目流水线(API 聚合)+ Excel 上传 | ✅ |
|
||||
| 图表导出 | SVG / PNG 导出 | ✅ |
|
||||
| Excel 模板 | 下载标准模板 + 解析上传文件 | ✅ |
|
||||
| 中英文切换 | PRISMA 图中英文 I18N(默认中文) | ✅ |
|
||||
|
||||
**核心架构决策:**
|
||||
|
||||
| 决策 | 方案 |
|
||||
|------|------|
|
||||
| PRISMA 数据聚合 | 后端 Prisma `count` 聚合 aslLiterature / screeningResult / fulltextResult / extractionResult |
|
||||
| 基线数据来源 | 后端查询 approved 的 extractionResult,flattenModuleData 归一化 |
|
||||
| 图表渲染 | 前端 SVG 组件,无第三方图表库依赖 |
|
||||
| 中英切换 | I18N 对象 + lang prop + 切换按钮组 |
|
||||
|
||||
**新增 API 端点:**
|
||||
```http
|
||||
GET /api/v1/asl/charting/prisma-data/:projectId # PRISMA 聚合数据
|
||||
GET /api/v1/asl/charting/baseline-data/:projectId # 基线特征数据
|
||||
```
|
||||
|
||||
**新增前端路由:**
|
||||
```
|
||||
/literature/charting # SR 图表生成器页面
|
||||
```
|
||||
|
||||
**核心代码组件:**
|
||||
|
||||
| 组件 | 文件 | 说明 |
|
||||
|------|------|------|
|
||||
| 图表服务 | `charting/services/ChartingService.ts` | Prisma 聚合 + 基线数据提取 |
|
||||
| 图表控制器 | `charting/controllers/ChartingController.ts` | 2 个 API 端点 |
|
||||
| PRISMA 图 | `components/charting/PrismaFlowDiagram.tsx` | SVG 渲染 + I18N 中英切换 |
|
||||
| 基线表 | `components/charting/BaselineTable.tsx` | Ant Design 动态列表格 |
|
||||
| 数据源选择 | `components/charting/DataSourceSelector.tsx` | 项目流水线 / Excel 双通道 |
|
||||
| Excel 工具 | `utils/chartingExcelUtils.ts` | 模板下载 + 解析 + 图表导出 |
|
||||
| 主页面 | `pages/SRChartGenerator.tsx` | Tab 切换 PRISMA / 基线表 |
|
||||
|
||||
### 🆕 工具 5 Meta 分析引擎(2026-02-26 开发完成)
|
||||
|
||||
**功能定位:** 定量 Meta 分析引擎,支持 HR / 二分类(OR/RR)/ 连续型数据,生成森林图 + 漏斗图 + 异质性统计量,基于 R Docker 服务(meta 包)。
|
||||
|
||||
**开发状态:** ✅ 开发完成,E2E 36/36 通过
|
||||
|
||||
**核心功能:**
|
||||
|
||||
| 功能 | 技术实现 | 状态 |
|
||||
|------|---------|------|
|
||||
| 3 种数据类型 | HR(metagen)、二分类(metabin)、连续型(metacont) | ✅ |
|
||||
| 2 种效应模型 | 随机效应(DerSimonian-Laird)+ 固定效应(Inverse Variance) | ✅ |
|
||||
| 多效应量度 | HR / OR / RR(二分类)| ✅ |
|
||||
| 森林图 | R meta::forest() → base64 PNG | ✅ |
|
||||
| 漏斗图 | R meta::funnel() → base64 PNG | ✅ |
|
||||
| 异质性统计 | I²、Q 统计量、p 值、Tau² | ✅ |
|
||||
| 数据输入 | Excel 上传 + 项目流水线(工具 3 提取结果) | ✅ |
|
||||
| 只读数据预览 | Ant Design Table 预览 + 数据验证 | ✅ |
|
||||
| Excel 模板 | 3 种数据类型模板 + 示例数据 + 使用说明 | ✅ |
|
||||
| R 代码可复现 | 返回可复现的 R 代码片段 | ✅ |
|
||||
|
||||
**核心架构决策:**
|
||||
|
||||
| 决策 | 方案 |
|
||||
|------|------|
|
||||
| 统计引擎 | R Docker 服务(meta 包),Brain-Hand 架构(Node.js 编排,R 执行) |
|
||||
| 数据传输 | inline JSON(小数据直传) |
|
||||
| 效应量回转 | meta 包返回 log 尺度,R 脚本内 exp() 回转为临床可解释值 |
|
||||
| 前端数据输入 | Excel 上传(编辑后回传)或关联项目流水线自动提取 |
|
||||
| 数据预览 | 只读 Ant Design Table,不做浏览器内编辑 |
|
||||
|
||||
**新增 API 端点:**
|
||||
```http
|
||||
POST /api/v1/asl/meta-analysis/run # 运行 Meta 分析
|
||||
GET /api/v1/asl/meta-analysis/project-data/:projectId # 从项目流水线提取数据
|
||||
GET /api/v1/asl/meta-analysis/health # R 服务健康检查
|
||||
```
|
||||
|
||||
**新增前端路由:**
|
||||
```
|
||||
/literature/meta-analysis # Meta 分析引擎页面
|
||||
```
|
||||
|
||||
**核心代码组件:**
|
||||
|
||||
| 组件 | 文件 | 说明 |
|
||||
|------|------|------|
|
||||
| R 分析脚本 | `r-statistics-service/tools/meta_analysis.R` | metagen/metabin/metacont + exp() 回转 + 森林图/漏斗图 |
|
||||
| 后端服务 | `meta-analysis/services/MetaAnalysisService.ts` | R Docker 代理 + 项目数据提取 |
|
||||
| 后端控制器 | `meta-analysis/controllers/MetaAnalysisController.ts` | 3 个 API 端点 |
|
||||
| 结果面板 | `components/meta/ResultsPanel.tsx` | 汇总统计 + 图表展示 + R 代码 + 下载 |
|
||||
| Excel 工具 | `utils/metaExcelUtils.ts` | 3 种模板生成 + 解析 + 验证 |
|
||||
| 主页面 | `pages/MetaAnalysisEngine.tsx` | 3 步向导(数据输入→参数配置→分析结果) |
|
||||
| E2E 测试 | `meta-analysis/__tests__/meta-e2e-test.ts` | 36 项测试全部通过 |
|
||||
|
||||
**R Docker 更新:**
|
||||
- Dockerfile 新增 `meta` 包安装
|
||||
- 镜像版本维持 `ssa-r-statistics:1.0.1`
|
||||
- 工具总数从 12 增至 13(新增 `ST_META_ANALYSIS`)
|
||||
- 详见 `docs/02-通用能力层/06-R统计引擎/01-R统计引擎架构与部署指南.md`
|
||||
|
||||
**关键技术点:**
|
||||
1. **Log 尺度回转**:meta 包对 HR/OR/RR 返回 log 尺度值,R 脚本中使用 `exp()` 回转为临床可解释值
|
||||
2. **R JSON 序列化**:Plumber 默认会将单元素向量包装为数组,前端需要 `Array.isArray` 防御
|
||||
3. **数据类型自动检测**:从 Excel 或项目数据自动推断 HR/二分类/连续型
|
||||
|
||||
### 智能文献检索 DeepSearch V1.x(2026-01-18 MVP完成)
|
||||
|
||||
**功能概述:**
|
||||
@@ -1503,16 +1621,23 @@ Drawer打开: <50ms
|
||||
3. ⏳ **outcomes 模板匹配**:根据文献内容自动推荐 survival/continuous/dichotomous
|
||||
4. ⏳ **缺失字段补充**:country、inclusion_criteria、primary_outcome 等(M3 自定义字段支持)
|
||||
|
||||
### 工具 4/5 后续优化
|
||||
1. ⏳ **PRISMA 图数据自动关联**:自动读取项目各阶段实际计数,减少手动输入
|
||||
2. ⏳ **基线表统计检验**:自动计算 p 值、标准差等描述统计
|
||||
3. ⏳ **Meta 分析亚组分析**:支持 subgroup 分层分析
|
||||
4. ⏳ **Meta 分析敏感性分析**:逐一剔除法(Leave-one-out)
|
||||
5. ⏳ **Meta 分析发表偏倚检验**:Egger's test / Begg's test
|
||||
6. ⏳ **网状 Meta 分析(NMA)**:netmeta 包集成
|
||||
|
||||
### 短期优化
|
||||
1. ⏳ Deep Research V2.0 端到端回归测试
|
||||
2. ⏳ 搜索历史管理(历史任务列表)
|
||||
3. ⏳ 标题摘要初筛 Prompt 优化(准确率 60% → 85%+)
|
||||
|
||||
### 中期(Month 2-3)
|
||||
1. ⏳ 工具 4(网状 Meta 分析)开发
|
||||
2. ⏳ 工具 5(证据质量评价 GRADE)开发
|
||||
3. ⏳ 生产环境部署
|
||||
4. ⏳ 证据图谱可视化
|
||||
1. ⏳ 工具 6(证据质量评价 GRADE)开发
|
||||
2. ⏳ 生产环境部署
|
||||
3. ⏳ 证据图谱可视化
|
||||
|
||||
---
|
||||
|
||||
@@ -1522,15 +1647,15 @@ Drawer打开: <50ms
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:2026-02-25(工具 3 M1+M2 开发完成 + 数据归一化修复)
|
||||
**最后更新**:2026-02-26(工具 4 SR 图表生成器 + 工具 5 Meta 分析引擎开发完成)
|
||||
**文档状态**:✅ 反映真实状态
|
||||
**下次更新时机**:工具 3 M3 动态模板引擎开发完成
|
||||
**下次更新时机**:工具 3 M3 动态模板引擎开发完成 或 工具 6 GRADE 开发完成
|
||||
|
||||
**本次更新内容**(v2.2):
|
||||
- ✅ 工具 3 M1 骨架管线完成:散装派发+Aggregator、PKB ACL、纯文本盲提、3步极简前端
|
||||
- ✅ 工具 3 M2 HITL 工作台完成:MinerU 集成、XML Prompt 隔离、fuzzyQuoteMatch、SSE 日志、审核抽屉、Excel 导出
|
||||
- ✅ M2 关键修复:DynamicPromptBuilder 扁平输出、ExcelExporter 数据归一化、Schema-driven 前端
|
||||
- ✅ 新增工具 3 API 端点(12 个)、前端路由(3 个)、数据库表(4 个)
|
||||
- ✅ 更新下一步计划:M3 动态模板引擎 + RoB 增强 + 后续工具 4/5
|
||||
**本次更新内容**(v2.3):
|
||||
- ✅ 工具 4 SR 图表生成器完成:PRISMA 2020 流程图(中英切换)+ 基线特征表 + 双通道数据源 + SVG/PNG 导出
|
||||
- ✅ 工具 5 Meta 分析引擎完成:HR/二分类/连续型 + 随机/固定效应模型 + 森林图/漏斗图 + R Docker meta 包 + E2E 36/36 通过
|
||||
- ✅ 新增工具 4 API 端点(2 个)、工具 5 API 端点(3 个)、前端路由(2 个)
|
||||
- ✅ R Docker 镜像更新:新增 meta 包,工具总数 13
|
||||
- ✅ 更新下一步计划:工具 4/5 后续优化 + 工具 6 GRADE
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user