Summary: - Deploy REDCap 15.8.0 on ECS with Docker CE 26.1.3 - Configure RDS MySQL 8.0 database (redcap_prod) - Setup Nginx reverse proxy with HTTPS/SSL - Domain configured: https://redcap.xunzhengyixue.com/ Documentation: - Add ECS deployment guide - Add deployment info record - Update system status document (v4.5 -> v4.6) Status: REDCap production environment fully operational Co-authored-by: Cursor <cursoragent@cursor.com>
69 KiB
AIclinicalresearch 系统当前状态与开发指南
文档版本: v4.6
创建日期: 2025-11-28
维护者: 开发团队
最后更新: 2026-02-02
🎉 重大里程碑:
- 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 正式接入平台基础层
- 2026-01-21:成功替换 Dify! PKB 模块完全使用自研 pgvector RAG 引擎
最新进展(REDCap 生产环境部署 2026-02-02):
- ✅ ECS 服务器配置:Docker CE 26.1.3 + Docker Compose v2.27.0
- ✅ RDS MySQL 配置:redcap_prod 数据库 + utf8mb4 字符集
- ✅ REDCap 15.8.0 部署:Docker 容器化部署,数据库初始化完成
- ✅ HTTPS 配置:Nginx 反向代理 + 阿里云 SSL 证书
- ✅ 域名配置:https://redcap.xunzhengyixue.com/ 正式上线
部署状态: ✅ 生产环境运行中 | 公网地址:http://8.140.53.236/
REDCap 状态: ✅ 生产环境运行中 | 地址:https://redcap.xunzhengyixue.com/
文档目的: 快速了解系统当前状态,为新AI助手提供上下文
📋 快速导航
🎯 如果您是新的AI助手,请优先阅读:
- 本文档(5分钟) - 了解系统当前状态
- 前后端模块化架构设计-V2.md(15分钟) - 了解技术架构
- [AI对接] 快速上下文.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智能文献 | 文献筛选、Meta分析、证据图谱 | ⭐⭐⭐⭐⭐ | 🎉 智能检索MVP完成(60%) - DeepSearch集成 | P0 |
| DC | 数据清洗整理 | ETL + 医学NER(百万行级数据) | ⭐⭐⭐⭐⭐ | ✅ Tool B完成 + Tool C 99%(异步架构+性能优化-99%+多指标转换+7大功能) | P0 |
| IIT | IIT Manager Agent | AI驱动IIT研究助手 - 智能质控+REDCap集成 | ⭐⭐⭐⭐⭐ | 🎉 Phase 2.0(65%)- AI对话+REDCap生产环境部署完成 | P0 |
| SSA | 智能统计分析 | 队列/预测模型/RCT分析 | ⭐⭐⭐⭐⭐ | 📋 规划中 | P2 |
| ST | 统计分析工具 | 100+轻量化统计工具 | ⭐⭐⭐⭐ | 📋 规划中 | P2 |
| RVW | 稿件审查系统 | 方法学评估、审稿流程、Word导出 | ⭐⭐⭐⭐ | ✅ 开发完成(95%) | P3 |
| 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 查询理解) │
│ 前端: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倍性能提升)
- 13个Schema隔离(platform/aia/pkb/asl/dc/iit/ssa/st/rvw/admin/common/capability/ekb ✅ 2026-01-21新增)
云原生部署:
- 阿里云 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-01-25)
🎉 最新进展: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.tsxfrontend-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 引擎使用指南
- 📖 数据模型设计
- 📖 pgvector替换Dify计划
🏆 历史进展: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- 兜底 Promptbackend/src/modules/aia/services/agentService.ts- 集成 PromptServicebackend/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- 会话列表组件 - ✅
useAIStreamHook - 流式响应处理 - ✅
useConversationsHook - 会话管理 - ✅ 现代感样式(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个智能体:
- 选题优化(3个):科学问题梳理、PICO梳理、选题评价
- 方案设计(4个):观察指标、CRF设计、样本量计算、方案撰写
- 方案预评审(1个):方法学评审
- 数据与统计(2个):数据预处理、统计分析(工具类,跳转DC)
- 写作助手(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模块状态与开发指南
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模块当前状态
🚧 正在开发模块
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模块当前状态
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模块当前状态
🚀 IIT Manager Agent(代号:IIT,2025-12-31启动)
定位:AI驱动的IIT(研究者发起的临床研究)智能助手
核心价值:
- 🎯 主动工作的AI Agent - 不是被动工具,而是24/7主动监控的智能助手
- 🎯 REDCap深度集成 - 与医院现有EDC系统无缝对接
- 🎯 影子状态机制 - AI建议+人类确权,符合医疗合规要求(FDA 21 CFR Part 11)
- 🎯 企业微信实时通知 - 质控预警秒级推送,移动端查看
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 技术验证:
# 数据库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对接技术方案与实施指南 - Day 2核心参考
- IIT Manager Agent 完整技术开发方案 (V1.1)
- IIT Manager Agent 模块当前状态与开发指南
- MVP开发任务清单
- 企业微信注册指南
- REDCap Docker部署操作手册
- REDCap二次开发深度指南
🚀 阿里云生产环境部署状态(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
- 实例ID:
-
✅ OSS对象存储
- Bucket:
ai-clinical-research - 存储类型: 标准存储(同城冗余)
- 内网域名:
ai-clinical-research.oss-cn-beijing-internal.aliyuncs.com - RAM用户:
oss-bucket-put-object@1991407246109125.onaliyun.com - AccessKey: 已配置(不公开)
- Bucket:
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 - 🎯 一站式部署状态查看
操作手册:
- 07-前端Nginx-SAE部署操作手册.md
- 08-PostgreSQL数据库部署操作手册.md
- Python微服务SAE部署操作手册(待创建)
技术指南:
🎯 部署关键成就
-
PostgreSQL数据迁移 ✅
- 采用
pg_dump全量导出/导入方案 - 11个Schema完整迁移
- 数据一致性验证通过
- 安全加固(外网访问已关闭)
- 采用
-
前端Nginx镜像优化 ✅
- 解决Docker Hub网络问题(使用通用标签)
- 修复30个TypeScript编译错误
- 多阶段构建优化
- 健康检查通过
-
Python微服务镜像优化 ✅
- 移除Nougat OCR(减小1.5GB)
- 使用阿里云Debian镜像源(解决apt-get网络问题)
- 保留数据清洗功能(pandas/numpy/polars)
- 运行时依赖优化(libgl1、libglib2.0)
-
镜像配置文件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秒)
- 数据库连接池:防止连接数耗尽
- 详细规范:云原生开发规范 ⭐ 必读
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文档存储云端化,建立存储开发规范 |
| 当前 | PKB模块生产可用 | ✅ 核心功能全部实现(95%),自研RAG+OSS存储上线 |
| 2026-01-07 晚 | RVW模块开发完成 🎉 | ✅ Phase 1-3完成(后端迁移+数据库扩展+前端重构) |
🎯 下一步计划
🔥 最高优先级(当前)- 部署到生产环境
-
✅ Python微服务部署到SAE - 已完成
- ✅ 创建SAE应用(轻量版)
- ✅ 配置环境变量(OSS、数据库)
- ✅ 健康检查验证
- ✅ 获取内网地址:
http://172.17.173.66:8000
-
✅ Node.js后端Docker镜像构建 - 已完成
- ✅ Prisma反向同步(32个模型)
- ✅ 手动补全Prisma关系字段(30+个)
- ✅ 修复TypeScript编译错误(200+ → 0)
- ✅ 创建Dockerfile(改进版方案B)
- ✅ 构建并推送到ACR(838MB镜像)
-
⏳ Node.js后端部署到SAE - 待执行
- 创建SAE应用(1核2GB,测试环境)
- 配置ACR镜像拉取认证
- 配置环境变量(数据库、Python服务、OSS、LLM API)
- 健康检查验证
- 获取内网地址
-
Node.js后端部署到SAE
- 创建SAE应用(2核4GB)
- 配置环境变量(DATABASE_URL、OSS等)
- 配置Python微服务内网地址
- 健康检查验证
-
前端Nginx部署到SAE
- 创建SAE应用(1核2GB)
- 配置后端API内网地址
- 公网域名绑定
- SSL证书配置
-
全链路验证测试
- 前端→Node.js后端→Python微服务→RDS
- ASL文献筛选完整流程
- DC数据清洗完整流程
- 性能和稳定性测试
短期(1-2周)- 功能完善
-
ASL全文复筛前端(Day 6-8)
- 4个核心页面:设置、进度、工作台、结果
- PDF上传和预览功能
- 双模型判断对比UI
- 实时进度监控
-
DC工具B前端开发
- 健康检查界面
- 模板管理界面
- 批量提取界面
- 冲突解决界面
中期(1-2月)- 模块完善
- DC模块完整实现(工具A、Portal优化)
- ASL模块优化(Prompt优化、并发处理)
- 监控和告警系统配置
- CI/CD流程建立
长期(3月+)- 新模块开发
- SSA模块(智能统计分析)
- ST模块(统计分析工具)
- RVW模块(稿件审查系统)
📚 重要文档索引
🎯 必读文档(新AI助手)
- ⭐⭐⭐ 本文档 - 系统当前状态
- ⭐⭐⭐ 前后端模块化架构设计-V2.md - 架构总纲
- ⭐⭐⭐ 云原生开发规范.md - 开发规范(必读)
- 🔴⭐⭐⭐ 数据库开发规范.md - 数据库操作安全(必读!)
- ⭐⭐ 01-系统架构分层设计.md - 三层架构详解
- ⭐⭐ 09-总体需求文档(PRD).md - 产品需求
🚀 当前开发相关
🚀 部署文档(新增)
- ⭐ 00-部署进度总览.md - 一站式部署状态查看
- 01-快速部署SOP-零基础版.md - 完整部署流程
- 07-前端Nginx-SAE部署操作手册.md
- 08-PostgreSQL数据库部署操作手册.md
🏗️ 架构设计
🔧 开发环境
环境要求
Node.js: v22.18.0+
PostgreSQL: 15+(当前使用15.14,Docker镜像: pgvector/pgvector:pg15)
pgvector: 0.8.1(向量数据库扩展)
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实例
🔴 数据库操作安全(2026-01-11 事故教训)
⚠️ 严重警告:2026-01-11 因误用
prisma db push --force-reset导致数据库事故,详见 事故总结报告
禁止使用的危险命令:
| 命令 | 危险等级 | 说明 |
|---|---|---|
prisma db push --force-reset |
🔴 极高 | 会删除所有数据和非Prisma管理的对象 |
prisma migrate reset |
🔴 极高 | 重置整个数据库 |
必须遵守的规范:
- ✅ 操作前必须备份:
docker exec ai-clinical-postgres pg_dump -U postgres -d ai_clinical_research > backup.sql - ✅ 使用安全命令:
prisma migrate dev(开发)或prisma migrate deploy(生产) - ✅ 了解 Prisma 管理边界:pg-boss 的
job_common表和函数不由 Prisma 管理
Prisma 不管理的对象(需手动恢复):
platform_schema.job_common表 → 恢复脚本:restore_job_common.sqlplatform_schema.create_queue()函数 → 恢复脚本:restore_pgboss_functions.sqlplatform_schema.delete_queue()函数
📚 完整规范:数据库开发规范
📊 项目统计
代码量
- 前端:约 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%)、DC(Tool C 98%,Tool B后端100%,Tool B前端0%)、IIT(60%,Phase 1.5完成)
- 📋 未开始:SSA、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测试用例)
- 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 |
智能拆分批次 | ✅ 所有模块 |
智能双模式处理
const QUEUE_THRESHOLD = 50;
if (items.length >= 50) {
// 队列模式:可靠性优先
- 任务拆分(50条/批)
- 断点续传(每10条保存)
- 自动重试(3次)
- 支持24小时长任务
} else {
// 直接模式:性能优先
- 快速响应(<1分钟)
- 无队列延迟
- 适合小任务
}
技术亮点
-
Platform-Only 模式(首创)
- 利用 pg-boss 的
job.data字段统一管理 - 业务表保持简洁,只存储业务信息
- CheckpointService 真正做到平台级通用
- 利用 pg-boss 的
-
智能阈值判断
- 根据数据量自动选择处理模式
- 性能与可靠性的完美平衡
- 用户体验优化
-
零额外成本
- 不引入 Redis(年省¥8400)
- 使用已有 Postgres 实现缓存和队列
- 适合小团队快速迭代
-
企业级可靠性
- 断点续传:任务中断后可恢复
- 自动重试:失败任务重试3次
- 并发处理:支持多实例并行
- 长任务支持:可运行24小时
适用模块
- ✅ ASL 筛选服务(已改造)
- ✅ DC 提取服务(已改造)
- 📋 SSA 统计分析(未来)
- 📋 RVW 文献综述(未来)
详细文档
- Postgres-Only 改造实施计划
- [Postgres-Only 全能架构解决方案](../07-运维文档/08-Postgres-Only 全能架构解决方案.md)
- 工作总结(2025-12-13)
🌟 技术亮点
- ✅ Platform-Only 架构:统一任务管理,零代码重复 🏆
- ✅ 智能双模式处理:小任务快速响应,大任务可靠执行 🏆
- ✅ 🎉 Dify 成功替换!自研 RAG 引擎生产上线! 🏆 2026-01-21
- ✅ 彻底移除 Dify 依赖:PKB 模块完全使用自研 pgvector 引擎
- pgvector 向量检索 + DeepSeek V3 查询理解 + qwen3-rerank 重排序
- 跨语言支持:中文查询匹配英文文档(准确率 +20.5%)
- ✅ 🆕 OSS 存储集成完成! 🏆 2026-01-22
- ✅ 阿里云 OSS 接入:4个 Bucket(生产/开发 × 数据/静态)
- ✅ 存储适配器架构:OSSAdapter + LocalAdapter,支持云端和私有化部署
- ✅ PKB 集成:文档存储云端化,目录结构规范化
- ✅ 开发规范建立:
11-OSS存储开发规范.md - Brain-Hand 架构:业务层思考,引擎层执行
- 成本:¥0.0025/次,延迟:2.5秒
- ✅ 适配器模式:存储/缓存/日志支持本地↔云端零代码切换
- ✅ 13个Schema隔离:架构一次到位(新增 ekb_schema)
- ✅ Prisma自动路由:Schema迁移后,代码无需修改
- ✅ 4个LLM集成:DeepSeek、Qwen、GPT、Claude
- ✅ 增量演进:新旧并存,降低风险
- ✅ 云原生就绪:为SAE部署做好准备
📞 联系方式
- 项目负责人:技术架构师
- 文档维护:开发团队
- 问题反馈:GitHub Issues
文档版本:v4.2
最后更新:2026-01-24
本次更新:pg_bigm 扩展安装完成、异步队列安全规范升级
🎉 祝新的AI助手工作顺利!所有信息已梳理完毕,可以无缝衔接!
📝 最新更新(2026-01-07)
PKB模块核心功能全部实现 🎉:
上午:前端V3设计实现
- ✅ 后端模块迁移:迁移到 /modules/pkb,v2 API路由注册
- ✅ Dashboard页面:基于知识库仪表盘V5原型实现
- ✅ Workspace页面:基于工作台V3原型实现
下午:批处理完整流程验证通过
- ✅ 三种工作模式:全文阅读、逐篇精读、批处理全部实现
- ✅ 批处理功能:
- 模板选择(临床研究信息提取,8个字段)
- 文档选择(3-50篇)
- 实时进度显示
- 结果表格(多行显示+Tooltip)
- CSV导出
- ✅ Chat组件集成:Ant Design X,支持流式响应和自定义渲染
- ✅ 文档上传功能:拖拽上传 + 进度显示 + Modal弹窗
- ✅ 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)