Major Changes: - Database: Install pg_bigm/pgvector plugins, create test database - Python service: v1.0 -> v1.1, add pymupdf4llm/openpyxl/pypandoc - Node.js backend: v1.3 -> v1.7, fix pino-pretty and ES Module imports - Frontend: v1.2 -> v1.3, skip TypeScript check for deployment - Code recovery: Restore empty files from local backup Technical Fixes: - Fix pino-pretty error in production (conditional loading) - Fix ES Module import paths (add .js extensions) - Fix OSSAdapter TypeScript errors - Update Prisma Schema (63 models, 16 schemas) - Update environment variables (DATABASE_URL, EXTRACTION_SERVICE_URL, OSS) - Remove deprecated variables (REDIS_URL, DIFY_API_URL, DIFY_API_KEY) Documentation: - Create 0126 deployment folder with 8 documents - Update database development standards v2.0 - Update SAE deployment status records Deployment Status: - PostgreSQL: ai_clinical_research_test with plugins - Python: v1.1 @ 172.17.173.84:8000 - Backend: v1.7 @ 172.17.173.89:3001 - Frontend: v1.3 @ 172.17.173.90:80 Tested: All services running successfully on SAE
14 KiB
14 KiB
AIclinicalresearch 系统当前状态与开发指南
文档版本: v1.0
创建日期: 2025-11-28
维护者: 开发团队
最后更新: 2025-11-28
文档目的: 快速了解系统当前状态,为新AI助手提供上下文
📋 快速导航
🎯 如果您是新的AI助手,请优先阅读:
- 本文档(5分钟) - 了解系统当前状态
- 前后端模块化架构设计-V2.md(15分钟) - 了解技术架构
- [AI对接] 快速上下文.md(10分钟) - 快速上手指南
🎯 项目概述
项目名称
壹证循科技 - AI临床研究平台
核心定位
一个覆盖临床科研全生命周期、AI驱动的一站式智能科研平台
目标用户
- 主要用户:临床医生、研究人员(三甲医院)
- 次要用户:医院科研管理科室、信息中心
- 商业模式:云端SaaS + 私有化部署 + 单机版
📊 业务模块概览(7大核心功能)
| 模块代号 | 模块名称 | 核心功能 | 商业价值 | 当前状态 | 优先级 |
|---|---|---|---|---|---|
| AIA | AI智能问答 | 10+专业智能体(选题评价、PICO梳理等) | ⭐⭐⭐⭐ | ✅ 已完成 | P1 |
| PKB | 个人知识库 | RAG问答、私人文献库 | ⭐⭐⭐ | ✅ 已完成 | P1 |
| ASL | AI智能文献 | 文献筛选、Meta分析、证据图谱 | ⭐⭐⭐⭐⭐ | 🚧 正在开发 | P0 |
| DC | 数据清洗整理 | ETL + 医学NER(百万行级数据) | ⭐⭐⭐⭐⭐ | 🚧 正在开发 | P0 |
| SSA | 智能统计分析 | 队列/预测模型/RCT分析 | ⭐⭐⭐⭐⭐ | 📋 规划中 | P2 |
| ST | 统计分析工具 | 100+轻量化统计工具 | ⭐⭐⭐⭐ | 📋 规划中 | P2 |
| RVW | 稿件审查系统 | 方法学评估、审稿流程 | ⭐⭐⭐⭐ | 📋 规划中 | P3 |
🏗️ 技术架构(三层设计)
架构总览
┌─────────────────────────────────────────────────────────┐
│ 业务模块层 (Product Layer) │
│ AIA | PKB | ASL | DC | SSA | ST | RVW │
│ ✅ ✅ 🚧 🚧 📋 📋 📋 │
└─────────────────────────────────────────────────────────┘
↓ 依赖
┌─────────────────────────────────────────────────────────┐
│ 通用能力层 (Capability Layer) │
│ LLM网关 | 文档处理 | RAG引擎 | ETL引擎 | 医学NLP │
│ ✅ ✅ ✅ 🚧 📋 │
└─────────────────────────────────────────────────────────┘
↓ 依赖
┌─────────────────────────────────────────────────────────┐
│ 平台基础层 (Platform Layer) │
│ 存储 | 日志 | 缓存 | 任务 | 健康检查 | 监控 | 数据库连接池 │
│ ✅ ✅ ✅ ✅ ✅ ✅ ✅ │
└─────────────────────────────────────────────────────────┘
技术栈
前端:
- React 19 + TypeScript 5 + Vite 6
- Ant Design 5 + TailwindCSS 3
- React Query v5 + React Router DOM v6
- 架构: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 16
- 10个Schema隔离(platform/aia/pkb/asl/dc/ssa/st/rvw/admin/common)
云原生部署:
- 阿里云 SAE (Serverless 应用引擎)
- RDS (PostgreSQL) + OSS (对象存储) + Redis (可选)
🚀 当前开发状态(2025-11-28)
✅ 已完成模块
1. 平台基础层(2025-11-17完成)
- ✅ 存储服务(LocalAdapter ↔ OSSAdapter)
- ✅ 日志系统(Winston + 结构化JSON)
- ✅ 缓存服务(Memory ↔ Redis)
- ✅ 异步任务(MemoryQueue ↔ DatabaseQueue)
- ✅ 健康检查(Liveness + Readiness)
- ✅ 监控指标(数据库连接/内存/API)
- ✅ 数据库连接池(Serverless优化)
- ✅ 100%测试通过
2. AIA模块 - AI智能问答(已完成)
- ✅ 10个专业智能体
- ✅ 流式对话 + 非流式对话
- ✅ 知识库模式(RAG检索)
- ✅ 批处理模式
- 状态:生产就绪
3. PKB模块 - 个人知识库(已完成)
- ✅ 知识库CRUD
- ✅ 文档上传(PDF/Word/TXT/MD)
- ✅ RAG问答
- ✅ 批处理任务
- 状态:生产就绪
🚧 正在开发模块
4. ASL模块 - AI智能文献(正在开发)
开发进度:
- ✅ 标题摘要初筛MVP:完整流程(设置→启动→审核→结果→导出)
- ✅ 全文复筛后端:LLM服务、数据库、批处理、API(Day 2-5完成)
- 🚧 全文复筛前端UI:4个核心页面(Day 6-8,预计2.5天)
核心功能:
- 双模型并行筛选(DeepSeek-V3 + Qwen-Max)
- PICOS标准判断
- 12字段结构化提取(全文复筛)
- 医学逻辑验证 + 证据链验证
- Excel批量导出
技术亮点:
- Nougat优先 + PyMuPDF降级(PDF提取)
- 3层JSON解析(容错机制)
- 冲突检测与人工复核
- 云原生存储(零文件落盘)
详细文档:ASL模块当前状态
5. DC模块 - 数据清洗整理(正在开发)
开发进度:
- ✅ Day 2完成:健康检查 + 模板管理基础
- ✅ Day 3完成:HealthCheckService + TemplateService完整实现
- 🚧 Day 4-5:工具B核心功能开发
核心功能:
- 工具A:医疗数据超级合并器(多表JOIN)
- 工具B:病历结构化机器人(医学NER)🚧 当前开发中
- 工具C:科研数据编辑器
- Portal:智能数据清洗工作台
技术亮点:
- Excel内存处理(百万行级)
- LLM驱动的医学实体识别
- 健康检查机制(拦截不合格数据)
- 模板系统(30+预设模板)
详细文档:DC模块README
📁 项目结构概览
AIclinicalresearch/
├── frontend-v2/ # 🌐 前端(React 19 + TS)
│ └── src/
│ ├── framework/ # 框架层(布局、路由、权限)
│ ├── modules/ # 业务模块
│ │ ├── asl/ # ✅ AI智能文献
│ │ ├── aia/ # ✅ AI智能问答
│ │ ├── pkb/ # ✅ 个人知识库
│ │ ├── dc/ # 🚧 数据清洗(开发中)
│ │ └── ...
│ └── shared/ # 共享组件和工具
│
├── backend/ # ⚙️ 后端(Fastify + Prisma)
│ └── src/
│ ├── common/ # ⭐ 平台基础设施(云原生)
│ │ ├── storage/ # 存储抽象层
│ │ ├── logging/ # 日志系统
│ │ ├── cache/ # 缓存服务
│ │ ├── jobs/ # 异步任务
│ │ └── ...
│ ├── legacy/ # 🔸 现有业务代码(稳定)
│ └── modules/ # 🌟 新架构模块
│ ├── asl/ # ✅ AI智能文献
│ └── dc/ # 🚧 数据清洗(开发中)
│
├── docs/ # 📚 文档体系
│ ├── 00-系统总体设计/ # 架构设计
│ ├── 01-平台基础层/ # 平台能力
│ ├── 02-通用能力层/ # LLM、RAG等
│ ├── 03-业务模块/ # 各模块文档
│ ├── 04-开发规范/ # 云原生规范等
│ └── 08-项目管理/ # 计划和进度
│
└── prisma/
└── schema.prisma # 10个Schema定义
🎯 核心设计原则
1. 云原生架构 ☁️
- 无状态应用:不依赖本地文件系统
- 存储抽象层:适配器模式,零代码环境切换
- 异步任务:避免Serverless超时(30秒)
- 数据库连接池:防止连接数耗尽
- 详细规范:云原生开发规范 ⭐ 必读
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 | 当前 | 🚧 ASL全文复筛前端 + DC工具B开发 |
🎯 下一步计划
短期(1-2周)
-
ASL全文复筛前端(Day 6-8)
- 4个核心页面:设置、进度、工作台、结果
- PDF上传和预览功能
- 双模型判断对比UI
- 实时进度监控
-
DC工具B完成(Day 4-7)
- ExtractionService实现
- 批量提取API
- 前端集成和测试
中期(1-2月)
- DC模块完整实现(工具A、工具C、Portal)
- ASL模块优化(Prompt优化、并发处理)
- LLM网关统一抽取
长期(3月+)
- SSA模块(智能统计分析)
- ST模块(统计分析工具)
- RVW模块(稿件审查系统)
📚 重要文档索引
🎯 必读文档(新AI助手)
- ⭐⭐⭐ 本文档 - 系统当前状态
- ⭐⭐⭐ 前后端模块化架构设计-V2.md - 架构总纲
- ⭐⭐⭐ 云原生开发规范.md - 开发规范(必读)
- ⭐⭐ 01-系统架构分层设计.md - 三层架构详解
- ⭐⭐ 09-总体需求文档(PRD).md - 产品需求
🚀 当前开发相关
🏗️ 架构设计
🔧 开发环境
环境要求
Node.js: v22.18.0+
PostgreSQL: 16+
npm: 10+
快速启动
后端:
cd backend
npm install
npx prisma generate
npm run dev # http://localhost:3001
前端:
cd frontend-v2
npm install
npm run dev # http://localhost:3000
环境变量配置
参考:环境配置指南
⚠️ 重要注意事项
对新AI助手
- ✅ 优先阅读云原生开发规范:所有代码必须遵守
- ✅ 使用平台基础设施:不要重复实现存储、日志、缓存等
- ✅ 遵循Schema隔离:每个模块的表必须在对应的Schema中
- ✅ 查看最新开发记录:了解当前开发状态和已知问题
常见陷阱
- ❌ 不要在业务模块中自己实现存储:使用
import { storage } from '@/common/storage' - ❌ 不要硬编码配置:使用环境变量
- ❌ 不要依赖本地文件系统:使用OSS或内存处理
- ❌ 不要创建新的Prisma实例:使用全局
prisma实例
📊 项目统计
代码量
- 前端:约 15,000 行(TypeScript + TSX)
- 后端:约 20,000 行(TypeScript)
- 文档:约 50,000 行(Markdown)
- 总计:约 85,000 行
模块完成度
- ✅ 已完成:AIA(100%)、PKB(100%)、平台基础层(100%)
- 🚧 开发中:ASL(80%)、DC(30%)
- 📋 未开始:SSA、ST、RVW
测试覆盖率
- 平台基础层:100%(8/8模块全部通过)
- AIA模块:手动测试通过
- PKB模块:手动测试通过
- ASL模块:部分自动化测试(31个REST Client测试用例)
- DC模块:开发中
🌟 技术亮点
- ✅ 适配器模式:存储/缓存/日志支持本地↔云端零代码切换
- ✅ 10个Schema一次性完成:架构一次到位
- ✅ Prisma自动路由:Schema迁移后,代码无需修改
- ✅ 4个LLM集成:DeepSeek、Qwen、GPT、Claude
- ✅ 增量演进:新旧并存,降低风险
- ✅ 云原生就绪:为SAE部署做好准备
📞 联系方式
- 项目负责人:技术架构师
- 文档维护:开发团队
- 问题反馈:GitHub Issues
文档版本:v1.0
最后更新:2025-11-28
下次更新:ASL全文复筛前端完成 或 DC工具B完成
🎉 祝新的AI助手工作顺利!所有信息已梳理完毕,可以无缝衔接!