chore: add remaining test docs, scripts and temp files

- Add Git commit preparation checklist
- Add Phase testing guides and issue tracking
- Add utility scripts (env setup, test data initialization)
- Add temp migration SQL files (for reference)
- Update startup scripts and README
- Remove obsolete scripts
This commit is contained in:
2025-11-16 15:44:55 +08:00
parent 1992232fda
commit 855d142fec
32 changed files with 9125 additions and 113 deletions

314
Phase3-快速参考.md Normal file
View File

@@ -0,0 +1,314 @@
# Phase 3 批处理模式 - 快速参考
**完成时间**2025-10-12
**开发用时**6小时开发+ 2小时测试修复
**状态**:✅ 全部完成,测试通过
---
## 🎯 核心概念
**批处理模式 ≠ 对话**
**批处理模式 = 任务执行器 + 数据提取器**
### 与其他模式的区别
| 模式 | 交互方式 | 输出 | 适用场景 |
|------|---------|------|---------|
| 全文阅读 | 对话式 | 自然语言 | 文献综述 |
| 逐篇精读 | 对话式 | 自然语言 | 深度分析 |
| **批处理** | **任务式** | **结构化表格** | **批量提取** |
---
## ⚙️ 核心参数
| 参数 | 值 | 说明 |
|------|-----|------|
| 文献数量 | **3-50篇** | 最少3篇最多50篇 |
| 并发数 | **固定3** | 避免API限流 |
| 预设模板 | **1个** | 临床研究信息提取8字段 |
| 自定义模板 | **支持** | 文本块显示3列 |
| 失败重试 | **支持** | 单独重试失败项 |
| 导出格式 | **Excel** | 双Sheet设计 |
---
## 📋 预设模板:临床研究信息提取
### 8个提取字段
1. **研究目的** - 研究问题或假设
2. **研究设计** - RCT、队列研究等
3. **研究对象** - 纳入/排除标准
4. **样本量** - text类型保留原文如"干预组156人对照组152人"
5. **干预组** - 实验组干预措施
6. **对照组** - 对照组情况
7. **结果及数据** - 主要结局指标数据
8. **牛津评级** - 证据等级1a/1b/2a/2b/3a/3b/4/5
### 牛津评级标准
- **1a**:系统评价/Meta分析
- **1b**单个RCT
- **2a**:设计良好的对照研究(无随机化)
- **2b**:准实验研究(队列、病例对照)
- **3a**:描述性研究(横断面、病例系列)
- **3b**:个案报告
- **4**:专家意见
- **5**:基础研究(动物、体外)
---
## 🗂️ 文件结构
### 后端文件6个新建
```
backend/src/
├── templates/
│ └── clinicalResearch.ts # 预设模板配置
├── utils/
│ └── jsonParser.ts # JSON解析工具
├── services/
│ └── batchService.ts # 批处理核心逻辑
├── controllers/
│ └── batchController.ts # API控制器
└── routes/
└── batchRoutes.ts # 路由定义
```
### 前端文件13个新建
```
frontend/src/
├── api/
│ └── batchApi.ts # API封装
├── hooks/
│ └── useBatchTask.ts # 状态管理
└── components/chat/
├── TaskDefinition.tsx/.css # 任务定义
├── DocumentSelection.tsx/.css # 文献选择
├── BatchProgress.tsx/.css # 执行进度
├── PresetTable.tsx # 预设表格8列
├── CustomTable.tsx # 自定义表格3列
├── BatchResults.tsx/.css # 结果展示
└── BatchMode.tsx/.css # 批处理主组件
```
---
## 🔌 API端点
### 后端API
```
GET /api/v1/batch/templates # 获取模板列表
POST /api/v1/batch/execute # 执行批处理
GET /api/v1/batch/tasks/:taskId # 获取任务状态
GET /api/v1/batch/tasks/:taskId/results # 获取任务结果
POST /api/v1/batch/tasks/:taskId/retry-failed # 重试失败项
```
**测试状态**:✅ 模板API已验证通过
---
## 🎨 UI设计
### 三栏布局
```
┌────────┬───────────────┬───────────────┐
│ 模式 │ 任务定义 │ 进度/结果 │
│ 选择 │ + │ │
│ (120px)│ 文献选择 │ │
│ │ + │ │
│ ○ 全文│ 开始按钮 │ │
│ ○ 精读│ │ │
│ ● 批处理│ │ │
└────────┴───────────────┴───────────────┘
```
### 步骤流程
```
Step 1: 定义任务
Step 2: 选择文献3-50篇
Step 3: 开始批处理
Step 4: 查看结果导出Excel
```
---
## 📊 结果展示
### 预设模板8列表格
```
┌──┬────────┬──────┬──────┬──────┬────┬────┬────┬──────┬────┐
│#│文献名称 │研究 │研究 │研究 │样本│干预│对照│结果 │牛津│
│ │ │目的 │设计 │对象 │量 │组 │组 │数据 │评级│
└──┴────────┴──────┴──────┴──────┴────┴────┴────┴──────┴────┘
```
### 自定义模板3列表格
```
┌──┬──────────┬──────────────────────┐
│#│文献名称 │提取结果(文本块) │
└──┴──────────┴──────────────────────┘
```
---
## 📥 Excel导出
### 文件结构
**Sheet 1: 提取结果**
- 预设模板8列数据
- 自定义模板3列数据
**Sheet 2: 任务信息**
- 任务名称、模板类型
- 执行时间、完成时间
- 文献统计(总数、成功、失败)
- 总用时
**文件名格式**
- 预设:`批处理结果_临床研究信息提取_2025-10-13.xlsx`
- 自定义:`批处理结果_自定义任务_2025-10-13.xlsx`
---
## ⚡ 性能指标
| 指标 | 预期值 |
|------|--------|
| 单文档处理 | 15-25秒 |
| 10篇总时长 | 5-8分钟 |
| 50篇总时长 | 25-40分钟 |
| JSON解析成功率 | >90% |
**效率提升**
- 手动10篇 × 10分钟 = 100分钟
- 批处理10篇 × 20秒 = ~7分钟
- **提升约14倍** 🚀
---
## ✅ 已完成的收尾工作
### 测试与修复(已完成)
1.**类型定义** - 已更新
2.**依赖安装** - xlsx已安装
3.**Frontend启动** - 正常运行
4.**端到端测试** - 全流程测试通过
5.**问题修复** - 5个问题已全部修复
### 修复的问题
1. ✅ API导入路径错误
2. ✅ 数据库用户数据缺失
3. ✅ 批处理页面空白问题
4. ✅ 结果页面布局问题(改为垂直布局)
5. ✅ 表格显示优化(列宽、换行、滚动条)
**详细修复记录**:见 `docs/05-每日进度/Phase3-最终测试-修复总结.md`
---
## ✅ 验收清单(已完成)
### 功能测试
- [x] 进入批处理模式(界面正常显示)✅
- [x] 模板选择(预设/自定义切换)✅
- [x] 文献选择3-50篇限制生效
- [x] 执行任务(进度显示正常)✅
- [x] 查看结果(表格显示正确)✅
- [x] 导出Excel文件格式正确
- [x] 重试失败项(如有失败)✅
### 边界测试
- [x] 选择<3篇文献应提示错误
- [x] 选择>50篇文献应提示错误
- [x] 自定义模板空提示词(应提示错误)✅
- [x] JSON解析失败应标记失败不影响其他
### UI优化测试
- [x] 垂直布局显示正常 ✅
- [x] 表格列宽合理 ✅
- [x] 单元格内容换行显示 ✅
- [x] 横向滚动条可用 ✅
- [x] 牛津评级列固定右侧 ✅
---
## 📚 相关文档
### 设计文档
- `docs/05-每日进度/Phase3-批处理模式-完整设计.md` (设计方案)
### 完成报告
- `docs/05-每日进度/Phase3-完成总结.md` (完成总结)
- `Phase3-Day1-后端完成总结.md` (后端详情)
### 开发计划
- `docs/04-开发计划/开发里程碑.md` (整体进度)
### 测试工具
- `backend/test-batch-api.js` (API测试脚本)
---
## 💡 使用提示
### 最佳实践
**文献数量**
- 首次测试5-10篇
- 常规使用10-20篇
- 大规模30-50篇
**模板选择**
- 标准临床研究 → 使用预设模板
- 特殊需求 → 使用自定义模板
**性能优化**
- 避免超大文献(>200K tokens
- 分批处理如需处理100+篇)
- 优先使用DeepSeek-V3快且便宜
---
## 🎉 总结
**Phase 3 批处理模式:**
- ✅ 任务式交互(非对话)
- ✅ 双模板系统预设8字段 + 自定义文本)
- ✅ 固定3并发稳定可靠
- ✅ 完整的Excel导出
- ✅ 友好的UI体验
- ✅ ~4,000行代码6小时完成
**核心价值**
- 批量信息提取
- 结构化数据输出
- 效率提升14倍
- 可追溯、可归档
**已完成**:开发 + 测试 + 修复 + 优化 ✅
---
**快速参考版本**2.0
**最后更新**2025-10-12
**状态**:✅ 全部完成,已通过最终测试