P1 Architecture: Lightweight ReAct (Function Calling loop, max 3 rounds) Core changes: - Add ToolDefinition/ToolCall types to LLM adapters (DeepSeek + CloseAI + Claude) - Replace 6 old tools with 4 semantic tools: read_report, look_up_data, check_quality, search_knowledge - Create ChatOrchestrator (~160 lines) replacing ChatService (1,442 lines) - Wire WechatCallbackController to ChatOrchestrator, deprecate ChatService - Fix nullable content (string | null) across 12+ LLM consumer files E2E test results: 8/8 scenarios passed (100%) - QC report query, critical issues, patient data, trend, on-demand QC - Knowledge base search, project overview, data modification refusal Net code reduction: ~1,100 lines Tested: E2E P1 chat test 8/8 passed with DeepSeek API Made-with: Cursor
1779 lines
82 KiB
Markdown
1779 lines
82 KiB
Markdown
# AIclinicalresearch 系统当前状态与开发指南
|
||
|
||
> **文档版本:** v6.2
|
||
> **创建日期:** 2025-11-28
|
||
> **维护者:** 开发团队
|
||
> **最后更新:** 2026-02-26
|
||
> **🎉 重大里程碑:**
|
||
> - **🆕 2026-02-26:CRA Agent V3.0 P0+P1 全部完成!** 自驱动质控流水线 + ChatOrchestrator + LLM Function Calling + E2E 54/54 通过
|
||
> - **🆕 2026-02-24:ASL 工具 3 V2.0 架构升级至散装派发 + Aggregator!** 9 条研发红线 + 散装派发与轮询收口任务模式指南 v1.1 沉淀
|
||
> - **2026-02-23:ASL 工具 3 V2.0 开发计划完成!** HITL + 动态模板 + M1/M2/M3 三阶段 22 天
|
||
> - **🆕 2026-02-23:ASL Deep Research V2.0 核心功能完成!** SSE 实时流 + 段落化思考 + 瀑布流 UI + Markdown 渲染 + 引用链接可见 + Word 导出 + 中文数据源
|
||
> - **🆕 2026-02-22:SSA Phase I-IV 开发完成!** Session 黑板 + 对话层 LLM + 方法咨询 + 对话驱动分析,E2E 107/107 通过
|
||
> - **2026-02-21:SSA QPER 智能化主线闭环完成!** Q→P→E→R 四层架构全部开发完成,端到端 40/40 测试通过
|
||
> - **2026-02-20:SSA Phase 2A 前端集成完成!** 多步骤工作流端到端 + V11 UI联调 + Block-based 架构共识
|
||
> - **2026-02-19:SSA T 检验端到端测试通过!** 完整流程验证 + 9 个 Bug 修复 + Phase 1 核心完成 85%
|
||
> - **2026-02-19:SSA Week 1 开发完成!** R Docker 镜像构建成功 + 后端/前端骨架 + 规范对齐
|
||
> - **2026-02-18:SSA MVP 开发计划 v1.5 完成!** Brain-Hand架构 + 统计护栏 + HITL + 专家配置体系
|
||
> - **2026-02-18:RVW V2.0 Week 3 完成!** 统计验证扩展 + 负号归一化 + 文件格式提示 + 用户体验优化
|
||
> - **2026-02-18:RVW V2.0 Skills 架构完成!** Skills 核心框架 + 3个 Skill 实现 + ReviewWorker 改造
|
||
> - **2026-02-17:RVW V2.0 "数据侦探" Day 6 完成!** L2统计验证器 + L2.5一致性取证(SE三角验证、SD>Mean)
|
||
> - **2026-02-08:IIT 事件级质控 V3.1 开发完成!** record+event 独立质控 + 规则动态过滤 + 报告去重 + AI对话增强
|
||
> - **2026-02-08:IIT 质控驾驶舱 UI 完成!** XML 临床切片格式 + 质控驾驶舱 + 热力图 + 详情抽屉
|
||
> - **2026-02-07:IIT 实时质控系统开发完成!** pg-boss 防抖 + 质控日志 + 录入汇总 + 管理端批量操作
|
||
> - **2026-02-05:IIT Manager Agent V2.9.1 架构设计完成!** 双脑架构 + 三层记忆 + 主动性增强 + 隐私合规
|
||
> - **2026-02-02:REDCap 生产环境部署完成!** ECS + RDS + HTTPS + 域名全部配置完成
|
||
> - **2026-01-28:Prompt 知识库集成完成!** Prompt 可动态引用系统知识库内容
|
||
> - **2026-01-27:系统知识库管理功能完成!** 运营管理端新增知识库管理+文档上传下载
|
||
> - **2026-01-25:Protocol Agent MVP完整交付!** 一键生成研究方案+Word导出
|
||
> - **2026-01-24:Protocol Agent 框架完成!** 可复用Agent框架+5阶段对话流程
|
||
> - **2026-01-22:OSS 存储集成完成!** 阿里云 OSS 正式接入平台基础层
|
||
>
|
||
> **🆕 最新进展(ASL 工具 3 架构升级 + V2.0 核心完成 2026-02-24):**
|
||
> - 📋 **🆕 ASL 工具 3 V2.0 架构升级至散装派发 + Aggregator** — 废弃 Fan-out,采用散装模式(v2.0 定稿,9 条研发红线,M1/M2/M3 三阶段 22 天)
|
||
> - 📋 **🆕 散装派发与轮询收口任务模式指南 v1.1** — Postgres-Only 合规的 Level 2 批量任务处理模式(API 散装 → N Worker → Aggregator 收口)
|
||
> - 📋 **分布式 Fan-out 任务模式开发指南** — Level 3 参考(8 模式 + 18 反模式,已不用于 ASL 工具 3)
|
||
> - ✅ **🎉 ASL Deep Research V2.0 核心功能完成** — SSE 流式架构 + 瀑布流 UI + HITL + 5 精选数据源 + Word 导出
|
||
> - ✅ **SSE 流式替代轮询** — 实时推送 AI 思考过程(reasoning_content),段落化日志聚合
|
||
> - ✅ **Markdown 渲染 + 引用链接可见化** — react-markdown 正确渲染报告,`[6]` 后显示完整 URL
|
||
> - ✅ **中文数据源专项测试** — CNKI/中华医学期刊网 domain_scope 有效,混合源建议分批搜索
|
||
> - ✅ **DeepSearch 通用能力指南 v2.0** — `docs/02-通用能力层/04-DeepResearch引擎/`
|
||
> - ✅ **🎉 SSA Phase I-IV 全部开发完成** — Session 黑板 + 意图路由器 + 对话层 LLM + 方法咨询 + AskUser 标准化 + 对话驱动分析 + QPER 集成
|
||
> - ✅ **SSA E2E 测试全部通过** — Phase I 31/31 + Phase II 38/38 + Phase III 13/13 + Phase IV 25/25 = 共 107 项
|
||
>
|
||
> **部署状态:** ✅ 生产环境运行中 | 公网地址:http://8.140.53.236/
|
||
> **REDCap 状态:** ✅ 生产环境运行中 | 地址:https://redcap.xunzhengyixue.com/
|
||
> **文档目的:** 快速了解系统当前状态,为新AI助手提供上下文
|
||
|
||
---
|
||
|
||
## 📋 快速导航
|
||
|
||
**🎯 如果您是新的AI助手**,请优先阅读:
|
||
1. **本文档**(5分钟) - 了解系统当前状态
|
||
2. [前后端模块化架构设计-V2.md](./前后端模块化架构设计-V2.md)(15分钟) - 了解技术架构
|
||
3. [[AI对接] 快速上下文.md](./%5BAI对接%5D%20快速上下文.md)(10分钟) - 快速上手指南
|
||
|
||
---
|
||
|
||
## 🎯 项目概述
|
||
|
||
### 项目名称
|
||
**壹证循科技 - AI临床研究平台**
|
||
|
||
### 核心定位
|
||
一个覆盖临床科研全生命周期、AI驱动的一站式智能科研平台
|
||
|
||
### 目标用户
|
||
- **主要用户**:临床医生、研究人员(三甲医院)
|
||
- **次要用户**:医院科研管理科室、信息中心
|
||
- **商业模式**:云端SaaS + 私有化部署 + 单机版
|
||
|
||
---
|
||
|
||
## 📊 业务模块概览(8大核心功能)
|
||
|
||
| 模块代号 | 模块名称 | 核心功能 | 商业价值 | 当前状态 | 优先级 |
|
||
|---------|---------|---------|---------|---------|--------|
|
||
| **AIA** | AI智能问答 | 12个智能体 + Protocol Agent(全流程方案) | ⭐⭐⭐⭐⭐ | 🎉 **V3.1 MVP完整交付(90%)** - 一键生成+Word导出 | **P0** |
|
||
| **PKB** | 个人知识库 | RAG问答、私人文献库 | ⭐⭐⭐ | 🎉 **Dify已替换!自研RAG上线(95%)** | P1 |
|
||
| **ASL** | AI智能文献 | 文献筛选、Deep Research、全文智能提取 | ⭐⭐⭐⭐⭐ | 🎉 **V2.0 核心完成(80%)+ 🆕工具3计划v2.0就绪** - SSE流式+瀑布流UI+HITL+Word导出+散装派发+Aggregator+动态模板 | **P0** |
|
||
| **DC** | 数据清洗整理 | ETL + 医学NER(百万行级数据) | ⭐⭐⭐⭐⭐ | ✅ **Tool B完成 + Tool C 99%(异步架构+性能优化-99%+多指标转换+7大功能)** | **P0** |
|
||
| **IIT** | IIT Manager Agent | CRA Agent - LLM Tool Use + 自驱动质控 + 统一驾驶舱 | ⭐⭐⭐⭐⭐ | 🎉 **V3.0 P0+P1完成!** ChatOrchestrator + 4工具 + E2E 54/54 | **P1-2** |
|
||
| **SSA** | 智能统计分析 | **QPER架构** + 四层七工具 + 对话层LLM + 意图路由器 | ⭐⭐⭐⭐⭐ | 🎉 **Phase I-IV 开发完成** — QPER闭环 + Session黑板 + 意图路由 + 对话LLM + 方法咨询 + 对话驱动分析,E2E 107/107 | **P1** |
|
||
| **ST** | 统计分析工具 | 100+轻量化统计工具 | ⭐⭐⭐⭐ | 📋 规划中 | P2 |
|
||
| **RVW** | 稿件审查系统 | 方法学评估 + 🆕数据侦探(L1/L2/L2.5验证)+ Skills架构 + Word导出 | ⭐⭐⭐⭐ | 🚀 **V2.0 Week3完成(85%)** - 统计验证扩展+负号归一化+文件格式提示+用户体验优化 | P1 |
|
||
| **ADMIN** | 运营管理端 | Prompt管理、租户管理、用户管理、运营监控、系统知识库 | ⭐⭐⭐⭐⭐ | 🎉 **Phase 4.6完成(88%)** - Prompt知识库集成+动态注入 | **P0** |
|
||
|
||
---
|
||
|
||
## 🏗️ 技术架构(三层设计)
|
||
|
||
### 架构总览
|
||
```
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 业务模块层 (Product Layer) │
|
||
│ AIA | PKB | ASL | DC | IIT | SSA | ST | RVW │
|
||
│ ✅ ✅ 🚧 🚧 🚀 📋 📋 📋 │
|
||
└─────────────────────────────────────────────────────────┘
|
||
↓ 依赖
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 通用能力层 (Capability Layer) │
|
||
│ 后端:LLM网关 | 流式响应服务🆕 | 文档处理 | 🆕RAG引擎 | Prompt管理│
|
||
│ ✅ ✅ OpenAI Compatible ✅ 🎉pgvector✅ ✅ │
|
||
│ • EmbeddingService (text-embedding-v4) │
|
||
│ • VectorSearchService (多查询+Rerank) │
|
||
│ • QueryRewriter (DeepSeek V3 查询理解) │
|
||
│ 🆕 R统计引擎:ssa-r-statistics:1.0.1 Docker ✅ │
|
||
│ • plumber API | 统计护栏 | 预签名URL | 非特权用户 │
|
||
│ 🆕 异步任务模式指南体系 ✅ │
|
||
│ • Postgres-Only 异步任务处理指南(Level 1 基础) │
|
||
│ • 散装派发+轮询收口指南 v1.1(Level 2 批量任务)🆕│
|
||
│ • 分布式 Fan-out 指南 v1.2(Level 3 高级参考) │
|
||
│ 前端:Chat组件V2(Ant Design X)🆕 ✅ │
|
||
│ AIStreamChat | ThinkingBlock | useAIStream Hook │
|
||
└─────────────────────────────────────────────────────────┘
|
||
↓ 依赖
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 平台基础层 (Platform Layer) │
|
||
│ 🏆 **Postgres-Only架构**(新) │
|
||
│ ├── 统一缓存:platform_schema.app_cache ✅ │
|
||
│ ├── 统一队列:platform_schema.job (pg-boss) ✅ │
|
||
│ ├── 任务管理:job.data 统一存储 ✅ │
|
||
│ └── 断点续传:CheckpointService 通用化 ✅ │
|
||
│ │
|
||
│ 🆕 **OSS 存储服务**(2026-01-22) │
|
||
│ ├── 阿里云 OSS:4 Bucket(生产/开发 × 数据/静态) │
|
||
│ ├── StorageAdapter:OSSAdapter + LocalAdapter │
|
||
│ └── 私有化部署:STORAGE_TYPE=local 支持本地存储 │
|
||
│ │
|
||
│ 存储 | 日志 | 缓存 | 任务 | 健康检查 | 监控 | 连接池 │
|
||
│ ✅ ✅ ✅ ✅ ✅ ✅ ✅ │
|
||
└─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 技术栈
|
||
|
||
**前端**:
|
||
- React 19 + TypeScript 5 + Vite 7
|
||
- **Ant Design 6.0** + **Ant Design X 2.1** ✨ 新增!
|
||
- TailwindCSS 3 + React Query v5 + React Router DOM v7
|
||
- 架构:frontend-v2(模块化,顶部导航)
|
||
|
||
**后端**:
|
||
- Fastify v4 (Node.js 22)
|
||
- Prisma 6 (10个Schema隔离)
|
||
- LLM:DeepSeek-V3, Qwen-Max, GPT-5-Pro, Claude-4.5
|
||
- 架构:增量演进(legacy + common + modules)
|
||
|
||
**数据库**:
|
||
- PostgreSQL 15 (Docker: pgvector/pgvector:pg15)
|
||
- **pgvector 0.8.1** ✅ 2026-01-19 新增(向量数据库扩展,支持 RAG)
|
||
- **pg_bigm 1.2** ✅ 2026-01-24 新增(中日韩全文搜索,10-100倍性能提升)
|
||
- **14个Schema隔离**(platform/aia/pkb/asl/dc/iit/ssa/ssa_schema🆕/st/rvw/admin/common/capability/ekb)
|
||
|
||
**云原生部署**:
|
||
- 阿里云 SAE (Serverless 应用引擎)
|
||
- ✅ Python微服务(v1.0)- 内网:172.17.173.66:8000
|
||
- ✅ Node.js后端(v1.3)- 内网:172.17.173.73:3001
|
||
- ✅ 前端Nginx(v1.0)- 内网:172.17.173.72:80
|
||
- ✅ CLB负载均衡 - 公网:http://8.140.53.236/
|
||
- RDS PostgreSQL 15(生产环境运行中)
|
||
- OSS对象存储(✅ 2026-01-22 已集成,4个Bucket)
|
||
- ACR容器镜像仓库(已推送3个镜像)
|
||
- 阿里云 ACR (容器镜像服务) ✅ 已推送3个镜像(Frontend、Backend、Python)
|
||
- 阿里云 RDS (PostgreSQL 15) ✅ 已迁移数据
|
||
- RDS PostgreSQL 15 + OSS (对象存储) + NAT网关
|
||
- ACR (容器镜像服务 - 个人版免费)
|
||
- **部署状态**:🚀 **进行中**(PostgreSQL✅、Python微服务✅、前端镜像✅、Node.js后端⏳)
|
||
|
||
---
|
||
|
||
## 🚀 当前开发状态(2026-02-23)
|
||
|
||
### 🎉 最新进展:ASL Deep Research V2.0 核心功能完成(2026-02-23)
|
||
|
||
#### ✅ ASL Deep Research V2.0 核心开发完成
|
||
|
||
**重大里程碑:从 V1.x 单一 PubMed SSE 搜索升级为多数据源、实时流式、段落化思考的完整深度检索系统!**
|
||
|
||
| 功能 | 技术实现 | 状态 |
|
||
|------|---------|------|
|
||
| SSE 流式架构 | unifuncsSseClient → OpenAI Compatible SSE,替代 create_task/query_task 轮询 | ✅ |
|
||
| 段落化思考日志 | reasoningParser 按段落聚合 + mergeConsecutiveThinking,200+ 字符批量解析 | ✅ |
|
||
| 引用链接可见化 | react-markdown 自定义 `<a>` 组件 + Word 端 expandReferenceLinks() | ✅ |
|
||
| 瀑布流 UI | phase 0-4 渐进展开,已完成步骤折叠为摘要卡片 | ✅ |
|
||
| LLM 需求扩写 | DeepSeek-V3 PICOS+MeSH 结构化扩写,Prompt 管理系统可配置 | ✅ |
|
||
| HITL 策略确认 | 用户可编辑/保存/确认检索指令,单列布局 + PICOS 摘要卡片 | ✅ |
|
||
| Markdown 报告渲染 | react-markdown + remark-gfm,正确渲染标题/链接/列表/加粗 | ✅ |
|
||
| Word 导出 | Pandoc 微服务,文献标题内嵌超链接,引用展开为可见 URL | ✅ |
|
||
| 中文数据源 | CNKI/中华医学期刊网动态 prompt + 专项测试脚本验证 | ✅ |
|
||
| 5 精选数据源 | PubMed/ClinicalTrials.gov/Cochrane/CNKI/中华医学期刊网 | ✅ |
|
||
| 数据库扩展 | 6 个新字段(targetSources/confirmedRequirement/aiIntentSummary/executionLogs/synthesisReport/resultList) | ✅ |
|
||
|
||
**关键技术决策**:
|
||
- ✅ **SSE 替代轮询**:解决"等很久才一股脑显示"问题,reasoning_content 实时推送
|
||
- ✅ **段落化日志**:从逐行碎片到连贯段落,思考过程可读性大幅提升
|
||
- ✅ **引用链接可见**:`[6]` 后追加完整 URL,方便复制分享(Web+Word 双端)
|
||
|
||
**相关文档**:
|
||
- 模块状态:`docs/03-业务模块/ASL-AI智能文献/00-模块当前状态与开发指南.md`
|
||
- 开发计划:`docs/03-业务模块/ASL-AI智能文献/04-开发计划/07-Deep Research V2.0 开发计划.md`
|
||
- API 指南:`docs/02-通用能力层/04-DeepResearch引擎/01-Unifuncs DeepSearch API 使用指南.md`
|
||
|
||
### 🎉 SSA Phase I-IV 开发完成(2026-02-22)
|
||
|
||
#### ✅ SSA 智能对话与工具体系 Phase I-IV 全部完成(2026-02-22)
|
||
|
||
**重大里程碑:从"统计分析执行器"到"数据感知的统计顾问"的全栈开发完成!E2E 107/107 通过!**
|
||
|
||
| Phase | 核心产出 | E2E | 状态 |
|
||
|-------|---------|-----|------|
|
||
| Phase I: Session 黑板 + READ 层 | SessionBlackboardService + 数据概览 + 变量字典 + PICO 推断 + 前端 DataContextCard/VariableDictionaryPanel | 31/31 | ✅ |
|
||
| Phase II: 对话层 LLM + 意图路由器 | ConversationService + IntentRouterService + SystemPromptService + SSE 流式 + 统一 Chat 入口 | 38/38 | ✅ |
|
||
| Phase III: 方法咨询 + AskUser 标准化 | ToolRegistryService + MethodConsultService + DecisionTableService + AskUserService + 全局中断 | 13/13 | ✅ |
|
||
| Phase IV: 对话驱动分析 + QPER 集成 | ToolOrchestratorService + analysis_plan SSE + 双通道确认 + PICO 可选 Hint | 25/25 | ✅ |
|
||
|
||
**技术亮点**:
|
||
- ✅ **六段式 System Prompt**:动态组装上下文(禁止 Function Calling,流式输出)
|
||
- ✅ **意图路由器**:规则优先 + LLM 兜底,6 种意图分类(chat/explore/analyze/consult/discuss/feedback)
|
||
- ✅ **Session 黑板**:Postgres-Only 缓存,数据概览 + 变量字典 + PICO 全部写入黑板
|
||
- ✅ **方法咨询闭环**:DecisionTable 规则 + LLM 增强,自动推荐统计方法
|
||
- ✅ **QPER 集成**:对话层直接调用 plan → execute → report,analysis_plan SSE 事件传输
|
||
- ✅ **团队审查 12 条反馈全部落地**:Phase II H1-H4、Phase III H1-H3+P1、Phase IV H1-H3+B1-B2
|
||
|
||
**下一步**:Phase VI(集成测试 + 可观测性 10h)→ 交付试用 → 按需补做 Phase V
|
||
|
||
**相关文档**:
|
||
- 开发计划:`docs/03-业务模块/SSA-智能统计分析/04-开发计划/11-智能对话与工具体系开发计划.md`
|
||
- 模块状态:`docs/03-业务模块/SSA-智能统计分析/00-模块当前状态与开发指南.md`
|
||
- 系统设计:`docs/03-业务模块/SSA-智能统计分析/00-系统设计/SSA-Pro 四层七工具实现机制详解.md`
|
||
|
||
#### ✅ SSA QPER 四层架构全部完成(2026-02-21)
|
||
|
||
**重大里程碑:Q→P→E→R 完整链路闭环,端到端 40/40 测试通过!**
|
||
|
||
| Phase | 核心产出 | 状态 |
|
||
|-------|---------|------|
|
||
| E+ | 7 个 R 工具 Block-based 标准化输出 + DynamicReport + Word 导出 | ✅ |
|
||
| Q | QueryService + LLM Intent + Zod 动态防幻觉 + 追问卡片 | ✅ |
|
||
| P | ConfigLoader + DecisionTable + FlowTemplate + PlannedTrace + 热更新 | ✅ |
|
||
| R | ReflectionService + 槽位注入 + Zod 校验 + 敏感性冲突准则 + 结论缓存 | ✅ |
|
||
|
||
**架构亮点**:
|
||
- ✅ **四层降级体系**:每层 LLM 失败时自动 fallback,系统不中断
|
||
- ✅ **配置化驱动**:决策表/模板/工具注册表为 JSON,`POST /reload` 热更新
|
||
- ✅ **统计量槽位注入**:LLM 被剥夺生成数值权限,所有数值来自 R 引擎
|
||
|
||
**相关文档**:
|
||
- 开发计划:`docs/03-业务模块/SSA-智能统计分析/04-开发计划/10-QPER架构开发计划-智能化主线.md`
|
||
- 开发总结:`docs/03-业务模块/SSA-智能统计分析/06-开发记录/SSA-QPER架构开发总结-2026-02-21.md`
|
||
|
||
### 🎉 SSA Week 1 开发完成 + R Docker 构建成功(2026-02-19)
|
||
|
||
#### ✅ 实时质控系统 + 管理端批量操作 + 质控驾驶舱设计
|
||
|
||
**2026-02-07 开发完成:**
|
||
- ✅ 4 个新数据库表:`iit_qc_logs`、`iit_record_summary`、`iit_qc_project_stats`、`iit_field_metadata`
|
||
- ✅ pg-boss 防抖机制:`singletonKey` 5 分钟去重
|
||
- ✅ Worker 双产出:质控日志(仅新增)+ 录入汇总(upsert)
|
||
- ✅ 管理端批量操作:一键全量质控 + 一键全量汇总
|
||
|
||
**2026-02-08 计划制定:**
|
||
- 📋 XML 临床切片格式:对 LLM 更友好,减少幻觉
|
||
- 📋 质控驾驶舱页面:风险热力图 + 统计卡片
|
||
- 📋 变量标签系统:按语义标签切片数据
|
||
|
||
#### ✅ 双脑架构 + 三层记忆 + 主动性增强 + 隐私合规(V2.9.1)
|
||
|
||
**重大里程碑**:
|
||
- 🎉 **完整架构设计**:V2.9.1 开发计划发布,6份模块化文档
|
||
- 🎉 **双脑路由**:SOP 状态机处理结构化任务,ReAct 引擎处理模糊查询
|
||
- 🎉 **三层记忆**:流水账(全量日志)+ 热记忆(高频注入)+ 历史书(按需检索)
|
||
- 🎉 **隐私合规**:PII 脱敏中间件,P0 合规必需
|
||
|
||
**核心设计**:
|
||
| 组件 | 功能 | 设计文档 |
|
||
|------|------|----------|
|
||
| 双脑架构 | SOP(写操作)+ ReAct(只读查询) | 02-核心引擎实现指南.md |
|
||
| 三层记忆 | 周报卷叠 + 意图驱动检索 | 01-数据库设计.md |
|
||
| 主动性增强 | Cron Skill + 用户画像 + 反馈循环 | 03-服务层实现指南.md |
|
||
| 隐私合规 | AnonymizerService + PII 审计日志 | 03-服务层实现指南.md |
|
||
| 自动化工具 | AutoMapper REDCap Schema 对齐 | 03-服务层实现指南.md |
|
||
|
||
**开发阶段规划**:
|
||
| Phase | 内容 | 优先级 |
|
||
|-------|------|--------|
|
||
| Phase 1 | 基础工具层(ToolsService + HardRuleEngine) | P0 |
|
||
| Phase 1.5 | 隐私安全(AnonymizerService) | **P0 合规必需** |
|
||
| Phase 2 | SOP 引擎 + 热记忆 | P0 |
|
||
| Phase 3 | ReAct 引擎 + 流水账 | P0 |
|
||
| Phase 4 | 调度系统(Cron Skill + ProfilerService) | P1 |
|
||
| Phase 5 | 智能路由(IntentService) | P1 |
|
||
|
||
**相关文档**:
|
||
- 综合开发计划:`docs/03-业务模块/IIT Manager Agent/04-开发计划/IIT Manager Agent V2.6 综合开发计划.md`
|
||
- 模块状态:`docs/03-业务模块/IIT Manager Agent/00-模块当前状态与开发指南.md`
|
||
|
||
---
|
||
|
||
### 🎉 Protocol Agent MVP 完整交付(2026-01-25)
|
||
|
||
#### ✅ 一键生成研究方案 + Word 导出
|
||
|
||
**重大里程碑**:
|
||
- 🎉 **MVP 完整可用**:从关键要素收集到完整研究方案输出的全流程
|
||
- 🎉 **Word 导出**:Pandoc 转换,格式完美,支持自定义模板
|
||
- 🎉 **代码量**:累计 ~8,500 行(前端3,300+后端4,700+Python500)
|
||
|
||
**核心功能**:
|
||
| 功能 | 实现 | 状态 |
|
||
|------|------|------|
|
||
| 一键生成研究方案 | 流式输出+A4预览+12章节 | ✅ |
|
||
| Word文档导出 | pypandoc + Pandoc | ✅ |
|
||
| 动态双面板布局 | ResizableSplitPane | ✅ |
|
||
| 研究摘要展示 | CollapsibleContent 折叠/展开 | ✅ |
|
||
| 延迟创建对话 | 类ChatGPT体验 | ✅ |
|
||
| 对话历史管理 | 保存+加载+标题更新 | ✅ |
|
||
|
||
**技术亮点**:
|
||
- **无编辑器方案**:对话生成→Markdown预览→Pandoc导出,开发快速
|
||
- **Prompt工程**:阶段约束+数据凝练放宽,避免模型混乱
|
||
- **流式渲染**:SSE + 自定义Markdown组件,打字机效果
|
||
|
||
**相关文档**:
|
||
- 开发记录:`docs/03-业务模块/AIA-AI智能问答/06-开发记录/2026-01-25-Protocol_Agent_MVP完整交付.md`
|
||
- 开发计划V2:`docs/03-业务模块/AIA-AI智能问答/04-开发计划/06-一键生成研究方案开发计划V2.md`
|
||
|
||
---
|
||
|
||
### 🆕 运营监控系统 MVP 完成(2026-01-25)
|
||
|
||
#### ✅ 全模块埋点 + 运营看板
|
||
|
||
**功能完成**:
|
||
- 🎉 **数据采集**:7个业务模块埋点全部完成
|
||
- 🎉 **运营看板**:DAU/DAT/模块统计/实时活动流
|
||
- 🎉 **用户画像**:360度用户资产统计(知识库、审查任务等)
|
||
|
||
**埋点模块覆盖**:
|
||
|
||
| 模块 | 埋点功能 | 状态 |
|
||
|------|---------|------|
|
||
| SYSTEM | 用户登录 | ✅ |
|
||
| AIA | 智能体对话完成 | ✅ |
|
||
| PKB | 知识库创建/删除、RAG检索 | ✅ |
|
||
| ASL | 文献筛选完成 | ✅ |
|
||
| DC | Tool B提取、Tool C代码处理 | ✅ |
|
||
| RVW | 稿件审查完成 | ✅ |
|
||
| IIT | REDCap数据同步 | ✅ |
|
||
|
||
**技术实现**:
|
||
- ActivityService:火烧即忘模式,带 try-catch 保护
|
||
- SimpleLog 表:admin_schema,5个索引优化查询
|
||
- Stats API:overview/live-feed/user-overview/cleanup
|
||
|
||
**相关文档**:
|
||
- 开发计划:`docs/03-业务模块/ADMIN-运营管理端/04-开发计划/03-运营监控系统MVP开发计划.md`
|
||
- 实施记录:`docs/03-业务模块/ADMIN-运营管理端/04-开发计划/04-运营监控系统MVP实施记录.md`
|
||
|
||
---
|
||
|
||
### 🆕 登录体验优化(2026-01-25)
|
||
|
||
#### ✅ 默认跳转 AI 问答 + 模块权限修复
|
||
|
||
**优化内容**:
|
||
- ✅ 用户登录后默认进入 `/ai-qa`(AI问答模块)而非首页
|
||
- ✅ 修复用户模块权限显示逻辑(有自定义配置时正确显示)
|
||
- ✅ SUPER_ADMIN 用户返回完整模块权限列表
|
||
- ✅ 顶部导航 LOGO 更换为品牌图标(52px高度)
|
||
- ✅ LoginPage 路径映射与 moduleRegistry.ts 保持一致
|
||
|
||
**修复文件**:
|
||
- `backend/src/modules/admin/services/userService.ts` - 模块权限显示逻辑
|
||
- `backend/src/common/auth/auth.service.ts` - getUserModules SUPER_ADMIN处理
|
||
- `frontend-v2/src/pages/LoginPage.tsx` - 路径映射修正
|
||
- `frontend-v2/src/framework/layout/TopNavigation.tsx` - LOGO更换
|
||
|
||
---
|
||
|
||
### 🆕 PKB 布局修复(2026-01-25)
|
||
|
||
#### ✅ 解决 CSS 类名冲突
|
||
|
||
**问题**:PKB 工作区问答页面只显示部分内容
|
||
|
||
**原因**:Protocol Agent 的 `.chat-container` 样式覆盖了共享组件的同名样式
|
||
|
||
**解决**:将 Protocol Agent 模块的 CSS 类名重命名为 `.pa-chat-container`
|
||
|
||
**修复文件**:
|
||
- `frontend-v2/src/modules/aia/protocol-agent/components/ChatArea.tsx`
|
||
- `frontend-v2/src/modules/aia/protocol-agent/styles/protocol-agent.css`
|
||
|
||
---
|
||
|
||
### 🆕 OSS 存储集成完成(2026-01-22)
|
||
|
||
#### ✅ 阿里云 OSS 正式接入平台基础层
|
||
|
||
**重大里程碑**:
|
||
- 🎉 **存储服务上线**:文件持久化从本地存储升级到云端 OSS
|
||
- 🎉 **双模式架构**:支持 SaaS 云端部署和医疗机构私有化部署
|
||
- 🎉 **PKB 首个集成**:个人知识库文档已对接 OSS 存储
|
||
|
||
**核心组件**:
|
||
| 组件 | 说明 | 状态 |
|
||
|------|------|------|
|
||
| OSSAdapter | 阿里云 OSS 存储实现 | ✅ |
|
||
| LocalAdapter | 本地文件系统实现(私有化部署) | ✅ |
|
||
| StorageFactory | 根据环境变量自动选择适配器 | ✅ |
|
||
| 签名URL | 支持原始文件名下载 | ✅ |
|
||
|
||
**Bucket 配置**:
|
||
| Bucket | 用途 | 权限 |
|
||
|--------|------|------|
|
||
| ai-clinical-data | 生产数据 | 私有 + SSE-OSS 加密 |
|
||
| ai-clinical-data-dev | 开发数据 | 私有 |
|
||
| ai-clinical-static | 生产静态资源 | 公共读 |
|
||
| ai-clinical-static-dev | 开发静态资源 | 公共读 |
|
||
|
||
**目录结构规范**:
|
||
```
|
||
tenants/{tenantId}/users/{userId}/pkb/{kbId}/{uuid}.{ext}
|
||
```
|
||
|
||
**相关文档**:
|
||
- 实施方案:`docs/01-平台基础层/02-存储服务/OSS存储实施方案-MVP版.md`
|
||
- 开发规范:`docs/04-开发规范/11-OSS存储开发规范.md`
|
||
- 开发记录:`docs/01-平台基础层/02-存储服务/OSS集成开发记录-2026-01-22.md`
|
||
|
||
**数据库变更**:
|
||
- `difyDocumentId` 字段重命名为 `storageKey`(存储 OSS 路径)
|
||
|
||
---
|
||
|
||
### 🏆 里程碑:成功替换 Dify!PKB 完全使用自研 RAG 引擎(2026-01-21)
|
||
|
||
#### ✅ Dify 已完全移除,pgvector RAG 引擎生产可用
|
||
|
||
**重大里程碑**:
|
||
- 🎉 **彻底移除 Dify 依赖**:PKB 模块不再依赖任何外部 RAG 服务
|
||
- 🎉 **自研引擎上线**:完全使用 PostgreSQL + pgvector 的本地 RAG 方案
|
||
- 🎉 **Postgres-Only 架构完成**:所有核心功能都在 PostgreSQL 内实现
|
||
|
||
**核心技术栈**:
|
||
| 组件 | 技术 | 状态 |
|
||
|------|------|------|
|
||
| 数据库 | PostgreSQL 15 + pgvector 0.8.1 | ✅ |
|
||
| 文档处理 | Python pymupdf4llm | ✅ |
|
||
| 向量化 | 阿里云 text-embedding-v4 (1024维) | ✅ |
|
||
| 查询理解 | DeepSeek V3 | ✅ |
|
||
| 重排序 | 阿里云 qwen3-rerank | ✅ |
|
||
|
||
**本次完成工作(2026-01-21)**:
|
||
- ✅ **移除 Dify 代码**:
|
||
- 重构 `ragService.ts` - 移除双轨模式,只保留 pgvector
|
||
- 重构 `knowledgeBaseService.ts` - 移除 Dify 创建逻辑
|
||
- 重构 `documentService.ts` - 移除 Dify 上传/轮询逻辑
|
||
- 删除 `DifyClient.ts` - 改为废弃桩文件(兼容 Legacy 代码)
|
||
- 移除 `env.ts` 中的 Dify 配置项
|
||
- ✅ **端到端测试通过**:创建知识库 → 上传文档 → 向量检索 全流程验证
|
||
|
||
**架构亮点**:
|
||
```
|
||
Brain-Hand 模型:
|
||
业务层 (Brain) → DeepSeek V3 查询理解 → 生成检索词
|
||
引擎层 (Hand) → 向量+关键词 → RRF → Rerank → 结果
|
||
|
||
完整链路:
|
||
PDF → Markdown → 分块 → 向量化 → 存储(pgvector)
|
||
用户查询 → DeepSeek翻译 → 向量检索 → Rerank → Top K
|
||
```
|
||
|
||
**性能指标**:
|
||
- 单次检索:2.5秒
|
||
- 单次成本:¥0.0025
|
||
- 跨语言准确率提升:+20.5%
|
||
|
||
**遗留问题**:
|
||
- ✅ OSS 存储集成已完成(2026-01-22)
|
||
- ✅ pg_bigm 扩展已安装(2026-01-24)
|
||
- 🔧 Legacy 代码保留 Dify 桩文件(兼容性考虑)
|
||
|
||
**使用文档**:
|
||
- 📖 [RAG 引擎使用指南](../02-通用能力层/03-RAG引擎/05-RAG引擎使用指南.md)
|
||
- 📖 [数据模型设计](../02-通用能力层/03-RAG引擎/04-数据模型设计.md)
|
||
- 📖 [pgvector替换Dify计划](../02-通用能力层/03-RAG引擎/02-pgvector替换Dify计划.md)
|
||
|
||
---
|
||
|
||
### 🏆 历史进展:pgvector 向量数据库集成(2026-01-19)
|
||
|
||
#### ✅ pgvector 0.8.1 安装成功
|
||
|
||
**背景**:
|
||
- PKB 模块需要实现 RAG 检索功能
|
||
- 原计划依赖 Dify 知识库,现改为 PostgreSQL 原生 pgvector 方案
|
||
- 与 Postgres-Only 架构理念一致,减少外部依赖
|
||
|
||
**完成工作**:
|
||
- ✅ Docker 镜像迁移:`postgres:15-alpine` → `pgvector/pgvector:pg15`
|
||
- ✅ pgvector 扩展安装:版本 0.8.1
|
||
- ✅ 数据安全:执行双重备份(SQL dump + Volume tarball)
|
||
- ✅ 功能验证:前后端服务重启后功能全部正常
|
||
- ✅ 数据完整性:用户数据、pg-boss 队列函数全部正常
|
||
|
||
**技术细节**:
|
||
| 项目 | 说明 |
|
||
|------|------|
|
||
| Docker 镜像 | `pgvector/pgvector:pg15` |
|
||
| pgvector 版本 | 0.8.1 |
|
||
| 支持索引类型 | HNSW、IVFFlat |
|
||
| 最大向量维度 | 16000 维 |
|
||
| 阿里云 RDS 兼容性 | ✅ 完全兼容(RDS 为 0.8.0) |
|
||
|
||
**版本兼容性说明**:
|
||
- 开发环境:pgvector 0.8.1
|
||
- 生产环境(阿里云 RDS):pgvector 0.8.0
|
||
- 兼容性:0.8.x 系列向后兼容,数据格式和 API 一致
|
||
|
||
**文件变更**:
|
||
- `docker-compose.yml`:更新 postgres 服务镜像
|
||
- `Dockerfile.postgres-pgvector`:自定义构建文件(备用)
|
||
- `backup_before_pgvector_20260119.sql`:迁移前备份
|
||
- `postgres_volume_backup_20260119.tar`:Volume 备份
|
||
|
||
**下一步**:
|
||
- ✅ 已完成:RAG 引擎完整实现(2026-01-21)
|
||
- 🔜 Phase 2: 安装 pg_bigm 扩展(关键词检索增强)
|
||
- 🔜 PKB 模块切换到 pgvector 后端(替换 Dify)
|
||
|
||
---
|
||
|
||
### 🏆 历史进展:AIA V2.1 Prompt管理集成(2026-01-18)
|
||
|
||
#### ✅ AIA 模块 Prompt 管理系统集成
|
||
|
||
**功能:**
|
||
- ✅ 10 个智能体 Prompt 迁移到数据库(`capability_schema.prompt_templates`)
|
||
- ✅ 管理端可在线编辑和调试提示词
|
||
- ✅ 灰度预览(调试者看 DRAFT,普通用户看 ACTIVE)
|
||
- ✅ 三级容灾(数据库 → 缓存 → 兜底)
|
||
- ✅ 版本管理和回滚
|
||
|
||
**Prompt Code 列表:**
|
||
|
||
| Prompt Code | 智能体 |
|
||
|-------------|--------|
|
||
| `AIA_SCIENTIFIC_QUESTION` | 科学问题梳理 |
|
||
| `AIA_PICO_ANALYSIS` | PICO 梳理 |
|
||
| `AIA_TOPIC_EVALUATION` | 选题评价 |
|
||
| `AIA_OUTCOME_DESIGN` | 观察指标设计 |
|
||
| `AIA_CRF_DESIGN` | 病例报告表设计 |
|
||
| `AIA_SAMPLE_SIZE` | 样本量计算 |
|
||
| `AIA_PROTOCOL_WRITING` | 临床研究方案撰写 |
|
||
| `AIA_METHODOLOGY_REVIEW` | 方法学评审智能体 |
|
||
| `AIA_PAPER_POLISH` | 论文润色 |
|
||
| `AIA_PAPER_TRANSLATE` | 论文翻译 |
|
||
|
||
**修改文件:**
|
||
- `backend/scripts/migrate-aia-prompts.ts` - 迁移脚本
|
||
- `backend/src/common/prompt/prompt.fallbacks.ts` - 兜底 Prompt
|
||
- `backend/src/modules/aia/services/agentService.ts` - 集成 PromptService
|
||
- `backend/src/modules/aia/services/conversationService.ts` - 传递 userId
|
||
|
||
---
|
||
|
||
### 🆕 ASL 智能文献检索 DeepSearch MVP(2026-01-18)
|
||
|
||
#### ✅ 功能完成
|
||
|
||
**核心功能:**
|
||
- ✅ 集成 unifuncs DeepSearch API(OpenAI 兼容协议)
|
||
- ✅ 自然语言输入研究问题,AI 自动生成 PubMed 检索策略
|
||
- ✅ SSE 实时流式显示 AI 思考过程
|
||
- ✅ 提取并展示 PubMed 文献链接
|
||
- ✅ 数据库存储任务记录
|
||
|
||
**技术实现:**
|
||
- 后端:`researchService.ts` + `researchController.ts`(SSE 流式接口)
|
||
- 前端:`ResearchSearch.tsx`(统一内容流展示)
|
||
- 数据库:`asl_schema.asl_research_tasks`
|
||
|
||
**API 端点:**
|
||
| 方法 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| POST | `/api/v1/asl/research/stream` | SSE 流式检索 |
|
||
| POST | `/api/v1/asl/research/tasks` | 异步任务(备用) |
|
||
| GET | `/api/v1/asl/research/tasks/:taskId/status` | 任务状态 |
|
||
|
||
**前端入口:**
|
||
- 路由:`/literature/research/search`
|
||
- 菜单:AI智能文献 → 2. 智能文献检索
|
||
|
||
**已知限制:**
|
||
- ⚠️ SSE 模式,离开页面任务中断
|
||
- ⚠️ 每次检索成本约 0.3 元(unifuncs API)
|
||
|
||
---
|
||
|
||
### 🏆 历史进展:通用能力层重大升级 + AIA V2.0(2026-01-14)
|
||
|
||
#### ✅ Phase 1: 通用流式响应服务(OpenAI Compatible)
|
||
|
||
**后端能力:**
|
||
- ✅ 创建 `common/streaming/` 模块(4个文件,~400行)
|
||
- ✅ `OpenAIStreamAdapter` - SSE适配器
|
||
- ✅ `StreamingService` - 流式响应服务
|
||
- ✅ 支持 `content` 和 `reasoning_content` 双流
|
||
- ✅ 深度思考标签处理(`<think>...</think>`)
|
||
- ✅ Token统计和错误处理
|
||
|
||
**输出格式:**
|
||
```
|
||
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"你好"}}]}\n\n
|
||
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"reasoning_content":"思考..."}}]}\n\n
|
||
data: [DONE]\n\n
|
||
```
|
||
|
||
#### ✅ Phase 2: Chat通用组件V2(Ant Design X深度集成)
|
||
|
||
**前端能力:**
|
||
- ✅ 升级 `shared/components/Chat/`(12个文件,~2000行)
|
||
- ✅ `AIStreamChat` - 流式对话组件(现代感设计)
|
||
- ✅ `ThinkingBlock` - 深度思考展示组件
|
||
- ✅ `ConversationList` - 会话列表组件
|
||
- ✅ `useAIStream` Hook - 流式响应处理
|
||
- ✅ `useConversations` Hook - 会话管理
|
||
- ✅ 现代感样式(Ultramodern风格)
|
||
|
||
**核心特性:**
|
||
- 逐字流式显示(打字机效果)
|
||
- 深度思考可折叠展示
|
||
- 会话列表分组(今天/昨天/更早)
|
||
- 欢迎页配置
|
||
- 快捷提示
|
||
- 附件上传(UI完成,后端待实现)
|
||
|
||
#### ✅ Phase 3: AIA模块V2.0完整实现
|
||
|
||
**前端开发:**
|
||
- ✅ `AgentHub` - 智能体大厅(100%还原原型图V11)
|
||
- 12个智能体卡片
|
||
- 时间轴设计(5个阶段)
|
||
- 主题色区分(蓝/黄/青/紫)
|
||
- 序号水印
|
||
- 悬停动画效果
|
||
- ✅ `ChatWorkspace` - 对话工作台
|
||
- 全屏沉浸式体验
|
||
- 左侧会话列表(256px)
|
||
- 欢迎语(左上角单行)
|
||
- 流式响应集成
|
||
- 深度思考展示
|
||
- 自动创建对话
|
||
|
||
**后端开发:**
|
||
- ✅ `agentService` - 12个智能体配置
|
||
- ✅ `conversationService` - 重构使用 StreamingService
|
||
- ✅ `attachmentService` - 附件处理骨架
|
||
- ✅ API端点(12个)
|
||
- ✅ 认证授权(符合规范)
|
||
- ✅ 流式响应测试通过
|
||
|
||
**代码统计:**
|
||
- 前端业务:~1,500行(10个文件)
|
||
- 后端业务:~900行(9个文件)
|
||
- 通用能力(前端):~2,000行(12个文件)
|
||
- 通用能力(后端):~400行(4个文件)
|
||
- **总计:~4,800行**
|
||
|
||
**测试结果:**
|
||
- ✅ 智能体大厅展示正常
|
||
- ✅ 卡片点击进入对话
|
||
- ✅ 自动创建对话
|
||
- ✅ 流式响应测试通过(HTTP 200)
|
||
- ✅ 深度思考展示正常
|
||
- ✅ 认证授权正常
|
||
|
||
**待完成功能:**
|
||
- 🔜 附件上传API实现
|
||
- 🔜 历史消息加载
|
||
- 🔜 知识库集成(RAG)
|
||
- 🔜 Prompt管理系统对接
|
||
|
||
**技术创新:**
|
||
- 🏆 **OpenAI Compatible标准化** - 业界主流格式
|
||
- 🏆 **通用能力抽象** - 前后端Chat能力可复用
|
||
- 🏆 **现代感设计** - Ant Design X Ultramodern风格
|
||
|
||
---
|
||
|
||
### 🎉 历史进展:ADMIN 运营管理端(2026-01-11)
|
||
|
||
#### ✅ Phase 3.5.1-3.5.4 已完成(83%)
|
||
|
||
**Phase 3.5.1: 基础设施搭建**
|
||
- ✅ 创建 `capability_schema`
|
||
- ✅ 添加 `prompt_templates` 和 `prompt_versions` 表
|
||
- ✅ 添加 `prompt:view/edit/debug/publish` 权限
|
||
- ✅ 迁移 RVW Prompt 到数据库(2个:RVW_EDITORIAL, RVW_METHODOLOGY)
|
||
|
||
**Phase 3.5.2: PromptService 核心服务**
|
||
- ✅ 灰度预览逻辑(调试者看 DRAFT,用户看 ACTIVE)
|
||
- ✅ 模块级调试控制(`setDebugMode(userId, ['RVW'], true)`)
|
||
- ✅ Handlebars 模板渲染
|
||
- ✅ 变量提取与校验(自动从 `{{xxx}}` 提取)
|
||
- ✅ 三级容灾(数据库→缓存→兜底 hardcoded)
|
||
|
||
**Phase 3.5.3: 管理 API**
|
||
- ✅ 8个 RESTful 接口(`/api/admin/prompts/*`)
|
||
- ✅ 权限控制(PROMPT_ENGINEER 只能编辑,SUPER_ADMIN 才能发布)
|
||
|
||
**Phase 3.5.4: 前端管理界面**
|
||
- ✅ 管理端基础架构(AdminLayout, OrgLayout)
|
||
- ✅ 路由系统(`/admin/*`, `/org/*`)
|
||
- ✅ 头像下拉菜单切换入口
|
||
- ✅ PromptListPage(筛选、搜索、调试开关)
|
||
- ✅ PromptEditor(CodeMirror 6 简化版,中文友好,15px字体)
|
||
- ✅ PromptEditorPage(编辑、保存、发布、测试、版本历史)
|
||
|
||
**⏳ Phase 3.5.5 待完成**
|
||
- [ ] 改造 RVW 服务使用 `promptService.get()`(替代文件读取)
|
||
- [ ] 端到端测试
|
||
|
||
**📄 相关文档**
|
||
- 详细计划:`docs/03-业务模块/ADMIN-运营管理端/04-开发计划/02-Prompt管理系统开发计划.md`
|
||
- TODO清单:`docs/03-业务模块/ADMIN-运营管理端/04-开发计划/01-TODO清单(可追踪).md`
|
||
|
||
---
|
||
|
||
### ✅ 已完成模块
|
||
|
||
#### 1. 平台基础层 🏆 **Postgres-Only 架构完成!**(2025-12-13)
|
||
|
||
**核心架构:Platform-Only 模式**
|
||
- ✅ **统一缓存**:`PostgresCacheAdapter` → `platform_schema.app_cache`
|
||
- ✅ **统一队列**:`PgBossQueue` → `platform_schema.job` (pg-boss)
|
||
- ✅ **任务管理**:所有任务信息存储在 `job.data` (JSONB)
|
||
- ✅ **断点续传**:`CheckpointService` 通用化(操作 job.data)
|
||
- ✅ **智能阈值**:小任务直接处理,大任务队列处理(THRESHOLD=50)
|
||
|
||
**原有能力:**
|
||
- ✅ 存储服务(LocalAdapter ↔ OSSAdapter)
|
||
- ✅ 日志系统(Winston + 结构化JSON)
|
||
- ✅ 健康检查(Liveness + Readiness)
|
||
- ✅ 监控指标(数据库连接/内存/API)
|
||
- ✅ 数据库连接池(Serverless优化)
|
||
|
||
**测试覆盖:**
|
||
- ✅ 单元测试:8个全部通过
|
||
- ✅ 集成测试:2个全部通过
|
||
- ✅ 架构验证:Platform-Only 验证通过
|
||
|
||
**技术债务:**
|
||
- ⚠️ Phase 8 全面测试(断点续传压力测试、1000篇文献完整流程)
|
||
- ⚠️ Phase 9 SAE 部署验证
|
||
|
||
#### 2. AIA模块 - AI智能问答 🎉 **V2.0 重构完成!**(2026-01-14)
|
||
|
||
**重大升级:**
|
||
- 🆕 **通用能力层架构**:StreamingService + Chat组件V2
|
||
- 🆕 **OpenAI Compatible**:标准流式格式 + 深度思考支持
|
||
- 🎨 **现代感UI**:100%还原原型图V11
|
||
- ✨ **12个智能体**:覆盖选题→方案→评审→统计→写作全流程
|
||
|
||
**5个阶段,12个智能体:**
|
||
1. **选题优化**(3个):科学问题梳理、PICO梳理、选题评价
|
||
2. **方案设计**(4个):观察指标、CRF设计、样本量计算、方案撰写
|
||
3. **方案预评审**(1个):方法学评审
|
||
4. **数据与统计**(2个):数据预处理、统计分析(工具类,跳转DC)
|
||
5. **写作助手**(2个):论文润色、论文翻译
|
||
|
||
**技术栈:**
|
||
- 前端:React 19 + Ant Design X 2.1 + Lucide Icons
|
||
- 后端:Fastify + Prisma + OpenAI Compatible API
|
||
- 通用能力:StreamingService + AIStreamChat + ThinkingBlock
|
||
|
||
**当前状态:**
|
||
- ✅ 前端AgentHub(100%还原原型图)
|
||
- ✅ 前端ChatWorkspace(流式对话 + 深度思考)
|
||
- ✅ 后端API(12个端点)
|
||
- ✅ 流式响应测试通过
|
||
- 🔜 附件上传(待完成)
|
||
- 🔜 历史消息加载(待完成)
|
||
|
||
**完成度:85%** - 核心功能完成,附件和历史功能待开发
|
||
|
||
**详细文档:** [AIA模块状态与开发指南](../../03-业务模块/AIA-AI智能问答/00-模块当前状态与开发指南.md)
|
||
|
||
#### 3. PKB模块 - 个人知识库 🎉 **成功替换 Dify!自研 RAG 引擎上线!**
|
||
|
||
**开发进度**:
|
||
- ✅ **后端API**:100%完成(v1 + v2双路由运行)
|
||
- ✅ **前端Dashboard**:95%完成(基于知识库仪表盘V5原型)
|
||
- ✅ **前端Workspace**:95%完成(基于工作台V3原型)
|
||
- ✅ **全文阅读模式**:95%完成(Chat组件集成)
|
||
- ✅ **逐篇精读模式**:95%完成(文档选择+对话)
|
||
- ✅ **批处理模式**:95%完成(完整流程+结果导出)
|
||
- ✅ **RAG检索模式**:100%完成(🎉 **2026-01-21 替换 Dify 完成!**)
|
||
|
||
**核心功能**:
|
||
- 知识库CRUD + 文档管理
|
||
- 4种工作模式(全文阅读、逐篇精读、批处理、RAG检索)
|
||
- 自研 pgvector RAG 引擎(替代 Dify)
|
||
- Ant Design X Chat组件集成
|
||
- 响应式全屏布局
|
||
|
||
**技术亮点**:
|
||
- ✅ 模块化架构迁移(/modules/pkb)
|
||
- ✅ Zustand状态管理
|
||
- ✅ 复用shared/components/Chat通用组件
|
||
- ✅ 单层Header + 紧凑工作模式栏设计
|
||
- ✅ **pgvector 0.8.1 已集成**(2026-01-19)
|
||
- ✅ **自研 RAG 引擎上线,Dify 已移除**(2026-01-21)
|
||
- ✅ **跨语言检索**:DeepSeek V3 查询理解 + 中英双语
|
||
- ✅ **OSS 存储集成**(2026-01-22):文档存储云端化
|
||
|
||
**待解决问题**:
|
||
- 🔧 OSS 存储集成待完善
|
||
- 🔧 pg_bigm 扩展待安装(优化中文关键词检索)
|
||
|
||
**详细文档**:[PKB模块当前状态](../03-业务模块/PKB-个人知识库/00-模块当前状态与开发指南.md)
|
||
|
||
### 🚧 正在开发模块
|
||
|
||
#### 4. ASL模块 - AI智能文献 🏆 **Postgres-Only 架构改造完成!**
|
||
|
||
**开发进度**:
|
||
- ✅ **标题摘要初筛MVP**:完整流程(设置→启动→审核→结果→导出)
|
||
- ✅ **全文复筛后端**:LLM服务、数据库、批处理、API
|
||
- ✅ **🏆 Postgres-Only 架构改造**:智能阈值、任务拆分、断点续传(Phase 6完成)
|
||
- 🚧 **全文复筛前端UI**:4个核心页面(待开发)
|
||
|
||
**核心功能**:
|
||
- 双模型并行筛选(DeepSeek-V3 + Qwen-Max)
|
||
- PICOS标准判断
|
||
- 12字段结构化提取(全文复筛)
|
||
- 医学逻辑验证 + 证据链验证
|
||
- Excel批量导出
|
||
|
||
**🚀 Postgres-Only 架构亮点**:
|
||
- ✅ **智能双模式**:<50篇直接处理,≥50篇队列处理
|
||
- ✅ **任务拆分**:1000篇 → 20个批次,每批50篇
|
||
- ✅ **断点续传**:支持2-24小时长任务,实例重启可恢复
|
||
- ✅ **Platform层统一**:任务管理信息存储在 `job.data`,不在业务表中
|
||
- ✅ **零额外成本**:使用 pg-boss,无需 Redis
|
||
- ✅ **高可靠性**:自动重试3次,6小时过期保护
|
||
|
||
**技术实现**:
|
||
- `screeningService.ts`:智能阈值判断,推送批次任务
|
||
- `screeningWorker.ts`:批次处理,断点续传
|
||
- `CheckpointService`:操作 job.data,所有模块通用
|
||
|
||
**详细文档**:[ASL模块当前状态](../03-业务模块/ASL-AI智能文献/00-模块当前状态与开发指南.md)
|
||
|
||
#### 5. DC模块 - 数据清洗整理 🏆 **Tool C MVP + Postgres-Only 架构改造完成!**
|
||
|
||
**开发进度**:
|
||
- ✅ **Tool B后端**:100%完成(1,658行代码)
|
||
- 4个核心服务(HealthCheck、Template、DualModel、Conflict)
|
||
- 1个控制器(6个API端点)
|
||
- 路由集成(/api/v1/dc/tool-b)
|
||
- Prisma Schema(4个表)
|
||
- 100%云原生(复用平台能力)
|
||
- ✅ **🏆 Postgres-Only 架构改造**:智能阈值、任务拆分、断点续传(Phase 7完成)
|
||
- ❌ **Tool B前端**:0%(有V4原型设计,未实现)
|
||
|
||
- ✅ **Tool C(数据编辑器)**:**MVP + NA处理 + Pivot优化 + UX重大改进完成** ✅
|
||
- ✅ Python微服务(~1800行)- Day 1 + NA处理优化 + 全量数据处理
|
||
- ✅ Node.js后端(~3500行)- Day 2-3, Day 5-8增强 + 全量返回
|
||
- ✅ 前端界面(~4000行)- Day 4-8, 筛选/行号/滚动条/全量加载
|
||
- ✅ 通用 Chat 组件(~968行)- Day 5
|
||
- ✅ 7个功能按钮(筛选、映射、分箱、条件、删NA、计算、Pivot)
|
||
- ✅ NA处理优化(4个功能支持空值处理)
|
||
- ✅ Pivot优化(保留未选列+原始列顺序)
|
||
- ✅ 计算列方案B(安全列名映射,支持特殊字符 + 全角字符转换)
|
||
- ✅ **UX重大改进**(Day 8):
|
||
- 列头筛选(Excel风格,Community版本,中文本地化)
|
||
- 行号列(固定左侧,灰色背景)
|
||
- 滚动条修复(修改MainLayout,整个页面无滚动条)
|
||
- 全量数据(不再限制50行,筛选精确)
|
||
- 删除预览提示条
|
||
- **总计:~13068行** | **完成度:98%**
|
||
|
||
- ❌ **Tool A**:未开发
|
||
- ✅ **Portal**:已完成(Tool B + Tool C 入口)
|
||
|
||
**核心功能(Tool C,2025-12-10最新)**:
|
||
- 7个功能按钮:高级筛选、数值映射、生成分类变量、条件生成列、删除缺失值、计算列、Pivot转换
|
||
- NA处理支持:数值映射(保持/映射/删除)、分箱(保持/标记/分配)、条件(为空/不为空)
|
||
- Pivot优化:保留未选择的列、保持原始列顺序
|
||
- 计算列方案B:安全列名映射,支持中文括号等特殊字符 + 全角字符自动转换
|
||
- **UX重大改进**:
|
||
- 列头筛选(Excel风格,Community版本,中文本地化,显示值计数)
|
||
- 行号列(固定左侧,灰色背景,#列头)
|
||
- 滚动条修复(修改MainLayout,整个页面无滚动条,只有表格内部滚动)
|
||
- 全量数据(不再限制50行,筛选精确,所有操作全量返回)
|
||
|
||
**核心功能(Tool B)**:
|
||
- 双模型并发提取(DeepSeek-V3 + Qwen-Max)
|
||
- 自动冲突检测(字段级对比)
|
||
- Excel健康检查(空值率、Token估算、拦截策略)
|
||
- 预设模板系统(肺癌、糖尿病、高血压)
|
||
|
||
**🚀 Postgres-Only 架构亮点**:
|
||
- ✅ **智能双模式**:<50条直接处理,≥50条队列处理
|
||
- ✅ **任务拆分**:1000条 → 20个批次,每批50条
|
||
- ✅ **断点续传**:支持长时间提取任务,实例重启可恢复
|
||
- ✅ **Platform层统一**:与 ASL 共用 CheckpointService
|
||
- ✅ **零额外成本**:使用 pg-boss,无需 Redis
|
||
|
||
**技术实现**:
|
||
- `ExtractionController.ts`:智能阈值判断,推送批次任务
|
||
- `extractionWorker.ts`:批次处理,断点续传
|
||
- `CheckpointService`:操作 job.data,所有模块通用
|
||
|
||
**技术亮点**:
|
||
- ✅ Excel内存处理(零落盘,云原生)
|
||
- ✅ 双模型交叉验证(减少AI幻觉)
|
||
- ✅ 3层JSON解析(容错机制)
|
||
- ✅ 复用LLMFactory、storage、cache、jobQueue
|
||
- ✅ 预写Python函数架构(稳定、安全、高性能)
|
||
- ✅ 安全列名映射(支持特殊字符列名)
|
||
|
||
**待开发功能**:
|
||
- ⏳ 缺失值填补(均值/中位数/众数/固定值)
|
||
- ⏳ 多重插补(MICE)- 高优先级
|
||
|
||
**详细文档**:[DC模块当前状态](../03-业务模块/DC-数据清洗整理/00-模块当前状态与开发指南.md)
|
||
|
||
---
|
||
|
||
### 🚀 IIT Manager Agent / CRA Agent(代号:IIT,2025-12-31启动)
|
||
|
||
**定位**:替代 CRA 岗位的自主 AI Agent(目标替代 70-80% CRA 工作量)
|
||
|
||
**核心价值**:
|
||
- 🎯 **替代 CRA 的自主 Agent** - 每日自动质控、生成报告、派发 eQuery、推送告警
|
||
- 🎯 **LLM 原生 Tool Use** - ChatOrchestrator + 4 语义化工具(read_report / look_up_data / check_quality / search_knowledge)
|
||
- 🎯 **REDCap深度集成** - 与医院现有EDC系统无缝对接
|
||
- 🎯 **统一驾驶舱** - 去角色化设计,健康分 + 风险热力图 + AI Timeline
|
||
- 🎯 **企业微信实时通知** - 质控预警秒级推送,移动端查看
|
||
|
||
**V3.0 当前状态**:✅ **P0+P1 完成,E2E 54/54 通过**
|
||
- ✅ P0:自驱动质控流水线(变量清单 + 规则配置 + 定时质控 + eQuery 闭环 + 驾驶舱)
|
||
- ✅ P1:对话层 Tool Use 改造(ChatOrchestrator + Function Calling + 4 工具)
|
||
- 📋 P1-2:对话体验优化(待开发)
|
||
- 📋 P2:可选功能(不排期)
|
||
|
||
**MVP目标**(2周冲刺):
|
||
- ✅ 打通 REDCap → AI质控 → 企微通知 完整闭环
|
||
- ✅ 实现智能数据质控(基于Protocol的入排标准检查)
|
||
- ✅ 支持历史数据全量扫描
|
||
- ✅ PC Workbench复核界面
|
||
|
||
**Day 1 完成情况**(2025-12-31):✅ **100%**
|
||
- ✅ **数据库Schema**:5个表(IitProject, IitPendingAction, IitTaskRun, IitUserMapping, IitAuditLog)
|
||
- ✅ **模块结构**:controllers/services/agents/adapters/routes/types/workers
|
||
- ✅ **类型系统**:223行完整TypeScript类型定义
|
||
- ✅ **系统集成**:健康检查端点正常(`/api/v1/iit/health`)
|
||
- ✅ **企业微信配置**:Access Token获取成功(核心验证通过)
|
||
- ✅ **企业微信可信域名**:iit.xunzhengyixue.com(网页授权+JS-SDK授权)
|
||
- ✅ **Prisma Schema**:含V1.1新增字段(cachedRules, lastSyncAt, miniProgramOpenId)
|
||
|
||
**REDCap环境就绪**(2026-01-02):✅ **100%**
|
||
- ✅ **REDCap本地部署**:15.8.0版本,Docker Compose(3容器架构)
|
||
- ✅ **测试项目创建**:test0102 (PID 16),已录入测试数据
|
||
- ✅ **DET功能验证**:Data Entry Trigger真实存在(源码验证通过)
|
||
- ✅ **技术调研完成**:源码分析 + External Module文档研究
|
||
- ✅ **对接方案确定**:DET(实时触发) + REST API(数据读写)
|
||
- ✅ **技术方案文档**:《REDCap对接技术方案与实施指南》(1070行完整文档)
|
||
- ✅ **代码设计完成**:RedcapAdapter、WebhookController、SyncManager
|
||
- ✅ **REDCap文档体系**:部署手册、问题排查、API对接指南
|
||
|
||
**REDCap生产环境部署完成**(2026-02-02):✅ **100%**
|
||
- ✅ **ECS服务器**:阿里云 ecs.u2a-c1m2.large(2核4GB),公网IP:39.105.153.58
|
||
- ✅ **RDS MySQL**:MySQL 8.0(2核4GB),数据库:redcap_prod
|
||
- ✅ **Docker部署**:Docker CE 26.1.3 + Docker Compose v2.27.0
|
||
- ✅ **HTTPS配置**:Nginx反向代理 + 阿里云免费SSL证书
|
||
- ✅ **域名上线**:https://redcap.xunzhengyixue.com/
|
||
- ✅ **管理员账户**:已创建,可正常登录
|
||
- ✅ **完整文档**:部署方案 + 信息记录 + 问题排查手册
|
||
|
||
**Day 1 技术验证**:
|
||
```bash
|
||
# 数据库CRUD测试 - 全部通过 ✅
|
||
✅ IIT项目创建成功
|
||
✅ 影子状态记录创建成功
|
||
✅ 任务运行记录创建成功
|
||
✅ 用户映射创建成功
|
||
✅ 审计日志创建成功
|
||
✅ 关联查询成功
|
||
|
||
# 企业微信API测试 - Access Token获取成功 ✅
|
||
✅ CorpID: ww6ab493470ab4f377
|
||
✅ AgentID: 1000002
|
||
✅ Access Token获取成功(核心验证通过)
|
||
```
|
||
|
||
**技术架构**(REDCap对接方案V1.0):
|
||
- ✅ **DET实时触发**:Data Entry Trigger(REDCap原生,0秒延迟)
|
||
- ✅ **REST API集成**:exportRecords(数据拉取)+ importRecords(数据回写)
|
||
- ✅ **双保险机制**:Webhook(主,95%) + 定时轮询(补充,30分钟)
|
||
- ✅ **Postgres-Only架构**:复用平台缓存(app_cache)和队列(pg-boss)
|
||
- ✅ **Dify RAG集成**:Protocol知识检索 + 规则预缓存(性能优化)
|
||
- ✅ **影子状态机制**:PROPOSED → APPROVED → EXECUTED 状态流转
|
||
- ✅ **前端技术栈**:Taro 4.x(React语法,支持小程序+H5双端)
|
||
|
||
**核心创新**:
|
||
- 🔥 **DET实时触发**:CRC保存数据→5秒内收到企微质控通知(实时性100%)
|
||
- 🔥 **零侵入性**:只用REDCap原生API和DET,无需修改源码(维护成本<10%)
|
||
- 🔥 **双保险机制**:Webhook幂等性 + 轮询补充,数据不丢失(可靠性99.9%)
|
||
- 🔥 **历史数据扫描**:BulkScanService支持存量数据质控(智能阈值+断点续传)
|
||
- 🔥 **规则预缓存**:Protocol上传时提取关键规则,简单检查<100ms
|
||
|
||
**开发进度**:
|
||
- Day 1/14:✅ 基础架构就位(数据库、模块结构、企微配置)
|
||
- REDCap准备:✅ 本地环境部署 + 对接方案确定 + 技术方案文档
|
||
- Day 2:✅ REDCap API Adapter + WebhookController + SyncManager完成
|
||
- Day 3:✅ 企微推送 + 端到端测试通过(REDCap → Node.js → 企微)
|
||
- **Phase 1.5:✅ AI对话集成完成(2026-01-03)**
|
||
- ✅ ChatService + SessionMemory + REDCap数据查询
|
||
- ✅ 意图识别 + 数据注入LLM + 解决LLM幻觉
|
||
- ✅ 测试通过(查询ID 7,10条记录统计)
|
||
- Phase 2:待开始 - Function Calling + Dify知识库
|
||
- Day 6-9:影子状态管理 + 历史数据扫描
|
||
- Day 10-14:PC Workbench前端 + 端到端测试 + Demo录制
|
||
|
||
**已创建文件**(Day 1 + REDCap准备):
|
||
```
|
||
backend/prisma/schema.prisma # 新增iit_schema(5个表)
|
||
backend/src/modules/iit-manager/ # 模块目录结构
|
||
├── types/index.ts # 223行类型定义
|
||
├── routes/index.ts # 路由骨架
|
||
├── test-iit-database.ts # 数据库测试(通过)
|
||
└── test-wechat-push.ts # 企微测试(Access Token成功)
|
||
backend/src/config/env.ts # 新增企微配置
|
||
backend/src/index.ts # IIT模块集成
|
||
|
||
redcap-docker-dev/ # REDCap Docker环境(新增)
|
||
├── docker-compose.yml # 开发环境配置
|
||
├── docker-compose.prod.yml # 生产环境配置
|
||
├── Dockerfile.redcap # REDCap镜像
|
||
├── docker-entrypoint.sh # 容器启动脚本
|
||
├── config/
|
||
│ ├── apache/redcap.conf # Apache配置
|
||
│ ├── php/php.ini # PHP配置
|
||
│ └── database.php # REDCap数据库配置
|
||
└── scripts/ # 管理脚本(setup/start/stop/logs/clean)
|
||
|
||
docs/03-业务模块/IIT Manager Agent/ # 完整文档架构
|
||
├── 00-系统设计/ # 技术架构白皮书、实施战略
|
||
├── 02-技术设计/ # 完整技术开发方案(V1.1,2170行)
|
||
├── 04-开发计划/
|
||
│ ├── MVP开发任务清单.md # 开发任务清单
|
||
│ ├── 企业微信注册指南.md # 企微配置指南
|
||
│ └── REDCap对接技术方案与实施指南.md # ⭐ 1070行完整方案(新增)
|
||
└── 06-开发记录/ # V1.1更新完成报告
|
||
|
||
docs/03-业务模块/Redcap/ # REDCap文档体系(新增)
|
||
├── 00-模块概览/ # REDCap文档导航
|
||
├── 01-部署与配置/ # Docker部署手册、问题排查
|
||
└── 03-API对接与开发/ # 二次开发指南、API对接
|
||
```
|
||
|
||
**下一步**(Day 2):
|
||
- 🔄 **RedcapAdapter开发**(exportRecords/exportMetadata/importRecords)
|
||
- 🔄 **WebhookController开发**(DET接收器、<100ms响应、异步处理)
|
||
- 🔄 **SyncManager开发**(定时轮询、增量同步、幂等性保护)
|
||
- 🔄 **集成测试**(DET配置、API测试、端到端验证)
|
||
|
||
**详细文档**:
|
||
- ⭐ [REDCap对接技术方案与实施指南](../03-业务模块/IIT%20Manager%20Agent/04-开发计划/REDCap对接技术方案与实施指南.md) - **Day 2核心参考**
|
||
- [IIT Manager Agent 完整技术开发方案 (V1.1)](../03-业务模块/IIT%20Manager%20Agent/02-技术设计/IIT%20Manager%20Agent%20完整技术开发方案%20(V1.1).md)
|
||
- [IIT Manager Agent 模块当前状态与开发指南](../03-业务模块/IIT%20Manager%20Agent/00-模块当前状态与开发指南.md)
|
||
- [MVP开发任务清单](../03-业务模块/IIT%20Manager%20Agent/04-开发计划/MVP开发任务清单.md)
|
||
- [企业微信注册指南](../03-业务模块/IIT%20Manager%20Agent/04-开发计划/企业微信注册指南.md)
|
||
- [REDCap Docker部署操作手册](../03-业务模块/Redcap/01-部署与配置/10-REDCap_Docker部署操作手册.md)
|
||
- [REDCap二次开发深度指南](../03-业务模块/Redcap/03-API对接与开发/33-REDCap二次开发深度指南.md)
|
||
|
||
---
|
||
|
||
## 🚀 阿里云生产环境部署状态(2025-12-24)
|
||
|
||
### ✅ 已完成部署
|
||
|
||
#### 1. 基础设施层
|
||
- ✅ **VPC网络**:`vpc-2ze055cptkew9c38w4r06`(172.17.0.0/16)
|
||
- ✅ **NAT网关**:`ngw-2zeec9ulzgw7ywvx1pst6`(公网IP: 182.92.176.14)
|
||
- ✅ **安全组**:`sg-2zedk6fi8sgmmcwdu7tu`
|
||
- ✅ **交换机**:2个(可用区F + 可用区A)
|
||
- ✅ **SAE命名空间**:`cn-beijing:test-airesearch`
|
||
|
||
#### 2. 数据存储层
|
||
- ✅ **RDS PostgreSQL 15**
|
||
- 实例ID: `pgm-2zex1m2y3r23hdn5`
|
||
- 规格: 2核4GB
|
||
- 内网地址: `pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432`
|
||
- 数据库: `ai_clinical_research`
|
||
- **数据迁移**: ✅ 完成(90MB SQL文件,约12秒导入)
|
||
- **Schema验证**: ✅ 11个Schema全部迁移成功
|
||
- **数据验证**: ✅ 用户3条、项目2条、文献1204条
|
||
- **部署时间**: 2025-12-24
|
||
|
||
- ✅ **OSS对象存储**
|
||
- Bucket: `ai-clinical-research`
|
||
- 存储类型: 标准存储(同城冗余)
|
||
- 内网域名: `ai-clinical-research.oss-cn-beijing-internal.aliyuncs.com`
|
||
- RAM用户: `oss-bucket-put-object@1991407246109125.onaliyun.com`
|
||
- AccessKey: 已配置(不公开)
|
||
|
||
#### 3. 容器镜像服务(ACR)
|
||
- ✅ **命名空间**: `ai-clinical`
|
||
- ✅ **Registry**: `crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com`
|
||
- ✅ **已推送镜像**:
|
||
- **前端Nginx**: `ai-clinical_frontend-nginx:v1.0`(约50MB)
|
||
- 构建时间: 2025-12-24
|
||
- 基础镜像: `nginx:alpine`
|
||
- 功能: React SPA + Nginx反向代理 + 动态环境变量
|
||
- 配置文件: `frontend-v2/Dockerfile`, `nginx.conf`, `.dockerignore`
|
||
|
||
- **Python微服务**: `python-extraction:v1.0`(1.12GB)
|
||
- 构建时间: 2025-12-24
|
||
- 基础镜像: `python:3-slim`
|
||
- 功能: PDF提取(PyMuPDF)+ 数据清洗(pandas/numpy/polars)
|
||
- 特性: 移除Nougat(减小1.5GB)、使用阿里云Debian源
|
||
- 配置文件: `extraction_service/Dockerfile`, `requirements-prod.txt`, `.dockerignore`
|
||
|
||
- **Node.js后端**: `backend-service:v1.0`(838MB,压缩后~186MB)✨ 新增!
|
||
- 构建时间: 2025-12-24(约5分钟)
|
||
- 基础镜像: `node:alpine`
|
||
- 构建策略: 改进版方案B(本地编译+Docker打包)
|
||
- 技术突破: 修复200+TypeScript错误、手动补全30+Prisma关系字段
|
||
- 架构特性: Postgres-Only(pg-boss队列+PostgreSQL缓存)
|
||
- 配置文件: `backend/Dockerfile`, `backend/.dockerignore`, `backend/prisma/schema.prisma`
|
||
|
||
### 🚧 进行中
|
||
|
||
#### 4. SAE应用部署
|
||
- ✅ **Python微服务**: 已成功部署到SAE轻量版
|
||
- 应用名称: `python-extraction-test`
|
||
- 规格: 1核2GB
|
||
- 内网地址: `http://172.17.173.66:8000`
|
||
- 状态: 运行中 ✅
|
||
|
||
- ⏳ **Node.js后端**: 镜像已推送,待部署到SAE
|
||
- 目标规格: 1核2GB(测试环境)
|
||
- 端口: 8000
|
||
- 健康检查: `/api/health`
|
||
|
||
- ⏳ **Node.js后端**: Docker镜像待构建
|
||
- 目标规格: 2核4GB
|
||
- 端口: 3001
|
||
- 依赖: RDS PostgreSQL
|
||
|
||
- ⏳ **前端Nginx**: 镜像已推送,待部署到SAE
|
||
- 目标规格: 1核2GB
|
||
- 端口: 80
|
||
- 需配置: 后端API内网地址
|
||
|
||
### 📋 待完成
|
||
|
||
- [ ] Python微服务部署到SAE
|
||
- [ ] Node.js后端Docker镜像构建
|
||
- [ ] Node.js后端部署到SAE
|
||
- [ ] 前端Nginx部署到SAE
|
||
- [ ] 配置服务间内网通信
|
||
- [ ] 全链路验证测试
|
||
- [ ] Dify AI服务部署(可选)
|
||
|
||
### 📊 部署文档
|
||
|
||
**部署进度总览**:
|
||
- [00-部署进度总览.md](../05-部署文档/00-部署进度总览.md) - 🎯 **一站式部署状态查看**
|
||
|
||
**操作手册**:
|
||
- [07-前端Nginx-SAE部署操作手册.md](../05-部署文档/07-前端Nginx-SAE部署操作手册.md)
|
||
- [08-PostgreSQL数据库部署操作手册.md](../05-部署文档/08-PostgreSQL数据库部署操作手册.md)
|
||
- Python微服务SAE部署操作手册(待创建)
|
||
|
||
**技术指南**:
|
||
- [01-快速部署SOP-零基础版.md](../05-部署文档/01-快速部署SOP-零基础版.md) - 完整部署流程
|
||
- [04-Python微服务-SAE容器部署指南.md](../05-部署文档/04-Python微服务-SAE容器部署指南.md)
|
||
- [06-前端Nginx-SAE容器部署指南.md](../05-部署文档/06-前端Nginx-SAE容器部署指南.md)
|
||
|
||
### 🎯 部署关键成就
|
||
|
||
1. **PostgreSQL数据迁移** ✅
|
||
- 采用`pg_dump`全量导出/导入方案
|
||
- 11个Schema完整迁移
|
||
- 数据一致性验证通过
|
||
- 安全加固(外网访问已关闭)
|
||
|
||
2. **前端Nginx镜像优化** ✅
|
||
- 解决Docker Hub网络问题(使用通用标签)
|
||
- 修复30个TypeScript编译错误
|
||
- 多阶段构建优化
|
||
- 健康检查通过
|
||
|
||
3. **Python微服务镜像优化** ✅
|
||
- 移除Nougat OCR(减小1.5GB)
|
||
- 使用阿里云Debian镜像源(解决apt-get网络问题)
|
||
- 保留数据清洗功能(pandas/numpy/polars)
|
||
- 运行时依赖优化(libgl1、libglib2.0)
|
||
|
||
4. **镜像配置文件Git管理** ✅
|
||
- Dockerfile: ✅ 已提交Git(构建蓝图)
|
||
- .dockerignore: ✅ 已提交Git(优化构建)
|
||
- 依赖文件: ✅ 已提交Git(可复现)
|
||
- 敏感信息: ❌ 禁止提交(.env等)
|
||
|
||
### 💰 当前运行成本估算
|
||
|
||
| 服务 | 规格 | 月成本 | 状态 |
|
||
|------|------|-------|------|
|
||
| RDS PostgreSQL | 2核4GB | ¥260 | ✅ 运行中 |
|
||
| OSS存储 | 10GB | ¥2 | ✅ 运行中 |
|
||
| NAT网关 | 小型 | ¥60 | ✅ 运行中 |
|
||
| EIP流量 | 5Mbps | ¥40 | ✅ 运行中 |
|
||
| ACR镜像仓库 | 个人版 | ¥0(免费) | ✅ 运行中 |
|
||
| SAE - Python | 1核2GB×1 | ¥60 | ⏳ 待部署 |
|
||
| SAE - Node.js | 2核4GB×1 | ¥120 | ⏳ 待部署 |
|
||
| SAE - Frontend | 1核2GB×1 | ¥60 | ⏳ 待部署 |
|
||
| **总计** | - | **¥602/月** | 部署中 |
|
||
|
||
---
|
||
|
||
## 📁 项目结构概览
|
||
|
||
```
|
||
AIclinicalresearch/
|
||
├── frontend-v2/ # 🌐 前端(React 19 + TS)
|
||
│ └── src/
|
||
│ ├── framework/ # 框架层(布局、路由、权限)
|
||
│ ├── modules/ # 业务模块
|
||
│ │ ├── asl/ # ✅ AI智能文献
|
||
│ │ ├── aia/ # 🎉 AI智能问答 V2.0(12个智能体)
|
||
│ │ ├── pkb/ # ✅ 个人知识库
|
||
│ │ ├── dc/ # ✅ 数据清洗(Tool C 完成)
|
||
│ │ └── ...
|
||
│ └── shared/ # 共享组件和工具
|
||
│ └── components/ # ✨ 通用能力层
|
||
│ └── Chat/ # ✅ Chat 通用组件 V2(Ant Design X)
|
||
│ ├── AIStreamChat.tsx # 🆕 流式对话(推荐)
|
||
│ ├── ThinkingBlock.tsx # 🆕 深度思考展示
|
||
│ ├── ConversationList.tsx # 🆕 会话列表
|
||
│ └── hooks/useAIStream.ts # 🆕 流式响应Hook
|
||
│
|
||
├── backend/ # ⚙️ 后端(Fastify + Prisma)
|
||
│ └── src/
|
||
│ ├── common/ # ⭐ 平台基础设施(云原生)
|
||
│ │ ├── storage/ # 存储抽象层
|
||
│ │ ├── logging/ # 日志系统
|
||
│ │ ├── cache/ # 缓存服务
|
||
│ │ ├── jobs/ # 异步任务
|
||
│ │ ├── llm/ # LLM 适配器层(5个模型)
|
||
│ │ ├── streaming/ # 🆕 流式响应服务(OpenAI Compatible)
|
||
│ │ ├── rag/ # RAG 引擎(Dify集成)
|
||
│ │ ├── document/ # 文档处理引擎
|
||
│ │ ├── prompt/ # Prompt 管理系统
|
||
│ │ └── ...
|
||
│ ├── legacy/ # 🔸 现有业务代码(稳定)
|
||
│ └── modules/ # 🌟 新架构模块
|
||
│ ├── asl/ # ✅ AI智能文献
|
||
│ └── dc/ # 🚧 数据清洗(开发中)
|
||
│
|
||
├── docs/ # 📚 文档体系
|
||
│ ├── 00-系统总体设计/ # 架构设计
|
||
│ ├── 01-平台基础层/ # 平台能力
|
||
│ ├── 02-通用能力层/ # LLM、RAG等
|
||
│ ├── 03-业务模块/ # 各模块文档
|
||
│ ├── 04-开发规范/ # 云原生规范等
|
||
│ └── 08-项目管理/ # 计划和进度
|
||
│
|
||
└── prisma/
|
||
└── schema.prisma # 10个Schema定义
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 核心设计原则
|
||
|
||
### 1. 云原生架构 ☁️
|
||
- **无状态应用**:不依赖本地文件系统
|
||
- **存储抽象层**:适配器模式,零代码环境切换
|
||
- **异步任务**:避免Serverless超时(30秒)
|
||
- **数据库连接池**:防止连接数耗尽
|
||
- **详细规范**:[云原生开发规范](../04-开发规范/08-云原生开发规范.md) ⭐ **必读**
|
||
|
||
### 2. 模块化与独立部署 🔧
|
||
- **前后端分离**:每个模块前后端完全独立
|
||
- **Schema隔离**:数据库层面模块隔离(10个Schema)
|
||
- **路由独立**:每个模块有独立的API路由前缀
|
||
- **支持独立销售**:任何模块都可独立打包
|
||
|
||
### 3. 商业模式灵活性 💰
|
||
- **4种部署形态**:云端SaaS、私有化部署、单机版、混合部署
|
||
- **多版本支持**:专业版/高级版/旗舰版(Feature Flag控制)
|
||
- **AI成本可控**:动态切换LLM模型
|
||
- **模块化售卖**:任何模块都可独立销售
|
||
|
||
### 4. 渐进式演进 📈
|
||
- **新旧并存**:Frontend-v2(新)+ Frontend(旧保留)
|
||
- **增量改造**:Legacy模块保持稳定,新模块标准化
|
||
- **Just-in-time**:聚焦当前,架构预留,避免过度设计
|
||
|
||
---
|
||
|
||
## 📅 开发时间线
|
||
|
||
| 时间 | 阶段 | 主要成果 |
|
||
|------|------|---------|
|
||
| **2025-11-12** | Week 1 | ✅ 数据库Schema隔离(10个Schema) |
|
||
| **2025-11-13~14** | Week 2 | ✅ 前端模块化架构 + 后端分层 |
|
||
| **2025-11-17** | Week 2+ | ✅ 平台基础设施(8个核心模块) |
|
||
| **2025-11-18~21** | Week 3~4 | ✅ ASL标题摘要初筛MVP |
|
||
| **2025-11-22~23** | ASL Day 2-5 | ✅ ASL全文复筛后端完成 |
|
||
| **2025-11-26~27** | DC Day 2-3 | ✅ DC工具B健康检查+模板管理 |
|
||
| **2025-11-28** | DC Day 4-8 | ✅ DC Tool C MVP + UX重大改进完成 |
|
||
| **2025-12-13** | 架构优化 | ✅ Postgres-Only架构改造完成 |
|
||
| **2025-12-24 上午** | **部署启动** 🚀 | ✅ PostgreSQL数据迁移 + 前端/Python镜像推送ACR |
|
||
| **2025-12-24 下午** | **后端镜像构建** 🎉 | ✅ Node.js后端镜像构建成功(修复200+TS错误) |
|
||
| **2025-12-31** | **IIT Agent启动** 🎯 | ✅ Day 1完成(数据库+企微配置+模块骨架) |
|
||
| **2026-01-01** | **企微可信域名** 🌐 | ✅ iit.xunzhengyixue.com域名验证完成 |
|
||
| **2026-01-02** | **REDCap对接方案** 🏆 | ✅ REDCap环境部署 + DET+REST API方案确定 |
|
||
| **2026-01-07 上午** | **PKB前端V3** 🎉 | ✅ PKB模块前端V3设计实现完成(Dashboard+Workspace+3种工作模式) |
|
||
| **2026-01-07 下午** | **PKB批处理完善** 🏆 | ✅ 批处理完整流程调试通过(执行+进度+结果导出)+ 文档上传功能 + UI优化 |
|
||
| **2026-01-19** | **pgvector集成** 🎉 | ✅ pgvector 0.8.1 安装成功,PKB RAG基础设施就绪 |
|
||
| **2026-01-21** | **🎉 Dify替换完成** | ✅ PKB 成功替换 Dify,完全使用自研 pgvector RAG 引擎 |
|
||
| **2026-01-22** | **🆕 OSS存储集成** | ✅ 阿里云OSS接入,PKB文档存储云端化,建立存储开发规范 |
|
||
| **2026-02-22** | **SSA Phase I-IV 完成** 🎉 | ✅ Session黑板+意图路由+对话LLM+方法咨询+QPER集成,E2E 107/107 |
|
||
| **当前** | **PKB模块生产可用** | ✅ 核心功能全部实现(95%),自研RAG+OSS存储上线 |
|
||
| **2026-01-07 晚** | **RVW模块开发完成** 🎉 | ✅ Phase 1-3完成(后端迁移+数据库扩展+前端重构) |
|
||
|
||
---
|
||
|
||
## 🎯 下一步计划
|
||
|
||
### 🔥 最高优先级(当前)- 部署到生产环境
|
||
1. ✅ **Python微服务部署到SAE** - 已完成
|
||
- ✅ 创建SAE应用(轻量版)
|
||
- ✅ 配置环境变量(OSS、数据库)
|
||
- ✅ 健康检查验证
|
||
- ✅ 获取内网地址:`http://172.17.173.66:8000`
|
||
|
||
2. ✅ **Node.js后端Docker镜像构建** - 已完成
|
||
- ✅ Prisma反向同步(32个模型)
|
||
- ✅ 手动补全Prisma关系字段(30+个)
|
||
- ✅ 修复TypeScript编译错误(200+ → 0)
|
||
- ✅ 创建Dockerfile(改进版方案B)
|
||
- ✅ 构建并推送到ACR(838MB镜像)
|
||
|
||
3. ⏳ **Node.js后端部署到SAE** - 待执行
|
||
- [ ] 创建SAE应用(1核2GB,测试环境)
|
||
- [ ] 配置ACR镜像拉取认证
|
||
- [ ] 配置环境变量(数据库、Python服务、OSS、LLM API)
|
||
- [ ] 健康检查验证
|
||
- [ ] 获取内网地址
|
||
|
||
3. **Node.js后端部署到SAE**
|
||
- 创建SAE应用(2核4GB)
|
||
- 配置环境变量(DATABASE_URL、OSS等)
|
||
- 配置Python微服务内网地址
|
||
- 健康检查验证
|
||
|
||
4. **前端Nginx部署到SAE**
|
||
- 创建SAE应用(1核2GB)
|
||
- 配置后端API内网地址
|
||
- 公网域名绑定
|
||
- SSL证书配置
|
||
|
||
5. **全链路验证测试**
|
||
- 前端→Node.js后端→Python微服务→RDS
|
||
- ASL文献筛选完整流程
|
||
- DC数据清洗完整流程
|
||
- 性能和稳定性测试
|
||
|
||
### 短期(1-2周)- 功能完善
|
||
6. **ASL全文复筛前端**(Day 6-8)
|
||
- 4个核心页面:设置、进度、工作台、结果
|
||
- PDF上传和预览功能
|
||
- 双模型判断对比UI
|
||
- 实时进度监控
|
||
|
||
7. **DC工具B前端开发**
|
||
- 健康检查界面
|
||
- 模板管理界面
|
||
- 批量提取界面
|
||
- 冲突解决界面
|
||
|
||
### 中期(1-2月)- 模块完善
|
||
8. DC模块完整实现(工具A、Portal优化)
|
||
9. ASL模块优化(Prompt优化、并发处理)
|
||
10. 监控和告警系统配置
|
||
11. CI/CD流程建立
|
||
|
||
### 长期(3月+)- 新模块开发
|
||
12. SSA模块(智能统计分析)
|
||
13. ST模块(统计分析工具)
|
||
14. RVW模块(稿件审查系统)
|
||
|
||
---
|
||
|
||
## 📚 重要文档索引
|
||
|
||
### 🎯 必读文档(新AI助手)
|
||
1. ⭐⭐⭐ **本文档** - 系统当前状态
|
||
2. ⭐⭐⭐ [前后端模块化架构设计-V2.md](./前后端模块化架构设计-V2.md) - 架构总纲
|
||
3. ⭐⭐⭐ [云原生开发规范.md](../04-开发规范/08-云原生开发规范.md) - 开发规范(必读)
|
||
4. 🔴⭐⭐⭐ [数据库开发规范.md](../04-开发规范/09-数据库开发规范.md) - **数据库操作安全(必读!)**
|
||
5. ⭐⭐ [01-系统架构分层设计.md](./01-系统架构分层设计.md) - 三层架构详解
|
||
6. ⭐⭐ [09-总体需求文档(PRD).md](./09-总体需求文档\(PRD\).md) - 产品需求
|
||
|
||
### 🚀 当前开发相关
|
||
- [ASL模块当前状态](../03-业务模块/ASL-AI智能文献/00-模块当前状态与开发指南.md)
|
||
- [DC模块README](../03-业务模块/DC-数据清洗整理/README.md)
|
||
- [DC Day3完成总结](../03-业务模块/DC-数据清洗整理/06-开发记录/Day3完成总结.md)
|
||
|
||
### 🚀 部署文档(新增)
|
||
- ⭐ [00-部署进度总览.md](../05-部署文档/00-部署进度总览.md) - **一站式部署状态查看**
|
||
- [01-快速部署SOP-零基础版.md](../05-部署文档/01-快速部署SOP-零基础版.md) - 完整部署流程
|
||
- [07-前端Nginx-SAE部署操作手册.md](../05-部署文档/07-前端Nginx-SAE部署操作手册.md)
|
||
- [08-PostgreSQL数据库部署操作手册.md](../05-部署文档/08-PostgreSQL数据库部署操作手册.md)
|
||
|
||
### 🏗️ 架构设计
|
||
- [平台基础设施规划](../09-架构实施/04-平台基础设施规划.md)
|
||
- [云原生部署架构指南](../09-架构实施/03-云原生部署架构指南.md)
|
||
- [数据库设计规范](../04-开发规范/01-数据库设计规范.md)
|
||
|
||
---
|
||
|
||
## 🔧 开发环境
|
||
|
||
### 环境要求
|
||
```
|
||
Node.js: v22.18.0+
|
||
PostgreSQL: 15+(当前使用15.14,Docker镜像: pgvector/pgvector:pg15)
|
||
pgvector: 0.8.1(向量数据库扩展)
|
||
npm: 10+
|
||
```
|
||
|
||
### 快速启动
|
||
|
||
**后端**:
|
||
```bash
|
||
cd backend
|
||
npm install
|
||
npx prisma generate
|
||
npm run dev # http://localhost:3001
|
||
```
|
||
|
||
**前端**:
|
||
```bash
|
||
cd frontend-v2
|
||
npm install
|
||
npm run dev # http://localhost:3000
|
||
```
|
||
|
||
### 环境变量配置
|
||
参考:[环境配置指南](../07-运维文档/01-环境配置指南.md)
|
||
|
||
---
|
||
|
||
## ⚠️ 重要注意事项
|
||
|
||
### 对新AI助手
|
||
1. ✅ **优先阅读云原生开发规范**:所有代码必须遵守
|
||
2. ✅ **使用平台基础设施**:不要重复实现存储、日志、缓存等
|
||
3. ✅ **遵循Schema隔离**:每个模块的表必须在对应的Schema中
|
||
4. ✅ **查看最新开发记录**:了解当前开发状态和已知问题
|
||
|
||
### 常见陷阱
|
||
1. ❌ **不要在业务模块中自己实现存储**:使用 `import { storage } from '@/common/storage'`
|
||
2. ❌ **不要硬编码配置**:使用环境变量
|
||
3. ❌ **不要依赖本地文件系统**:使用OSS或内存处理
|
||
4. ❌ **不要创建新的Prisma实例**:使用全局 `prisma` 实例
|
||
|
||
### 🔴 数据库操作安全(2026-01-11 事故教训)
|
||
|
||
> ⚠️ **严重警告**:2026-01-11 因误用 `prisma db push --force-reset` 导致数据库事故,详见 [事故总结报告](../08-项目管理/2026-01-11-数据库事故总结.md)
|
||
|
||
**禁止使用的危险命令:**
|
||
| 命令 | 危险等级 | 说明 |
|
||
|------|----------|------|
|
||
| `prisma db push --force-reset` | 🔴 **极高** | 会删除所有数据和非Prisma管理的对象 |
|
||
| `prisma migrate reset` | 🔴 **极高** | 重置整个数据库 |
|
||
|
||
**必须遵守的规范:**
|
||
1. ✅ **操作前必须备份**:`docker exec ai-clinical-postgres pg_dump -U postgres -d ai_clinical_research > backup.sql`
|
||
2. ✅ **使用安全命令**:`prisma migrate dev`(开发)或 `prisma migrate deploy`(生产)
|
||
3. ✅ **了解 Prisma 管理边界**:pg-boss 的 `job_common` 表和函数不由 Prisma 管理
|
||
|
||
**Prisma 不管理的对象(需手动恢复):**
|
||
- `platform_schema.job_common` 表 → 恢复脚本:`restore_job_common.sql`
|
||
- `platform_schema.create_queue()` 函数 → 恢复脚本:`restore_pgboss_functions.sql`
|
||
- `platform_schema.delete_queue()` 函数
|
||
|
||
📚 **完整规范**:[数据库开发规范](../04-开发规范/09-数据库开发规范.md)
|
||
|
||
---
|
||
|
||
## 📊 项目统计
|
||
|
||
### 代码量
|
||
- **前端**:约 15,000 行(TypeScript + TSX)
|
||
- **后端**:约 20,000 行(TypeScript)
|
||
- **文档**:约 50,000 行(Markdown)
|
||
- **总计**:约 85,000 行
|
||
|
||
### 模块完成度
|
||
- ✅ **已完成**:AIA V2.0(85%,核心功能完成)、平台基础层(100%)、RVW(95%)、通用能力层升级(100%)、**PKB(95%,Dify已替换)** 🎉
|
||
- 🚧 **开发中**:**ASL(80%,🎉 V2.0 核心功能完成:SSE流式+瀑布流UI+HITL+Word导出+中文数据源)**、DC(Tool C 98%,Tool B后端100%,Tool B前端0%)、IIT(60%,Phase 1.5完成)、**SSA(QPER主线100% + Phase I-IV 全部完成,E2E 107/107,Phase VI 待启动)** 🎉
|
||
- 📋 **未开始**:ST
|
||
|
||
### 部署完成度
|
||
- ✅ **基础设施**:VPC(100%)、NAT网关(100%)、安全组(100%)
|
||
- ✅ **数据存储**:RDS PostgreSQL(100%)、OSS(100%)
|
||
- ✅ **容器镜像**:前端Nginx(100%)、Python微服务(100%)、Node.js后端(100%)✨ 新增!
|
||
- ✅ **SAE应用**:Python微服务(100%,已运行)、Node.js后端(镜像已推送,待部署)、前端Nginx(待部署)
|
||
- 📋 **验证测试**:全链路测试(待进行)
|
||
|
||
### 测试覆盖率
|
||
- **平台基础层**:100%(8/8模块全部通过)
|
||
- **通用能力层**:100%(StreamingService + Chat组件V2)
|
||
- **AIA模块 V2.0**:流式响应测试通过 ✅
|
||
- **PKB模块**:手动测试通过
|
||
- **ASL模块**:部分自动化测试(31个REST Client测试用例)
|
||
- **SSA模块**:E2E 107/107 通过 ✅(Phase I 31 + Phase II 38 + Phase III 13 + Phase IV 25)
|
||
- **DC模块**:开发中
|
||
|
||
---
|
||
|
||
## 🏆 Postgres-Only 架构(2025-12-13 重大创新)
|
||
|
||
### 核心理念
|
||
|
||
**Platform-Only 模式**:所有平台级功能(缓存、队列、任务管理)统一在 Platform 层实现,业务层只关注业务逻辑。
|
||
|
||
### 架构演进
|
||
|
||
```
|
||
改造前:
|
||
业务层 (分散)
|
||
├── ASL: 任务管理字段 (6个)
|
||
└── DC: 任务管理字段 (6个)
|
||
❌ 代码重复
|
||
❌ 维护困难
|
||
|
||
改造后(Platform-Only):
|
||
平台层 (统一)
|
||
├── platform_schema.job.data (pg-boss)
|
||
│ └── 所有任务管理信息
|
||
└── CheckpointService (通用)
|
||
└── 操作 job.data,所有模块复用
|
||
|
||
业务层 (简洁)
|
||
├── ASL: 只存储业务信息
|
||
└── DC: 只存储业务信息
|
||
✅ 无重复
|
||
✅ 易维护
|
||
✅ 符合3层架构
|
||
```
|
||
|
||
### 核心组件
|
||
|
||
| 组件 | 位置 | 功能 | 通用性 |
|
||
|------|------|------|--------|
|
||
| **PostgresCacheAdapter** | `common/cache/` | Postgres 缓存 | ✅ 所有模块 |
|
||
| **PgBossQueue** | `common/jobs/` | pg-boss 队列封装 | ✅ 所有模块 |
|
||
| **CheckpointService** | `common/jobs/` | 操作 job.data | ✅ 所有模块 |
|
||
| **任务拆分工具** | `common/jobs/utils.ts` | 智能拆分批次 | ✅ 所有模块 |
|
||
|
||
### 智能双模式处理
|
||
|
||
```typescript
|
||
const QUEUE_THRESHOLD = 50;
|
||
|
||
if (items.length >= 50) {
|
||
// 队列模式:可靠性优先
|
||
- 任务拆分(50条/批)
|
||
- 断点续传(每10条保存)
|
||
- 自动重试(3次)
|
||
- 支持24小时长任务
|
||
} else {
|
||
// 直接模式:性能优先
|
||
- 快速响应(<1分钟)
|
||
- 无队列延迟
|
||
- 适合小任务
|
||
}
|
||
```
|
||
|
||
### 技术亮点
|
||
|
||
1. **Platform-Only 模式**(首创)
|
||
- 利用 pg-boss 的 `job.data` 字段统一管理
|
||
- 业务表保持简洁,只存储业务信息
|
||
- CheckpointService 真正做到平台级通用
|
||
|
||
2. **智能阈值判断**
|
||
- 根据数据量自动选择处理模式
|
||
- 性能与可靠性的完美平衡
|
||
- 用户体验优化
|
||
|
||
3. **零额外成本**
|
||
- 不引入 Redis(年省¥8400)
|
||
- 使用已有 Postgres 实现缓存和队列
|
||
- 适合小团队快速迭代
|
||
|
||
4. **企业级可靠性**
|
||
- 断点续传:任务中断后可恢复
|
||
- 自动重试:失败任务重试3次
|
||
- 并发处理:支持多实例并行
|
||
- 长任务支持:可运行24小时
|
||
|
||
### 适用模块
|
||
|
||
- ✅ ASL 筛选服务(已改造)
|
||
- ✅ DC 提取服务(已改造)
|
||
- 📋 SSA 统计分析(未来)
|
||
- 📋 RVW 文献综述(未来)
|
||
|
||
### 详细文档
|
||
|
||
- [Postgres-Only 改造实施计划](../07-运维文档/09-Postgres-Only改造实施计划(完整版).md)
|
||
- [Postgres-Only 全能架构解决方案](../07-运维文档/08-Postgres-Only 全能架构解决方案.md)
|
||
- [工作总结(2025-12-13)](../08-项目管理/03-每周计划/2025-12-13-Postgres-Only架构改造完成.md)
|
||
|
||
---
|
||
|
||
## 🌟 技术亮点
|
||
|
||
1. ✅ **Platform-Only 架构**:统一任务管理,零代码重复 🏆
|
||
2. ✅ **智能双模式处理**:小任务快速响应,大任务可靠执行 🏆
|
||
3. ✅ **🎉 Dify 成功替换!自研 RAG 引擎生产上线!** 🏆 **2026-01-21**
|
||
- ✅ **彻底移除 Dify 依赖**:PKB 模块完全使用自研 pgvector 引擎
|
||
- pgvector 向量检索 + DeepSeek V3 查询理解 + qwen3-rerank 重排序
|
||
- 跨语言支持:中文查询匹配英文文档(准确率 +20.5%)
|
||
4. ✅ **🆕 OSS 存储集成完成!** 🏆 **2026-01-22**
|
||
- ✅ **阿里云 OSS 接入**:4个 Bucket(生产/开发 × 数据/静态)
|
||
- ✅ **存储适配器架构**:OSSAdapter + LocalAdapter,支持云端和私有化部署
|
||
- ✅ **PKB 集成**:文档存储云端化,目录结构规范化
|
||
- ✅ **开发规范建立**:`11-OSS存储开发规范.md`
|
||
- Brain-Hand 架构:业务层思考,引擎层执行
|
||
- 成本:¥0.0025/次,延迟:2.5秒
|
||
4. ✅ **适配器模式**:存储/缓存/日志支持本地↔云端零代码切换
|
||
5. ✅ **13个Schema隔离**:架构一次到位(新增 ekb_schema)
|
||
6. ✅ **Prisma自动路由**:Schema迁移后,代码无需修改
|
||
7. ✅ **4个LLM集成**:DeepSeek、Qwen、GPT、Claude
|
||
8. ✅ **增量演进**:新旧并存,降低风险
|
||
9. ✅ **云原生就绪**:为SAE部署做好准备
|
||
|
||
---
|
||
|
||
## 📞 联系方式
|
||
|
||
- **项目负责人**:技术架构师
|
||
- **文档维护**:开发团队
|
||
- **问题反馈**:GitHub Issues
|
||
|
||
---
|
||
|
||
**文档版本**:v6.1
|
||
**最后更新**:2026-02-23
|
||
**本次更新**:ASL Deep Research V2.0 核心功能完成(SSE流式+段落化思考+引用链接可见化+瀑布流UI+Word导出+中文数据源)
|
||
|
||
---
|
||
|
||
**🎉 祝新的AI助手工作顺利!所有信息已梳理完毕,可以无缝衔接!**
|
||
|
||
---
|
||
|
||
## 📝 最新更新(2026-01-07)
|
||
|
||
**PKB模块核心功能全部实现 🎉**:
|
||
|
||
### 上午:前端V3设计实现
|
||
1. ✅ **后端模块迁移**:迁移到 /modules/pkb,v2 API路由注册
|
||
2. ✅ **Dashboard页面**:基于知识库仪表盘V5原型实现
|
||
3. ✅ **Workspace页面**:基于工作台V3原型实现
|
||
|
||
### 下午:批处理完整流程验证通过
|
||
4. ✅ **三种工作模式**:全文阅读、逐篇精读、批处理全部实现
|
||
5. ✅ **批处理功能**:
|
||
- 模板选择(临床研究信息提取,8个字段)
|
||
- 文档选择(3-50篇)
|
||
- 实时进度显示
|
||
- 结果表格(多行显示+Tooltip)
|
||
- CSV导出
|
||
6. ✅ **Chat组件集成**:Ant Design X,支持流式响应和自定义渲染
|
||
7. ✅ **文档上传功能**:拖拽上传 + 进度显示 + Modal弹窗
|
||
8. ✅ **UI优化**:参考文献格式化、表格多行显示、输入框清除、自动滚动
|
||
|
||
### 技术亮点
|
||
- **问题解决**:修复10+个技术问题(API路径、字段映射、状态同步等)
|
||
- **性能优化**:批处理3篇文档~17-28秒
|
||
- **用户体验**:严格按照原型图实现,界面美观易用
|
||
|
||
### 里程碑意义
|
||
**PKB模块已具备生产环境可用性**,为后续功能扩展奠定坚实基础!
|
||
4. ✅ **3种工作模式**:全文阅读、逐篇精读、批处理
|
||
5. ✅ **Chat组件集成**:复用Ant Design X通用Chat组件
|
||
6. ✅ **响应式布局**:单层Header + 紧凑工作模式栏 + 最大化聊天区域
|
||
|
||
**技术亮点**:
|
||
- 🔥 **模块化架构**:前后端完整迁移到新架构
|
||
- 🔥 **复用通用组件**:shared/components/Chat
|
||
- 🔥 **Zustand状态管理**:轻量级状态管理
|
||
- 🔥 **双路由兼容**:v1 + v2 API同时运行
|
||
|
||
**待解决问题**:
|
||
- 🔧 批处理API执行待调试
|
||
- 🔧 知识资产页面导航条待完善
|
||
- 🔧 UI与原型图精细化对比
|
||
|
||
**模块进度**:75%完成
|
||
|
||
---
|
||
|
||
**IIT Manager Agent Phase 1.5 完成(2026-01-03)**:
|
||
- ✅ AI对话集成完成:ChatService + SessionMemory
|
||
- ✅ REDCap数据查询集成:意图识别 + 数据注入LLM
|
||
- ✅ 解决LLM幻觉问题:AI基于真实数据回答
|
||
- ✅ 测试通过:查询test0102项目,ID 7患者详细信息
|
||
|
||
**模块进度**:60%完成(Phase 1.5)
|
||
|
||
---
|
||
|
||
**RVW稿件审查模块开发完成(2026-01-07 ~ 2026-01-10)**:
|
||
|
||
### Phase 1:后端模块迁移与扩展
|
||
- ✅ 创建 `backend/src/modules/rvw/` 模块结构
|
||
- ✅ 迁移 reviewService、editorialService、methodologyService
|
||
- ✅ 实现智能体选择(selectedAgents)
|
||
- ✅ 实现批量运行API(batchRunReviewTasks)
|
||
- ✅ 替换 console.log 为 logger 服务
|
||
- ✅ 注册 v2 API路由(/api/v2/rvw)
|
||
- ✅ 实现 pg-boss 异步任务处理(reviewWorker)
|
||
|
||
### Phase 2:数据库字段扩展
|
||
- ✅ 添加 selectedAgents、editorialScore、methodologyScore、methodologyStatus 字段
|
||
- ✅ 添加 picoExtract、isArchived、archivedAt 字段
|
||
- ✅ 使用 prisma db push 同步到数据库
|
||
|
||
### Phase 3:前端重构(frontend-v2)
|
||
- ✅ 创建 `frontend-v2/src/modules/rvw/` 完整模块目录结构
|
||
- ✅ 实现 Dashboard 页面(任务列表、筛选、批量操作)
|
||
- ✅ 实现 TaskDetail 组件(审稿进度条、实时状态轮询)
|
||
- ✅ 实现 EditorialReport/MethodologyReport 组件
|
||
- ✅ 实现 AgentModal 组件(智能体选择弹窗)
|
||
- ✅ 注册到 moduleRegistry.ts
|
||
|
||
### Phase 4:集成测试与Bug修复(2026-01-10)
|
||
- ✅ 修复方法学分数不显示问题
|
||
- ✅ 修复只选方法学时详情页不显示报告问题
|
||
- ✅ 完整测试单智能体和双智能体审稿流程
|
||
|
||
### Phase 5:报告导出(2026-01-10)
|
||
- ✅ 安装 docx 和 file-saver 库
|
||
- ✅ 实现 Word 文档导出功能
|
||
- ✅ 支持结构化报告(标题、基本信息、稿约规范性、方法学评估)
|
||
|
||
### Phase 6:Schema隔离迁移(2026-01-10)
|
||
- ✅ 将 review_tasks 表从 public 迁移到 rvw_schema
|
||
- ✅ 更新 Prisma schema 中的 @@schema 指令
|
||
- ✅ 重新生成 Prisma Client
|
||
- ✅ 验证所有查询和关联正常工作
|
||
|
||
**技术亮点**:
|
||
- 🔥 **新旧API兼容**:v1 + v2 API同时运行
|
||
- 🔥 **智能体可选**:用户可选择运行稿约规范性/方法学/两者
|
||
- 🔥 **异步任务处理**:使用 pg-boss 队列处理长时间审稿任务
|
||
- 🔥 **Word导出**:使用 docx 库生成专业格式的审稿报告
|
||
- 🔥 **Schema隔离**:数据库表已迁移到独立的 rvw_schema
|
||
- 🔥 **云原生改造**:使用 logger 服务,遵循开发规范
|
||
|
||
**模块进度**:95%完成(Phase 1-6)
|