From f240aa92363fae27e00607aa40c324d9ff3e346c Mon Sep 17 00:00:00 2001 From: HaHafeng Date: Sun, 23 Nov 2025 11:36:30 +0800 Subject: [PATCH] docs(asl): Update module and system status documentation ASL Module Status Update (v1.2 -> v1.3): - Update development stage: backend completed (Day 2-5) - Add fulltext-screening backend structure (controllers, services, routes, tests) - Add 5 new API endpoints for fulltext screening - Update milestone: Day 4-5 completed (database + batch service + API) - Mark Day 6-8 as pending (frontend development) System Status Update (v2.4.0 -> v2.5.0): - Update ASL module progress across all sections - Update database schema: 4 tables -> 6 tables (add fulltext screening tables) - Update API endpoints: 10 -> 15 (add 5 fulltext screening APIs) - Update backend structure to include fulltext-screening module - Reflect 2500+ lines of code added in Day 2-5 --- .../00-系统当前状态与开发指南.md | 53 ++++++++----- .../ASL-AI智能文献/00-模块当前状态与开发指南.md | 76 ++++++++++++++----- 2 files changed, 90 insertions(+), 39 deletions(-) diff --git a/docs/00-系统总体设计/00-系统当前状态与开发指南.md b/docs/00-系统总体设计/00-系统当前状态与开发指南.md index b58ea505..1eba36df 100644 --- a/docs/00-系统总体设计/00-系统当前状态与开发指南.md +++ b/docs/00-系统总体设计/00-系统当前状态与开发指南.md @@ -1,13 +1,14 @@ # AI临床研究平台 - 系统当前状态与开发指南 -> **版本:** V2.4.0 +> **版本:** V2.5.0 > **创建日期:** 2025-11-17 -> **更新日期:** 2025-11-18 +> **更新日期:** 2025-11-23 > **适用对象:** 新开发人员、AI助手、技术决策者 > **阅读时间:** 20分钟 > **文档定位:** 系统真实状态 + 核心开发规范 ⭐ 必读 **📝 版本历史:** +- V2.5.0 (2025-11-23): 更新ASL模块状态(全文复筛后端完成,Day 2-5,2500+行代码) - V2.4.0 (2025-11-18): 更新ASL模块状态(Week 1完成,4个表+10个API+双模型筛选) - V2.3.1 (2025-11-18): 更新LLM模型支持(添加CloseAI集成说明) - V2.3.0 (2025-11-17): 初始创建,基于平台基础设施完成后的真实状态 @@ -99,7 +100,7 @@ frontend-v2/src/ ├── modules/ # 📦 业务模块(7个目录,6个已注册) │ ├── aia/ # ✅ AI智能问答(占位) │ │ └── index.tsx -│ ├── asl/ # 🚧 AI智能文献(Week 1后端完成✅,Week 2前端开发中) +│ ├── asl/ # 🚧 AI智能文献(标题摘要初筛完成✅,全文复筛后端完成✅,待前端) │ │ └── index.tsx │ ├── pkb/ # ✅ 个人知识库(占位) │ │ └── index.tsx @@ -137,7 +138,7 @@ frontend-v2/src/ - 1个预留(rvw - 稿件审查,未来开发) - ✅ 模块注册表:6个模块已注册(moduleRegistry.ts) - AI问答(aia) - - AI智能文献(asl)- Week 1后端完成✅,Week 2前端开发中 + - AI智能文献(asl)- 标题摘要初筛完成✅,全文复筛后端完成✅,待前端开发 - 知识库(pkb) - 智能数据清洗(dc) - 智能统计分析(ssa)- Java团队 @@ -145,7 +146,7 @@ frontend-v2/src/ - 📋 预留模块:稿件审查(rvw)- 目录已创建,待添加到注册表 - ✅ 权限系统:3级版本控制(basic/advanced/premium) - ✅ 错误边界:模块级错误隔离 -- 🚧 模块开发:ASL模块Week 1完成✅,Week 2前端开发中 +- 🚧 模块开发:ASL模块Day 2-5完成✅(全文复筛后端2500+行代码),Day 6-8待前端开发 --- @@ -223,12 +224,14 @@ backend/src/ │ └── jsonParser.ts │ ├── modules/ # 🌟 新模块开发区(标准化架构) -│ └── asl/ # 🚧 AI智能文献(Week 1完成✅) -│ ├── controllers/ # ✅ 项目、文献控制器 -│ ├── services/ # ✅ LLM筛选服务(双模型+三种风格) -│ ├── routes/ # ✅ 10个API接口 +│ └── asl/ # 🚧 AI智能文献(标题摘要初筛完成✅,全文复筛后端完成✅) +│ ├── controllers/ # ✅ 3个控制器(项目、文献、标题初筛、全文复筛) +│ ├── services/ # ✅ LLM筛选服务(双模型+三种风格+全文12字段) +│ ├── routes/ # ✅ 15个API接口(10个标题初筛 + 5个全文复筛) │ ├── schemas/ # ✅ JSON Schema + Prompt生成 -│ └── types/ # ✅ TypeScript类型定义 +│ ├── types/ # ✅ TypeScript类型定义 +│ ├── common/ # ✅ 全文复筛通用能力层(PDF、LLM、验证) +│ └── fulltext-screening/ # ✅ 全文复筛模块(Day 2-5完成,2500+行代码) │ ├── config/ # ⚙️ 配置层 │ ├── database.ts # ⭐ 数据库配置(Serverless连接池优化) @@ -435,7 +438,7 @@ CLOSEAI_CLAUDE_BASE_URL=https://api.openai-proxy.org/anthropic - ✅ Legacy模块:AIA/PKB/RVW 正常运行 - ✅ **平台基础设施:8个模块测试通过(100%)** - ✅ 数据库连接:1/400(正常) -- ✅ ASL模块:Week 1完成(数据库+后端API+LLM筛选服务),Week 2前端开发中 +- ✅ ASL模块:标题摘要初筛完成✅,全文复筛后端完成✅(Day 2-5,2500+行代码),待前端开发 --- @@ -449,11 +452,13 @@ CLOSEAI_CLAUDE_BASE_URL=https://api.openai-proxy.org/anthropic ✅ platform_schema -- 平台层:用户、角色、权限 ✅ aia_schema -- AI问答:项目、对话、消息 ✅ pkb_schema -- 知识库:文档、批处理、知识图谱 -✅ asl_schema -- AI智能文献:4个表已创建(2025-11-18) +✅ asl_schema -- AI智能文献:6个表已创建(2025-11-23) - screening_projects(筛选项目) - - literatures(文献条目) - - screening_results(筛选结果,含双模型理由) - - screening_tasks(筛选任务) + - literatures(文献条目,+13个全文字段) + - screening_results(标题摘要初筛结果) + - screening_tasks(标题摘要初筛任务) + - fulltext_screening_tasks(全文复筛任务) + - fulltext_screening_results(全文复筛结果,12字段) 📋 rvw_schema -- 稿件审查:预留 📋 dc_schema -- 数据清洗:预留 📋 admin_schema -- 运营管理:预留 @@ -538,7 +543,7 @@ MAX_INSTANCES=20 # SAE最大实例数 **⚠️ 注意:** 测试API仅用于开发验证,生产部署前需删除 -### ASL模块API(标准化架构)⭐ **2025-11-18新增** +### ASL模块API(标准化架构)⭐ **2025-11-23更新** **前缀:** `/api/v1/asl` @@ -546,18 +551,28 @@ MAX_INSTANCES=20 # SAE最大实例数 |---------|------|------|------| | 项目管理 | 5个 | CRUD项目(含PICOS、纳排标准、筛选风格) | ✅ 已测试 | | 文献管理 | 4个 | 导入文献(JSON/Excel)、查询、删除 | ✅ 已测试 | +| 标题摘要初筛 | 4个 | 任务创建、进度查询、结果获取、人工复核 | ✅ 已测试 | +| **全文复筛(NEW)** | **5个** | **任务管理、进度、结果、决策、Excel导出** | **✅ 已完成** | | 健康检查 | 1个 | 模块健康状态 | ✅ 已测试 | **核心接口**: ``` +# 项目与文献 POST /api/v1/asl/projects # 创建项目(含PICOS、筛选风格) GET /api/v1/asl/projects # 项目列表 -GET /api/v1/asl/projects/:id # 项目详情 POST /api/v1/asl/projects/:id/literatures/import-excel # 导入Excel文献 -GET /api/v1/asl/projects/:id/literatures # 文献列表 + +# 全文复筛(Day 5新增) +POST /api/v1/asl/fulltext-screening/tasks # 创建任务 +GET /api/v1/asl/fulltext-screening/tasks/:taskId/progress # 获取进度 +GET /api/v1/asl/fulltext-screening/tasks/:taskId/results # 获取结果 +PUT /api/v1/asl/fulltext-screening/results/:resultId/decision # 更新决策 +GET /api/v1/asl/fulltext-screening/tasks/:taskId/export # 导出Excel ``` -**测试报告**: `backend/ASL-API-测试报告.md` (7/10接口,100%通过) +**测试报告**: +- 标题摘要初筛: `backend/ASL-API-测试报告.md` (10/10接口,100%通过) +- 全文复筛: `backend/src/modules/asl/fulltext-screening/__tests__/` (31个测试用例) ### API文档 diff --git a/docs/03-业务模块/ASL-AI智能文献/00-模块当前状态与开发指南.md b/docs/03-业务模块/ASL-AI智能文献/00-模块当前状态与开发指南.md index 6380beeb..491ba27d 100644 --- a/docs/03-业务模块/ASL-AI智能文献/00-模块当前状态与开发指南.md +++ b/docs/03-业务模块/ASL-AI智能文献/00-模块当前状态与开发指南.md @@ -1,9 +1,9 @@ # AI智能文献模块 - 当前状态与开发指南 -> **文档版本:** v1.2 +> **文档版本:** v1.3 > **创建日期:** 2025-11-21 > **维护者:** AI智能文献开发团队 -> **最后更新:** 2025-11-23 +> **最后更新:** 2025-11-23 (Day 5完成后) > **文档目的:** 反映模块真实状态,帮助新开发人员快速上手 --- @@ -26,12 +26,12 @@ AI智能文献模块是一个基于大语言模型(LLM)的文献筛选系统,用于帮助研究人员根据PICOS标准自动筛选文献。 ### 当前状态 -- **开发阶段**:🚧 标题摘要初筛MVP已完成,全文复筛开发中 +- **开发阶段**:🚧 标题摘要初筛MVP已完成,全文复筛后端已完成,待前端开发 - **已完成功能**: - - ✅ 标题摘要初筛(Title & Abstract Screening) - - ✅ 全文复筛核心LLM服务(Day 2-3,后端) + - ✅ 标题摘要初筛(Title & Abstract Screening)- 完整流程 + - ✅ 全文复筛后端(Day 2-5)- LLM服务 + API + Excel导出 - **开发中功能**: - - 🚧 全文复筛批处理与前端UI(Day 4-6) + - 🚧 全文复筛前端UI(Day 6-8,预计2.5天) - **模型支持**:DeepSeek-V3 + Qwen-Max 双模型筛选 - **部署状态**:✅ 本地开发环境运行正常 @@ -48,7 +48,7 @@ AI智能文献模块是一个基于大语言模型(LLM)的文献筛选系统 - 初筛结果页面(混合方案) - Excel批量导出(云原生) -**全文复筛(开发中)**: +**全文复筛(后端已完成,待前端开发)**: - ✅ 2025-11-22:**Day 2-3完成(LLM服务与验证系统)** - 提示词工程体系(System/User Prompt + JSON Schema) - PromptBuilder服务(动态Prompt组装) @@ -64,10 +64,25 @@ AI智能文献模块是一个基于大语言模型(LLM)的文献筛选系统 - 创建 fulltext_screening_results 表 - 手动SQL迁移脚本(安全执行,不影响其他模块) - 数据库迁移状态文档(详细记录Schema隔离情况) -- 🚧 2025-11-23:**Day 4下午进行中(批处理服务)** - - AsyncTaskService(异步任务管理) - - FulltextScreeningService(批量处理逻辑) - - API控制器(RESTful接口) +- ✅ 2025-11-23:**Day 4下午完成(批处理服务)** + - FulltextScreeningService(批量处理逻辑,716行) + - 异步任务管理(后台处理LLM调用) + - 并发控制(p-queue) + - 进度跟踪和错误处理 +- ✅ 2025-11-23:**Day 5完成(后端API开发)** + - FulltextScreeningController(5个核心API,652行) + - ExcelExporter服务(4-Sheet报告生成,352行) + - Zod参数验证 + - 路由注册(/api/v1/asl/fulltext-screening) + - 31个REST Client测试用例 + - API文档更新到v3.0 + - PDF提取fallback机制 +- 🚧 2025-11-24:**Day 6-8待开发(前端UI)** + - 4个核心页面(设置、进度、工作台、结果) + - PDF上传和预览功能 + - 双模型判断对比UI + - 实时进度监控(轮询机制) + - 详细前端开发计划已制定 --- @@ -179,14 +194,26 @@ backend/src/modules/asl/ │ └── index.ts │ └── fulltext-screening/ # ✅ 全文复筛模块(NEW) - └── prompts/ # 提示词体系 - ├── system_prompt.md # System Prompt(6601字符) - ├── user_prompt_template.md # User Prompt模板(199行) - ├── json_schema.json # JSON Schema(12字段约束) - └── cochrane_standards/ # Cochrane标准(MVP暂不加载) - ├── 随机化方法.md - ├── 盲法.md - └── 结果完整性.md + ├── controllers/ + │ └── FulltextScreeningController.ts # 5个核心API(652行) + ├── services/ + │ ├── FulltextScreeningService.ts # 批处理服务(716行) + │ └── ExcelExporter.ts # Excel导出服务(352行) + ├── routes/ + │ └── fulltext-screening.ts # 路由注册(73行) + ├── prompts/ # 提示词体系 + │ ├── system_prompt.md # System Prompt(6601字符) + │ ├── user_prompt_template.md # User Prompt模板(199行) + │ ├── json_schema.json # JSON Schema(12字段约束) + │ └── cochrane_standards/ # Cochrane标准(MVP暂不加载) + │ ├── 随机化方法.md + │ ├── 盲法.md + │ └── 结果完整性.md + └── __tests__/ # 测试文件 + ├── fulltext-screening-api.http # REST Client测试(31个用例) + ├── api-integration-test.ts # 自动化集成测试 + ├── e2e-real-test.ts # 端到端测试(真实PDF) + └── e2e-real-test-v2.ts # 端到端测试(简化版) backend/prisma/ └── schema.prisma # 数据库Schema定义 @@ -224,7 +251,7 @@ GET /projects/:projectId/literatures # 获取文献列表 DELETE /literatures/:literatureId # 删除文献 ``` -### 筛选相关 +### 筛选相关(标题摘要初筛) ```http GET /projects/:projectId/screening-task # 获取任务进度 GET /projects/:projectId/screening-results # 获取筛选结果 @@ -232,6 +259,15 @@ GET /screening-results/:resultId # 获取结果详情 POST /screening-results/:resultId/review # 提交人工复核 ``` +### 全文复筛(NEW - Day 5) +```http +POST /fulltext-screening/tasks # 创建全文复筛任务 +GET /fulltext-screening/tasks/:taskId/progress # 获取任务进度 +GET /fulltext-screening/tasks/:taskId/results # 获取任务结果 +PUT /fulltext-screening/results/:resultId/decision # 更新人工决策 +GET /fulltext-screening/tasks/:taskId/export # 导出Excel报告 +``` + ### 关键参数说明 #### 创建项目