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
This commit is contained in:
@@ -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文档
|
||||
|
||||
|
||||
@@ -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报告
|
||||
```
|
||||
|
||||
### 关键参数说明
|
||||
|
||||
#### 创建项目
|
||||
|
||||
Reference in New Issue
Block a user