Files
AIclinicalresearch/docs/00-项目概述/文档梳理与差异分析.md
HaHafeng 66255368b7 feat(admin): Add user management and upgrade to module permission system
Features - User Management (Phase 4.1):
- Database: Add user_modules table for fine-grained module permissions
- Database: Add 4 user permissions (view/create/edit/delete) to role_permissions
- Backend: UserService (780 lines) - CRUD with tenant isolation
- Backend: UserController + UserRoutes (648 lines) - 13 API endpoints
- Backend: Batch import users from Excel
- Frontend: UserListPage (412 lines) - list/filter/search/pagination
- Frontend: UserFormPage (341 lines) - create/edit with module config
- Frontend: UserDetailPage (393 lines) - details/tenant/module management
- Frontend: 3 modal components (592 lines) - import/assign/configure
- API: GET/POST/PUT/DELETE /api/admin/users/* endpoints

Architecture Upgrade - Module Permission System:
- Backend: Add getUserModules() method in auth.service
- Backend: Login API returns modules array in user object
- Frontend: AuthContext adds hasModule() method
- Frontend: Navigation filters modules based on user.modules
- Frontend: RouteGuard checks requiredModule instead of requiredVersion
- Frontend: Remove deprecated version-based permission system
- UX: Only show accessible modules in navigation (clean UI)
- UX: Smart redirect after login (avoid 403 for regular users)

Fixes:
- Fix UTF-8 encoding corruption in ~100 docs files
- Fix pageSize type conversion in userService (String to Number)
- Fix authUser undefined error in TopNavigation
- Fix login redirect logic with role-based access check
- Update Git commit guidelines v1.2 with UTF-8 safety rules

Database Changes:
- CREATE TABLE user_modules (user_id, tenant_id, module_code, is_enabled)
- ADD UNIQUE CONSTRAINT (user_id, tenant_id, module_code)
- INSERT 4 permissions + role assignments
- UPDATE PUBLIC tenant with 8 module subscriptions

Technical:
- Backend: 5 new files (~2400 lines)
- Frontend: 10 new files (~2500 lines)
- Docs: 1 development record + 2 status updates + 1 guideline update
- Total: ~4900 lines of code

Status: User management 100% complete, module permission system operational
2026-01-16 13:42:10 +08:00

17 KiB
Raw Blame History

AIclinicalresearch 文档梳理与差异分析

文档版本: v1.0
创建日期: 2025-11-06
维护者: 项目团队
最后更新: 2025-11-06


📋 执行摘要

本文档对AIclinicalresearch项目下的所有文档进行了系统梳理,并重点对比了最新需求文档(壹证循科技 AI科研产品需求文档.md 和 技术架构白皮书.md现有文档之间的差异。

🎯 核心发现

最新需求文档2025-11-05反映了产品战略的重大调整

  1. 产品定位变化: 从单一的"AI科研助手"扩展为7大模块的综合性AI科研平台
  2. 商业模式变化: 从简单SaaS模式扩展为4种部署形态云端SaaS、私有化、混合部署、单机版
  3. 技术架构变化: 从"模块化单体"演进为微服务架构,支持模块化售卖
  4. 目标用户变化: 从科研人员扩展到医院机构(强调数据安全和私有化部署)

📚 文档结构梳理

1. 00-项目概述 文件夹

文档名称 状态 版本日期 核心内容 是否符合最新需求
壹证循科技 AI科研产品需求文档.md 最新 2025-11-05 7大模块功能矩阵、4种部署模式、商业模式 基准文档
壹证循科技AI科研产品 - 技术架构白皮书.md 最新 2025-11-05 微服务架构、技术异构、Electron单机版 基准文档
产品需求文档(PRD).md ⚠️ 旧版 2025-10-10 仅包含AI问答、知识库、项目管理 需要更新
技术架构总览.md ⚠️ 旧版 2025-10-10 基于Dify+LobeChat的简化架构 需要更新
AI智能文献PRD1-产品概览.md ⚠️ 部分旧 2025-10-21 6大模块研究方案、检索、初筛、复筛、提取、分析 ⚠️ 部分符合,需整合
AI智能文献PRD2-初筛与复筛.md ⚠️ 部分旧 2025-10-21 初筛和复筛详细设计 ⚠️ 部分符合,需整合
AI智能文献PRD3-提取与分析模块.md ⚠️ 部分旧 2025-10-21 提取和分析详细设计 ⚠️ 部分符合,需整合
系统总体架构设计.md ⚠️ 占位 2025-10-29 占位文档,待完善 需要重写
设计文档完成总结.md ⚠️ 旧版 2025-10-10 基于旧版PRD的总结 需要更新

2. 01-设计文档 文件夹

文档名称 状态 版本日期 核心内容 是否符合最新需求
数据库设计文档.md ⚠️ 旧版 2025-10-10 基于AI问答+知识库的数据库设计 缺少DC、SSA、ASL模块表
API设计规范.md ⚠️ 旧版 2025-10-10 基于AI问答+知识库的API设计 缺少新模块API
平台前端架构设计/01-前端总体架构设计.md ⚠️ 部分旧 2025-10-29 7个模块的顶部导航设计 ⚠️ 架构正确,但缺少部署模式考虑
平台前端架构设计/02-导航结构设计.md ⚠️ 部分旧 2025-10-29 导航详细设计 ⚠️ 架构正确,但缺少部署模式考虑
系统架构/01-系统总体架构设计.md ⚠️ 占位 2025-10-29 占位文档 需要重写
系统架构/04-运营管理端架构设计.md ⚠️ 占位 2025-10-29 占位文档 需要重写
系统架构/05-部署架构设计.md ⚠️ 占位 2025-10-29 占位文档 需要重写(关键)

3. AI智能文献 文件夹

文档名称 状态 版本日期 核心内容 是否符合最新需求
所有文档 ⚠️ 部分旧 2025-10-29 基于Web版的AI智能文献设计 ⚠️ 缺少单机版、私有化部署考虑

4. 07-部署文档 文件夹

文档名称 状态 版本日期 核心内容 是否符合最新需求
本地化部署方案.md ⚠️ 占位 2025-10-29 占位文档 需要重写(关键)
模块独立部署指南.md ⚠️ 占位 2025-10-29 占位文档 需要重写(关键)

5. 05-每日进度 文件夹

状态 说明
⚠️ 历史记录 记录了AI问答+知识库的开发历史Day04-Day31基于旧版PRD

🔍 关键差异分析

差异1产品功能范围

旧版文档(产品需求文档(PRD).md

核心功能:
1. 项目/课题管理
2. AI智能体12个智能体
3. 个人知识库
4. 历史记录
5. 运营后台

最新需求(壹证循科技 AI科研产品需求文档.md

7大核心模块
F1. 智能统计分析 (SSA) - ❌ 旧文档完全缺失
F2. 统计分析工具 (ST) - ❌ 旧文档完全缺失
F3. AI智能回答 (AIA) - ✅ 对应旧文档的"AI智能体"
F4. AI智能文献 (ASL) - ⚠️ 有独立PRD但未整合
F5. 个人知识库 (PKB) - ✅ 对应旧文档的"个人知识库"
F6. 数据清洗整理 (DC) - ❌ 旧文档完全缺失(核心难点)
F7. 个人中心 (UAM) - ✅ 对应旧文档的"个人中心"

影响:

  • 旧版数据库设计缺少 SSA、ST、DC、ASL 模块的表结构
  • 旧版API设计缺少这些模块的接口
  • 旧版前端架构虽然预留了导航位置,但缺少详细设计

差异2部署模式

旧版文档(技术架构总览.md

部署模式:
- 云端SaaS版唯一模式
- 基于Docker部署
- 单一租户架构

最新需求(技术架构白皮书.md

4种部署形态NFR-1核心要求
1. 云端SaaS版 - 多租户、高可用
2. 私有化部署 - 整个平台或指定模块部署在客户内网
3. 混合部署 - 本地使用DC/SSA云端调用ASL/AIA
4. 单机版 - Electron桌面应用Windows/Mac数据100%本地化

影响:

  • 旧版架构设计完全不支持私有化部署和单机版
  • 旧版前端架构设计未考虑混合部署的路由策略
  • 缺少Electron单机版的技术方案和开发计划
  • 缺少**容器化K8s**的部署架构设计

差异3商业模式

旧版文档

商业模式:
- 简单的SaaS订阅模式
- 未明确版本分级

最新需求NFR-2核心要求

商业模式NFR-2
1. SaaS多版本专业版、高级版、旗舰版
   - 需要完善的Feature Flag系统
2. 模块化售卖:任何模块可独立打包售卖
   - 技术架构必须松耦合
3. AI成本可控动态切换LLM模型
   - 专业版用DeepSeek旗舰版用Claude/GPT

影响:

  • ⚠️ 旧版前端架构设计已考虑版本权限控制,但未实现Feature Flag系统
  • 旧版架构设计未考虑模块独立售卖的技术实现
  • ⚠️ 旧版已支持多模型切换,但未与版本权限绑定

差异4技术架构

旧版文档(技术架构总览.md

技术架构:
- 前端React + Vite + LobeChat组件
- 后端Node.js + Fastify + Prisma
- 数据库PostgreSQL
- RAGDify仅用于知识库
- LLMDeepSeek-V3 + Qwen3
- 架构模块化单体Monolith

最新需求(技术架构白皮书.md

技术架构(演进式):
- 阶段一0-6个月模块化单体 ✅ 与旧版一致
- 阶段二6-18个月首次拆分SSA、DC微服务+ Electron单机版
- 阶段三18个月+):全面微服务架构

核心技术栈(技术异构):
- 前端React/VueWeb + Electron复用
- API网关Node.js
- 统计分析SSAR语言 + Plumber API ❌ 旧文档缺失
- 数据清洗DCPython + Polars/Pandas + FastAPI ❌ 旧文档缺失
- 部署Docker + Kubernetes ⚠️ 旧文档仅Docker
- 单机版Electron + 本地R/Python子进程 ❌ 旧文档完全缺失

影响:

  • 旧版架构设计未考虑R语言和Python微服务的集成
  • 旧版架构设计未考虑Kubernetes编排
  • 旧版架构设计完全缺少Electron单机版的技术方案
  • 旧版架构设计未考虑API网关的引入

差异5数据清洗模块DC- 核心难点

旧版文档

状态:完全缺失

最新需求技术架构白皮书第6节

数据清洗整理 (DC) 模块:
1. 海量表格ETL处理百万行、多表格的Excel数据
2. 非结构化文本NER从病理报告中提取结构化字段

两种实现方案:
方案一:服务器最优版(云端/私有化)
- Python + Polars替代Pandas10-100倍速度
- LLM APIClaude 3/GPT-4o进行NER
- PostgreSQL存储结果

方案二单机版Desktop-Offline
- Electron + Python子进程
- SQLite避免内存溢出
- spaCy本地NLP模型100%隐私保护)

影响:

  • 旧版数据库设计完全缺少DC模块的表结构
  • 旧版API设计完全缺少DC模块的接口
  • 旧版技术栈未包含Python微服务
  • 旧版架构设计未考虑Polars、SQLite、spaCy等关键技术

差异6AI智能文献模块ASL

旧版文档AI智能文献PRD系列

状态有独立PRD文档2025-10-21
内容6大模块研究方案、检索、初筛、复筛、提取、分析
架构基于Web版的设计

最新需求(壹证循科技 AI科研产品需求文档.md

F4. AI智能文献 (ASL)
- 提供AI驱动的文献工作流
- 智能检索、标题摘要初筛、全文复筛、信息提取
- 支持Meta分析、证据图谱等应用
- 必须支持单机版文献原文100%不离开用户电脑)

影响:

  • ⚠️ 现有AI智能文献PRD文档内容基本符合,但需要:
    1. 补充单机版实现方案Electron + 本地PDF解析
    2. 补充私有化部署方案
    3. ⚠️ 整合到7大模块的整体架构中

差异7智能统计分析模块SSA

旧版文档

状态:完全缺失

最新需求

F1. 智能统计分析 (SSA)
- 3条核心分析路径队列研究、预测模型、RCT研究
- 数据上传、质控、分析、报告导出
- 必须支持私有化部署(医院内网)
- 必须支持单机版数据100%本地化)

技术实现(白皮书):
- R语言 + Plumber API服务器版
- R语言 + Electron子进程单机版

影响:

  • 旧版文档完全缺少SSA模块的PRD
  • 旧版数据库设计完全缺少SSA模块的表结构
  • 旧版技术栈未包含R语言
  • 旧版架构设计未考虑R语言微服务的集成

📊 文档符合度评分

文档类别 符合度 说明
产品需求文档 30% 仅覆盖3/7模块AIA、PKB、UAM
技术架构文档 40% 基础架构正确但缺少微服务、Electron、K8s
数据库设计 35% 仅覆盖3/7模块的表结构
API设计 35% 仅覆盖3/7模块的接口
前端架构 60% 导航结构正确,但缺少部署模式考虑
部署文档 0% 完全缺失(占位文档)
AI智能文献 70% 内容基本符合,但缺少单机版和私有化方案

总体符合度:约 40%


🚨 关键缺失内容清单

1. 产品需求层面

  • SSA模块完整PRD队列研究、预测模型、RCT研究
  • ST模块完整PRD100+种统计工具)
  • DC模块完整PRD表格ETL + 文本NER
  • 4种部署模式的详细需求说明
  • 模块化售卖的商业模式设计
  • Feature Flag系统的需求定义

2. 技术架构层面

  • 微服务架构设计API网关 + 服务拆分)
  • R语言微服务集成方案
  • Python微服务集成方案Polars + FastAPI
  • Kubernetes部署架构设计
  • Electron单机版完整技术方案
  • 混合部署的路由策略设计
  • 私有化部署的容器化方案

3. 数据库设计层面

  • SSA模块表结构(研究项目、数据集、分析结果)
  • ST模块表结构(工具配置、使用记录)
  • DC模块表结构清洗任务、ETL配置、NER结果
  • ASL模块表结构(文献项目、筛选记录、提取数据)
  • 多租户数据隔离设计Schema隔离

4. API设计层面

  • SSA模块API(数据上传、分析执行、报告生成)
  • ST模块API(工具列表、工具执行)
  • DC模块API文件上传、ETL执行、NER执行
  • ASL模块API(文献导入、筛选、提取)
  • API网关路由配置

5. 前端架构层面

  • Electron单机版前端架构
  • 混合部署的前端路由策略
  • Feature Flag前端实现
  • 模块独立打包方案

6. 部署文档层面

  • 云端SaaS部署方案K8s + 多租户)
  • 私有化部署方案Docker + K3s
  • 混合部署方案(本地+云端)
  • Electron单机版打包方案Windows + Mac
  • 模块独立部署指南

📝 建议的文档更新优先级

🔴 P0 - 立即更新(阻塞开发)

  1. 系统总体架构设计.md - 重写,基于技术架构白皮书
  2. 部署架构设计.md - 重写详细说明4种部署模式
  3. 数据库设计文档.md - 补充SSA、ST、DC、ASL模块表结构
  4. 产品需求文档(PRD).md - 重写整合7大模块

🟠 P1 - 近期更新(影响规划)

  1. DC模块PRD - 新建详细说明ETL和NER需求
  2. SSA模块PRD - 新建详细说明3条分析路径
  3. ST模块PRD - 新建详细说明100+工具
  4. Electron单机版技术方案 - 新建,详细说明实现路径
  5. API设计规范.md - 补充新模块API

🟡 P2 - 后续更新(优化完善)

  1. 前端总体架构设计.md - 补充部署模式考虑
  2. AI智能文献PRD系列 - 补充单机版和私有化方案
  3. 技术架构总览.md - 重写,基于技术架构白皮书
  4. 本地化部署方案.md - 详细说明私有化部署
  5. 模块独立部署指南.md - 详细说明模块化售卖

🎯 下一步行动建议

建议1明确开发阶段

根据技术架构白皮书的分阶段实施路线图:

阶段一0-6个月云端MVP - "模块化单体"

  • 可以继续使用现有架构Node.js + Fastify + PostgreSQL
  • ⚠️ 但必须严格遵循"代码隔离"和"数据隔离"Schema隔离
  • 暂不开发Electron单机版和私有化部署

阶段二6-18个月首次拆分

  • 引入K8s和API网关
  • 拆分SSA和DC为独立微服务
  • 开发Electron单机版

建议2模块开发优先级

基于商业价值和技术复杂度:

第一优先级(核心差异化):

  1. DC模块数据清洗整理 - 核心难点,差异化竞争力
  2. ASL模块AI智能文献 - 已有PRD可快速推进

第二优先级(完善产品矩阵): 3. SSA模块智能统计分析 - 需要R语言团队 4. ST模块统计分析工具 - 相对简单

第三优先级(已完成): 5. AIA模块AI智能回答 - 已完成 6. PKB模块个人知识库 - 已完成 7. UAM模块个人中心 - 已完成

建议3文档更新策略

立即行动(本周):

  1. 创建 系统总体架构设计.md(基于白皮书)
  2. 创建 部署架构设计.md4种部署模式
  3. 更新 数据库设计文档.md(补充新模块表结构)

近期行动(本月): 4. 创建 DC模块PRD.md 5. 创建 SSA模块PRD.md 6. 创建 Electron单机版技术方案.md

持续行动: 7. 随着开发进展持续更新API设计、前端架构等文档

建议4技术选型确认

需要与团队确认的关键技术决策:

  1. 是否引入R语言

    • SSA模块需要R语言统计分析的王者
    • 需要评估团队能力和学习成本
  2. 是否引入Python微服务

    • DC模块需要Python + Polars/Pandas
    • 需要评估与现有Node.js架构的集成复杂度
  3. 是否立即规划Electron单机版

    • 白皮书建议在阶段二6-18个月开发
    • 需要确认市场需求的紧迫性
  4. 是否立即引入K8s

    • 白皮书建议在阶段二引入
    • 阶段一可以继续使用Docker Compose

📌 总结

核心问题

旧版文档与最新需求的核心差异:

  1. 产品范围扩大: 从3个模块扩展到7个模块
  2. 部署模式复杂化: 从单一云端SaaS扩展到4种部署形态
  3. 技术架构演进: 从模块化单体演进到微服务架构
  4. 商业模式升级: 从简单订阅到模块化售卖 + 多版本 + 多部署

关键建议

务实的推进策略:

  1. 阶段一(当前): 继续使用现有架构,专注于云端SaaS版的7大模块开发
  2. 严格纪律: 必须遵循"代码隔离"和"数据Schema隔离",为未来拆分打基础
  3. 优先级: 先开发DC和ASL模块差异化竞争力
  4. 文档先行: 立即更新P0级文档指导后续开发

避免过度设计:

  • 不要在阶段一就引入K8s和API网关增加复杂度
  • 不要在阶段一就开发Electron单机版分散精力
  • 专注于云端SaaS版的功能完善和市场验证
  • 为未来的架构演进打好基础(代码和数据隔离)

文档维护者: 项目团队
最后更新: 2025-11-06
下次审查: 2025-11-13