docs: complete documentation system (250+ files)

- System architecture and design documentation
- Business module docs (ASL/AIA/PKB/RVW/DC/SSA/ST)
- ASL module complete design (quality assurance, tech selection)
- Platform layer and common capabilities docs
- Development standards and API specifications
- Deployment and operations guides
- Project management and milestone tracking
- Architecture implementation reports
- Documentation templates and guides
This commit is contained in:
2025-11-16 15:43:55 +08:00
parent 0fe6821a89
commit e52020409c
173 changed files with 46227 additions and 11964 deletions

View File

@@ -0,0 +1,321 @@
# [AI对接] ASL快速上下文
> **阅读时间:** 3-5分钟 | **Token消耗** ~2000 tokens
> **层级:** L2 | **前置阅读:** 00-系统总体设计/[AI对接] 快速上下文.md
---
## 📋 模块定位
**AI智能文献筛选系统**,帮助研究者快速筛选和分析大量文献,提高系统评价效率。
**商业价值:** ⭐⭐⭐⭐⭐ 可独立售卖
**开发状态:** ⏳ 即将开发Week 2-4
**依赖能力:** LLM网关P0、文档处理引擎、RAG引擎
---
## 🎯 核心功能6个模块
1.**标题摘要初筛** - 双模型AI判断 → Week 2-3重点
2.**全文复筛** - PDF全文分析 → Week 3-4重点
3. ⏳ 全文解析与数据提取
4. ⏳ 数据分析与报告生成
5. ⏳ 系统评价与Meta分析
6. ⏳ 文献管理
**本次开发重点:** 标题摘要初筛 + 全文复筛
---
## 🏗️ 技术架构一览
### 前端React
```
src/pages/Literature/
├── ProjectManagement/ # 文献项目管理
├── TitleScreening/ # 标题摘要初筛 ⭐
├── FullTextScreening/ # 全文复筛 ⭐
├── DataExtraction/ # 数据提取
└── Management/ # 文献管理
```
### 后端Node.js
```
backend/src/modules/asl/
├── controllers/
│ ├── projectController.ts # 项目管理
│ ├── screeningController.ts # 筛选控制 ⭐
│ └── extractionController.ts # 数据提取
├── services/
│ ├── screeningService.ts # 筛选业务逻辑 ⭐
│ └── extractionService.ts
└── routes/
└── literatureRoutes.ts
```
### 数据库asl_schema
```sql
CREATE SCHEMA asl_schema;
- literature_projects #
- literature_items # CSV导入
- pico_configs # PICO(S)
- screening_results # INCLUDE/EXCLUDE/UNCERTAIN
- screening_history #
- extraction_tasks #
- extraction_results #
```
---
## 💡 核心业务流程
### 标题摘要初筛流程 ⭐
```
1. 用户上传CSV文件包含标题、摘要、作者等
2. 配置PICO(S)纳入/排除标准
- P: Population研究对象
- I: Intervention干预措施
- C: Comparison对照
- O: Outcome结局指标
- S: Study Design研究类型
3. AI双模型判断DeepSeek + Qwen3
- 每篇文献独立判断
- 两个模型投票
- 固定3并发处理
4. 返回结果INCLUDE / EXCLUDE / UNCERTAIN
- INCLUDE: 两个模型都认为应纳入
- EXCLUDE: 两个模型都认为应排除
- UNCERTAIN: 两个模型意见不一致,需人工复核
5. 导出Excel双Sheet设计
- Sheet1: 通过的文献INCLUDE
- Sheet2: 未通过的文献EXCLUDE + UNCERTAIN
```
### AI判断逻辑关键
```typescript
// 双模型投票机制
if (deepseekResult === "INCLUDE" && qwen3Result === "INCLUDE") {
finalResult = "INCLUDE";
} else if (deepseekResult === "EXCLUDE" && qwen3Result === "EXCLUDE") {
finalResult = "EXCLUDE";
} else {
// 意见不一致
finalResult = "UNCERTAIN"; // 标记为需要人工复核
}
```
---
## 📚 已有设计文档
### PRD文档完整
- `00-项目概述/AI智能文献PRD1-产品概览.md`
- `00-项目概述/AI智能文献PRD2-初筛与复筛.md`
- `00-项目概述/AI智能文献PRD3-提取与分析模块.md`
**内容:** 完整的功能需求、用户故事、验收标准
### 技术设计(完整!)
- `01-设计文档/02-数据库设计.md` - 完整表结构
- `01-设计文档/03-API设计.md` - 所有API端点
- `01-设计文档/04-前端组件设计.md` - 组件树
- `01-设计文档/05-AI模型集成设计.md` - 双模型投票逻辑
### UI原型完整
- `01-设计文档/07-UI设计/标题摘要初筛原型.html`
- `01-设计文档/07-UI设计/全文复筛原型.html`
---
## 🔗 依赖的通用能力
### 1. LLM网关❌ 待实现P0⭐ **必须先实现**
**为什么ASL需要LLM网关**
- 标题摘要初筛需要调用2个LLM模型
- 全文复筛需要调用1个LLM模型
- 需要成本控制和配额管理
**接口需求:**
```typescript
// ASL模块需要的接口
interface LLMGateway {
// 单次调用(非流式)
chat(params: {
userId: string;
modelType: 'deepseek-v3' | 'qwen3';
messages: Message[];
}): Promise<{
content: string;
tokenUsage: number;
}>;
// 检查配额
checkQuota(userId: string): Promise<boolean>;
}
```
**实施建议:** Week 2 Day 1-3 同步开发LLM网关
---
### 2. 文档处理引擎(✅ 已实现)
**ASL使用场景**
- 全文复筛PDF全文提取
**已有接口:**
```typescript
// extraction_service已提供
POST /api/extract/pdf
```
---
### 3. RAG引擎✅ 已实现,可选)
**ASL使用场景可选**
- 文献内容检索
- 文献相似度分析
---
## 📋 API端点清单
### 项目管理
```
POST /api/v1/literature/projects # 创建文献项目
GET /api/v1/literature/projects # 获取项目列表
GET /api/v1/literature/projects/:id # 获取项目详情
PUT /api/v1/literature/projects/:id # 更新项目
DELETE /api/v1/literature/projects/:id # 删除项目
```
### 标题摘要初筛 ⭐
```
POST /api/v1/literature/projects/:id/items/import # 导入CSV
POST /api/v1/literature/projects/:id/pico # 配置PICO
POST /api/v1/literature/projects/:id/screening/title # 执行初筛
GET /api/v1/literature/projects/:id/screening/status # 查询进度
GET /api/v1/literature/projects/:id/screening/results # 获取结果
POST /api/v1/literature/projects/:id/screening/export # 导出Excel
```
### 全文复筛
```
POST /api/v1/literature/projects/:id/screening/fulltext # 执行全文筛选
```
---
## 📅 开发计划
### Week 211月11-15日
- **Day 1-2** 项目管理基础CRUD
- **Day 3-4** 标题摘要初筛后端含LLM网关
- **Day 5** 标题摘要初筛前端
### Week 311月18-22日
- **Day 1-2** 全文复筛后端
- **Day 3-4** 全文复筛前端
- **Day 5** 测试和优化
### Week 411月25-29日
- **Day 1-2** 数据提取功能
- **Day 3-5** 整体测试和文档完善
---
## ⚠️ 关键技术难点
### 1. AI判断准确率
**解决方案:**
- 双模型投票机制
- 优化PICO提示词
- 提供人工复核入口UNCERTAIN项
### 2. 大批量处理
**解决方案:**
- 固定3并发p-queue
- 实时进度显示
- 失败重试机制
### 3. CSV解析
**解决方案:**
- 使用papaparse库
- 支持多种编码UTF-8、GBK
- 容错处理
### 4. PDF全文提取
**解决方案:**
- 调用extraction_service
- 降级策略Nougat → PyMuPDF
---
## ✅ 快速开发检查清单
**开始开发前确认:**
- [ ] LLM网关是否已实现如未实现Week 2 Day 1-3同步开发
- [ ] 数据库Schema是否已创建asl_schema
- [ ] Prisma Schema是否已更新
- [ ] API路由是否已注册
- [ ] 前端路由是否已配置?
**常见问题:**
**Q: LLM调用超时怎么办**
A: 设置timeout=60s添加重试机制最多3次
**Q: CSV解析失败怎么办**
A: 检查编码格式,提供明确的错误提示,支持重新上传
**Q: 两个模型都返回UNCERTAIN怎么办**
A: 标记为UNCERTAIN提示用户需要人工复核
**Q: PDF提取失败怎么办**
A: 降级策略Nougat → PyMuPDF → 提示用户手动处理
---
## 📖 更多详细信息
**需要完整PRD**
`00-项目概述/AI智能文献PRD1-3.md`3个文档
**需要数据库详情:**
→ AI智能文献目录下的 `02-技术设计/01-数据库设计.md`
**需要API详情**
→ AI智能文献目录下的 `02-技术设计/02-API设计规范.md`
**需要UI设计**
`01-设计文档/AI智能文献-标题摘要初筛原型.html`
`01-设计文档/AI智能文献-全文复筛.html`
---
**最后更新:** 2025-11-06
**维护人:** 技术架构师