feat(asl): Complete Deep Research V2.0 core development

Backend:
- Add SSE streaming client (unifuncsSseClient) replacing async polling
- Add paragraph-based reasoning parser with mergeConsecutiveThinking
- Add requirement expansion service (DeepSeek-V3 PICOS+MeSH)
- Add Word export service with Pandoc, inline hyperlinks, reference link expansion
- Add deep research V2 worker with 2s log flush and Chinese source prompt
- Add 5 curated data sources config (PubMed/ClinicalTrials/Cochrane/CNKI/MedJournals)
- Add 4 API endpoints (generate-requirement/tasks/task-status/export-word)
- Update Prisma schema with 6 new V2.0 fields on AslResearchTask
- Add DB migration for V2.0 fields
- Simplify ASL_DEEP_RESEARCH_EXPANSION prompt (remove strategy section)

Frontend:
- Add waterfall-flow DeepResearchPage (phase 0-4 progressive reveal)
- Add LandingView, SetupPanel, StrategyConfirm, AgentTerminal, ResultsView
- Add react-markdown + remark-gfm for report rendering
- Add custom link component showing visible URLs after references
- Add useDeepResearchTask polling hook
- Add deep research TypeScript types

Tests:
- Add E2E test, smoke test, and Chinese data source test scripts

Docs:
- Update ASL module status (v2.0 - core features complete)
- Update system status (v6.1 - ASL V2.0 milestone)
- Update Unifuncs DeepSearch API guide (v2.0 - SSE mode + Chinese source results)
- Update module auth specification (test script guidelines)
- Update V2.0 development plan

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-23 13:21:52 +08:00
parent b06daecacd
commit 8f06d4f929
39 changed files with 5605 additions and 417 deletions

View File

@@ -1,12 +1,13 @@
# AI智能文献模块 - 当前状态与开发指南
> **文档版本:** v1.6
> **文档版本:** v2.0
> **创建日期:** 2025-11-21
> **维护者:** AI智能文献开发团队
> **最后更新:** 2026-02-22 🆕 **Deep Research V2.0 开发计划确认 + Unifuncs API 网站覆盖测试完成**
> **最后更新:** 2026-02-23 🆕 **Deep Research V2.0 核心功能开发完成SSE 实时流 + 瀑布流 UI + 中文数据源 + Word 导出**
> **重大进展:**
> - 🆕 2026-02-22V2.0 开发计划确认!四步瀑布流 + 异步模式 + HITL 需求确认 + 务实结果展示
> - 🆕 2026-02-22Unifuncs API 网站覆盖测试完成18 站点实测9 个一级可用ClinicalTrials.gov 专项验证通过
> - 🆕 2026-02-23V2.0 核心功能完成SSE 流式架构 + 段落化思考日志 + 引用链接可见化
> - 🆕 2026-02-22V2.0 前后端联调完成!瀑布流 UI + Markdown 渲染 + Word 导出 + 中文数据源测试
> - 🆕 2026-02-22V2.0 开发计划确认 + Unifuncs API 网站覆盖测试完成
> - 2026-01-18智能文献检索DeepSearchMVP完成 - unifuncs API 集成
> **文档目的:** 反映模块真实状态,帮助新开发人员快速上手
@@ -30,46 +31,96 @@
AI智能文献模块是一个基于大语言模型LLM的文献筛选系统用于帮助研究人员根据PICOS标准自动筛选文献。
### 当前状态
- **开发阶段**🚧 V1.x 完成,V2.0 Deep Research 开发计划已确认,即将启动
- **开发阶段**🎉 V2.0 Deep Research 核心功能开发完成
- **已完成功能**
- ✅ 标题摘要初筛Title & Abstract Screening- 完整流程
- ✅ 全文复筛后端Day 2-5- LLM服务 + API + Excel导出
-**智能文献检索DeepSearchV1.x MVP** - unifuncs API 集成SSE 实时流式
-**智能文献检索DeepSearchV1.x MVP** - unifuncs API 集成
-**Unifuncs API 网站覆盖测试** - 18 站点实测9 个一级可用
-**Deep Research V2.0 开发计划** - 完整技术方案、API 契约、5 天分阶段计划
- **V2.0 开发中**
- 🚧 Deep Research V2.0 — 四步瀑布流Landing→配置→HITL→终端→结果
- 🚧 异步模式改造SSE → Unifuncs create_task/query_task
- 🚧 需求扩写 + HITL 确认 + Agent 终端 + 简洁结果展示 + Word 导出
- **模型支持**DeepSeek-V3需求扩写 + unifuncs s2深度搜索 + Qwen-Max筛选
-**🎉 Deep Research V2.0 核心功能** — SSE 流式架构 + 瀑布流 UI + HITL + Word 导出
- **V2.0 已完成**
- **SSE 流式架构**:从 create_task/query_task 轮询改为 OpenAI Compatible SSE 流,实时推送 AI 思考过程
- **LLM 需求扩写**DeepSeek-V3 将粗略输入扩写为结构化检索指令书PICOS + MeSH
- **HITL 策略确认**:用户可编辑、保存、确认 AI 生成的检索指令
- **瀑布流 UI**Landing → 配置 → HITL → Agent 终端 → 结果,已完成步骤折叠为摘要卡片
-**段落化思考日志**reasoning_content 按段落聚合,连续思考合并为一段(非逐行碎片)
-**Markdown 渲染**react-markdown + remark-gfm 正确渲染报告中的标题、链接、列表
-**引用链接可见化**:报告中 `[6]` 引用后显示完整 URL方便复制分享
-**Word 导出**Pandoc 微服务,文献标题内嵌超链接,引用展开为可见 URL
-**中文数据源支持**CNKI/中华医学期刊网动态 prompt 增强 + 专项测试验证
-**5 个精选数据源**PubMed默认、ClinicalTrials.gov、Cochrane Library、CNKI、中华医学期刊网
- **模型支持**DeepSeek-V3需求扩写 + unifuncs s2深度搜索SSE 流式) + Qwen-Max筛选
- **部署状态**:✅ 本地开发环境运行正常
### 🆕 Deep Research V2.02026-02-22 开发计划确认
### 🎉 Deep Research V2.02026-02-23 核心功能完成
**V2.0 核心升级**
- 四步瀑布流Landing → 配置 → HITL 策略确认 → Agent 终端 → 结果展示
- LLM 需求扩写DeepSeek-V3粗略输入 → 结构化自然语言检索指令书
- Human-in-the-Loop用户可编辑修改 AI 生成的检索需求
- **异步模式**SSE → Unifuncs create_task/query_task + pg-boss 队列(离开页面不中断)
- Agent 终端:暗色主题 + 分类结构化日志(每 3-5s 弹出一条)
- 简洁结果展示AI 综合报告Markdown+ 文献清单表格 + Word 导出
- **多站点搜索**9 个一级可用站点,用户可在前端选择数据源
**V2.0 架构与功能**
**V2.0 确认可用数据源2026-02-22 实测):**
| 层级 | 组件 | 说明 | 状态 |
|------|------|------|------|
| 前端 | 瀑布流页面 | Landing→配置→HITL→终端→结果折叠式摘要 | ✅ |
| 前端 | react-markdown | 综合报告 Markdown 正确渲染 + 引用链接可见化 | ✅ |
| 后端 | SSE 流式客户端 | OpenAI Compatible SSE实时推送 reasoning_content | ✅ |
| 后端 | 段落化解析器 | 连续思考行合并为段落,搜索/阅读/分析独立成条 | ✅ |
| 后端 | 需求扩写服务 | DeepSeek-V3 PICOS+MeSH 结构化扩写 | ✅ |
| 后端 | Word 导出 | Pandoc 微服务,内嵌超链接 + 引用展开 | ✅ |
| 后端 | pg-boss 队列 | 异步任务,离开页面不中断 | ✅ |
| 数据库 | 6 个新字段 | targetSources/confirmedRequirement/aiIntentSummary/executionLogs/synthesisReport/resultList | ✅ |
| 站点 | 站内链接数 | 说明 |
|------|-----------|------|
| PubMed | 28 | 核心数据源,效果最佳 |
| ClinicalTrials.gov | 38 | 必须英文查询max_depth≥10 |
| NCBI/PMC | 18 | 含 PMC 全文链接 |
| Google Scholar | 10 | 跨库聚合 |
| CBM/SinoMed | 9 | 中文生物医学 |
| CNKI | 7 | 中文核心期刊 |
| GeenMedical | 5 | 医学搜索引擎 |
| Cochrane Library | 4 | 系统综述金标准 |
| 维普 | 1 | 中文库 |
**V2.0 核心技术决策:**
1. **SSE 流式替代轮询**:从 create_task/query_task 轮询改为 OpenAI Compatible SSE 流。解决了"等很久才一股脑显示思考过程"的体验问题reasoning_content 实时推送、每 2 秒刷写 DB。
2. **段落化思考日志**reasoning_content 按 `\n\n` 段落拆分,同段落内连续思考行用空格合并为一条,搜索/阅读/分析动作独立。Worker 每 200+ 字符批量解析,写入前再合并连续同类条目。
3. **引用链接可见化**Web 端通过 react-markdown 自定义 `<a>` 组件在链接后追加灰色 URLWord 端通过 `expandReferenceLinks()``[[N]](url)` 展开为 `[N](url) (url)`
4. **中文数据源策略**纯中文源CNKI/中华医学期刊网)单独搜索效果好;混合中英文源时 PubMed 主导,建议分批搜索。
**开发计划**5 天分阶段交付,详见 `04-开发计划/07-Deep Research V2.0 开发计划.md`
**V2.0 选定数据源5 个精选):**
| 数据源 | 类型 | 默认选中 | 说明 |
|--------|------|----------|------|
| PubMed | 英文 | ✅ | 核心数据源,效果最佳 |
| ClinicalTrials.gov | 英文 | - | 临床试验注册库 |
| Cochrane Library | 英文 | - | 系统综述金标准 |
| 中国知网 CNKI | 中文 | - | 中文核心期刊 |
| 中华医学期刊网 | 中文 | - | 中华医学会官方期刊 |
**V2.0 API 端点:**
```http
POST /api/v1/asl/deep-research/generate-requirement # LLM
POST /api/v1/asl/deep-research/tasks # pg-boss
GET /api/v1/asl/deep-research/tasks/:taskId # ++
GET /api/v1/asl/deep-research/tasks/:taskId/export-word # Word
```
**V2.0 关键文件:**
```
backend/src/modules/asl/
├── services/unifuncsSseClient.ts # SSE 流式客户端AsyncGenerator
├── services/requirementExpansionService.ts # LLM 需求扩写
├── services/wordExportService.ts # Word 导出Pandoc + 引用展开)
├── workers/deepResearchV2Worker.ts # SSE Worker段落解析 + 2s 刷写)
├── utils/reasoningParser.ts # 段落化解析器 + mergeConsecutiveThinking
├── utils/resultParser.ts # content 解析(报告 + JSON 文献列表)
├── controllers/deepResearchController.ts # 4 个 API 端点
├── config/dataSources.ts # 5 个精选数据源配置
└── __tests__/
├── deep-research-v2-e2e.ts # 端到端测试
├── deep-research-v2-smoke.ts # 冒烟测试
└── deep-research-chinese-sources.ts # 中文数据源专项测试
frontend-v2/src/modules/asl/
├── pages/DeepResearchPage.tsx # 瀑布流主页面phase 0-4
├── components/deep-research/
│ ├── LandingView.tsx # 搜索入口
│ ├── SetupPanel.tsx # 数据源+过滤器配置(可折叠)
│ ├── StrategyConfirm.tsx # HITL 策略确认(可折叠)
│ ├── AgentTerminal.tsx # 暗色终端日志展示
│ └── ResultsView.tsx # Markdown 报告 + 文献表格 + Word 导出
├── hooks/useDeepResearchTask.ts # React Query 轮询 Hook
├── types/deepResearch.ts # TypeScript 类型
└── api/index.ts # 4 个 V2.0 API 函数
```
**开发计划**:详见 `04-开发计划/07-Deep Research V2.0 开发计划.md`
**通用能力指南**`docs/02-通用能力层/04-DeepResearch引擎/01-Unifuncs DeepSearch API 使用指南.md`
@@ -1319,28 +1370,28 @@ Drawer打开: <50ms
## 🎯 下一步开发计划
### 当前Sprint全文复筛MVP
1. 🚧 **全文复筛 Day 4**:批处理任务服务(进行中
2.**全文复筛 Day 5**前端UI开发待开始
3.**全文复筛 Day 6**API集成与联调待开始
### 当前Deep Research V2.0 优化
1. **端到端回归测试**:完整流程测试(创建→扩写→确认→执行→结果→导出
2.**用户体验打磨**:加载动画、错误提示、边界情况处理
3.**中文检索优化**:中英文混合检索策略调优(建议分批搜索
4.**导出格式完善**Word 模板美化、更多导出格式
### 短期优化(标题摘要初筛)
1. ⏳ Prompt优化提升准确率到85%+
2.添加任务暂停/取消功能
3.实现并发处理3-5个并发
4.添加估计剩余时间显示
### 短期优化
1. ⏳ Prompt 优化(需求扩写质量提升)
2.搜索历史管理(历史任务列表、重新搜索)
3.全文复筛前端 UI 开发
4.标题摘要初筛 Prompt 优化(准确率 60% → 85%+
### 中期Month 2
1. 🚧 全文复筛功能(开发中)
2.全文数据提取功能
3. ⏳ 用户自定义边界情况
4.WebSocket实时推送
1. 全文复筛功能完善
2.证据图谱可视化
3. ⏳ 用户自定义数据源
4.生产环境部署
### 长期Month 3+
1. ⏳ 多用户支持(真实认证)
2.消息队列Bull/RabbitMQ
3.分布式处理
4. ⏳ 成本控制和监控
1. ⏳ 多语言检索策略自动优化
2.批量文献检索
3.成本控制和监控
---
@@ -1350,15 +1401,14 @@ Drawer打开: <50ms
---
**最后更新**2025-11-22全文复筛 Day 2-3完成)
**最后更新**2026-02-23Deep Research V2.0 核心功能完成)
**文档状态**:✅ 反映真实状态
**下次更新时机**全文复筛MVP完成 或 标题摘要Prompt优化完成
**下次更新时机**V2.0 端到端回归测试完成 或 全文复筛前端开发启动
**本次更新内容**v1.1
- ✅ 更新当前状态(新增全文复筛开发进度
-更新关键里程碑Day 2-3完成
- ✅ 新增后端代码结构common层 + fulltext-screening层
-新增开发记录链接Day 2-3工作总结
- ✅ 更新下一步开发计划当前Sprint
**本次更新内容**v2.0
- ✅ 更新当前状态V2.0 核心功能开发完成SSE 流式 + 瀑布流 UI + Word 导出
-新增 V2.0 完整架构表、技术决策、API 端点、关键文件列表
- ✅ 新增 5 个精选数据源配置(替代 9 站全量展示
-更新下一步开发计划V2.0 优化 + 短期/中期/长期