docs: complete documentation system (250+ files)
- System architecture and design documentation - Business module docs (ASL/AIA/PKB/RVW/DC/SSA/ST) - ASL module complete design (quality assurance, tech selection) - Platform layer and common capabilities docs - Development standards and API specifications - Deployment and operations guides - Project management and milestone tracking - Architecture implementation reports - Documentation templates and guides
This commit is contained in:
684
docs/00-系统总体设计/08-架构设计全景图.md
Normal file
684
docs/00-系统总体设计/08-架构设计全景图.md
Normal file
@@ -0,0 +1,684 @@
|
||||
# 架构设计全景图
|
||||
|
||||
> **文档版本:** v1.0
|
||||
> **创建日期:** 2025-11-06
|
||||
> **文档目的:** 一图看懂整个系统架构
|
||||
|
||||
---
|
||||
|
||||
## 🎯 完整架构全景
|
||||
|
||||
```
|
||||
┌───────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 壹证循AI科研平台 - 完整架构 │
|
||||
└───────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
┌───────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 用户层(4类用户) │
|
||||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||||
│ │ 临床医生 │ │ 研究者 │ │ 期刊编辑部 │ │ 运营人员 │ │
|
||||
│ │ 研究机构 │ │ 医学生 │ │ 出版社 │ │ 管理员 │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||||
└───────────────────────────────────────────────────────────────────────────────┘
|
||||
↓ ↓ ↓ ↓
|
||||
┌───────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 前端应用层(4个独立应用) │
|
||||
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
||||
│ │ Web前端 │ │ 单机版 │ │ 独立产品 │ │ 运营管理端 │ │
|
||||
│ │ (React) │ │(Electron) │ │ 前端 │ │ (Admin) │ │
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
│ │ app.xxx.com │ │ 桌面应用 │ │ 独立域名 │ │admin.xxx.com│ │
|
||||
│ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │
|
||||
└───────────────────────────────────────────────────────────────────────────────┘
|
||||
↓ ↓ ↓ ↓
|
||||
┌───────────────────────────────────────────────────────────────────────────────┐
|
||||
│ API网关层(可选,微服务时) │
|
||||
│ Kong / Traefik - 统一路由和鉴权 │
|
||||
└───────────────────────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌───────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 业务模块层(8个独立业务模块) │
|
||||
│ │
|
||||
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
|
||||
│ │ AIA │ │ ASL │ │ PKB │ │ DC │ │ SSA │ │ ST │ │
|
||||
│ │智能问答│ │智能文献│ │知识库 │ │数据清洗│ │智能统计│ │分析工具│ │
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
│ │✅已完成│ │⏳重点 │ │✅已完成│ │⏳规划中│ │⏳规划中│ │⏳规划中│ │
|
||||
│ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ │
|
||||
│ │
|
||||
│ ┌────────┐ ┌────────┐ │
|
||||
│ │ RVW │ │ ADMIN │ │
|
||||
│ │稿件审查│ │运营管理│ │
|
||||
│ │ │ │ │ │
|
||||
│ │⚡独立 │ │⭐新增 │ │
|
||||
│ └────────┘ └────────┘ │
|
||||
└───────────────────────────────────────────────────────────────────────────────┘
|
||||
↓ 依赖
|
||||
┌───────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 通用能力层(5个核心技术能力) │
|
||||
│ │
|
||||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||||
│ │ LLM网关 │ │ 文档处理 │ │ RAG引擎 │ │ ETL引擎 │ │
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
│ │ 5模块依赖 │ │ 6模块依赖 │ │ 3模块依赖 │ │ 2模块依赖 │ │
|
||||
│ │ 71%复用 │ │ 86%复用 │ │ 43%复用 │ │ 29%复用 │ │
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
│ │ ❌待实现 │ │ ✅已实现 │ │ ✅已实现 │ │ ❌待实现 │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||||
│ │
|
||||
│ ┌──────────────┐ │
|
||||
│ │ 医学NLP │ │
|
||||
│ │ │ │
|
||||
│ │ 1模块依赖 │ │
|
||||
│ │ 14%复用 │ │
|
||||
│ │ │ │
|
||||
│ │ ❌待实现 │ │
|
||||
│ └──────────────┘ │
|
||||
└───────────────────────────────────────────────────────────────────────────────┘
|
||||
↓ 依赖
|
||||
┌───────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 平台基础层(通用基础设施) │
|
||||
│ │
|
||||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||||
│ │用户与权限中心│ │ 存储服务 │ │ 通知服务 │ │ 监控与日志 │ │
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
│ │ - 用户认证 │ │ - 文件上传 │ │ - 站内消息 │ │ - 操作日志 │ │
|
||||
│ │ - JWT Token │ │ - OSS/本地 │ │ - 邮件通知 │ │ - 错误监控 │ │
|
||||
│ │ - RBAC权限 │ │ - 临时URL │ │ - WebSocket │ │ - 审计日志 │ │
|
||||
│ │ - Feature Flag│ │ │ │ │ │ │ │
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
│ │ ✅已有基础 │ │ ✅已实现 │ │ ⏳待实现 │ │ ✅已实现 │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||||
│ │
|
||||
│ ┌──────────────┐ │
|
||||
│ │ 系统配置 │ │
|
||||
│ │ │ │
|
||||
│ │ - 全局配置 │ │
|
||||
│ │ - 动态配置 │ │
|
||||
│ │ │ │
|
||||
│ │ ⏳待增强 │ │
|
||||
│ └──────────────┘ │
|
||||
└───────────────────────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌───────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 数据存储层(Schema隔离) │
|
||||
│ │
|
||||
│ ┌────────────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ PostgreSQL(当前:逻辑隔离) │ │
|
||||
│ │ │ │
|
||||
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
|
||||
│ │ │platform │ │aia_schema │ │asl_schema │ │pkb_schema │ │ │
|
||||
│ │ │_schema │ │ │ │ │ │ │ │ │
|
||||
│ │ │ │ │ - projects │ │ - projects │ │ - kb │ │ │
|
||||
│ │ │ - users │ │ - conv │ │ - items │ │ - documents │ │ │
|
||||
│ │ │ - roles │ │ - messages │ │ - screening │ │ │ │ │
|
||||
│ │ │ - feature │ │ │ │ - extraction│ │ │ │ │
|
||||
│ │ │ _flags │ │ │ │ │ │ │ │ │
|
||||
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │
|
||||
│ │ │ │
|
||||
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
|
||||
│ │ │dc_schema │ │ssa_schema │ │st_schema │ │review │ │ │
|
||||
│ │ │ │ │ │ │ │ │_schema │ │ │
|
||||
│ │ │ - projects │ │ - projects │ │ - usage │ │ │ │ │
|
||||
│ │ │ - raw_files │ │ - tasks │ │ │ │ - tasks │ │ │
|
||||
│ │ │ - cleaned │ │ - results │ │ │ │ - journals │ │ │
|
||||
│ │ │ - ner │ │ │ │ │ │ - reviewers │ │ │
|
||||
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │
|
||||
│ │ │ │
|
||||
│ │ ┌─────────────┐ │ │
|
||||
│ │ │admin │ │ │
|
||||
│ │ │_schema │ │ │
|
||||
│ │ │ │ │ │
|
||||
│ │ │ - admin_users│ │ │
|
||||
│ │ │ - llm_models│ │ │
|
||||
│ │ │ - tenants │ │ │
|
||||
│ │ │ - audit_logs│ │ │
|
||||
│ │ └─────────────┘ │ │
|
||||
│ └────────────────────────────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌────────────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ Dify向量数据库(RAG) │ │
|
||||
│ │ 通过API访问,不直接连接 │ │
|
||||
│ └────────────────────────────────────────────────────────────────────────┘ │
|
||||
└───────────────────────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌───────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 外部服务层 │
|
||||
│ │
|
||||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||||
│ │ DeepSeek │ │ Qwen3 │ │ Qwen-Long │ │ Claude │ │
|
||||
│ │ API │ │ API │ │ API │ │ API │ │
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
│ │ ¥1/百万tokens│ │ ¥5/百万tokens│ │ ¥20/百万 │ │ ¥50/百万 │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||||
│ │
|
||||
│ ┌──────────────┐ ┌──────────────┐ │
|
||||
│ │ Dify API │ │ Python微服务│ │
|
||||
│ │ (RAG) │ │ (文档提取) │ │
|
||||
│ └──────────────┘ └──────────────┘ │
|
||||
└───────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📦 四种部署模式
|
||||
|
||||
### 模式1:云端SaaS版(当前重点)
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ 云端服务器 │
|
||||
│ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ Nginx (反向代理) │ │
|
||||
│ │ ├─ app.yizhengxun.com │ │
|
||||
│ │ └─ admin.yizhengxun.com │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ ↓ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ Web前端 (React) │ │
|
||||
│ │ Admin前端 (React + Ant Design Pro)│ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ ↓ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ 后端 (Node.js + Fastify) │ │
|
||||
│ │ - 8个业务模块 │ │
|
||||
│ │ - 通用能力层 │ │
|
||||
│ │ - 平台基础层 │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ ↓ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ PostgreSQL (Docker) │ │
|
||||
│ │ - 多Schema隔离 │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ Redis (缓存) │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ Dify (RAG服务) │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ Python微服务 (文档提取) │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
└─────────────────────────────────────────┘
|
||||
|
||||
用户通过浏览器访问
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 模式2:独立产品包(Docker打包)
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ 审稿系统独立产品包 │
|
||||
│ (Docker Compose一键部署) │
|
||||
│ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ 前端容器 (Nginx + React) │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ ↓ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ 后端容器 (Node.js) │ │
|
||||
│ │ - RVW模块(审稿功能) │ │
|
||||
│ │ - LLM网关(精简版) │ │
|
||||
│ │ - 文档处理(精简版) │ │
|
||||
│ │ - 用户认证(精简版) │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ ↓ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ PostgreSQL容器 │ │
|
||||
│ │ - 只包含review_schema和users │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ 一键部署脚本:deploy.sh │
|
||||
│ 配置文件:docker-compose.yml │
|
||||
└─────────────────────────────────────────┘
|
||||
|
||||
医院内网部署,数据不外泄
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 模式3:Electron单机版
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ 用户电脑 (Windows/Mac) │
|
||||
│ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ Electron应用 │ │
|
||||
│ │ │ │
|
||||
│ │ ┌──────────────────────────────┐ │ │
|
||||
│ │ │ 渲染进程 (Chromium) │ │ │
|
||||
│ │ │ React前端(复用90%+) │ │ │
|
||||
│ │ └──────────────────────────────┘ │ │
|
||||
│ │ ↓ IPC通信 │ │
|
||||
│ │ ┌──────────────────────────────┐ │ │
|
||||
│ │ │ 主进程 (Node.js) │ │ │
|
||||
│ │ │ 后端逻辑(复用80%+) │ │ │
|
||||
│ │ └──────────────────────────────┘ │ │
|
||||
│ │ ↓ │ │
|
||||
│ │ ┌──────────────────────────────┐ │ │
|
||||
│ │ │ SQLite (本地数据库) │ │ │
|
||||
│ │ │ ~/Documents/YizhengxunData/ │ │ │
|
||||
│ │ └──────────────────────────────┘ │ │
|
||||
│ │ ↓ │ │
|
||||
│ │ ┌──────────────────────────────┐ │ │
|
||||
│ │ │ Python子进程 │ │ │
|
||||
│ │ │ 文档提取(打包在应用内) │ │ │
|
||||
│ │ └──────────────────────────────┘ │ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ 安装包:500MB+ │
|
||||
│ 100%离线运行 │
|
||||
└─────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 模式4:私有化部署(K8s/Docker)
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ 医院内网服务器 │
|
||||
│ │
|
||||
│ ┌────────────────────────────────────┐ │
|
||||
│ │ K8s / Docker Swarm │ │
|
||||
│ │ │ │
|
||||
│ │ Pod/Container: │ │
|
||||
│ │ ├─ 前端服务 x2(高可用) │ │
|
||||
│ │ ├─ 后端服务 x3(负载均衡) │ │
|
||||
│ │ ├─ PostgreSQL x1(主从) │ │
|
||||
│ │ ├─ Redis x1 │ │
|
||||
│ │ ├─ Python微服务 x2 │ │
|
||||
│ │ └─ Dify服务(可选) │ │
|
||||
│ │ │ │
|
||||
│ │ Ingress: hospital-a.yizhengxun.com│ │
|
||||
│ └────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ 一键部署脚本 + 运维监控 │
|
||||
└─────────────────────────────────────────┘
|
||||
|
||||
数据100%留在医院内网
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 代码组织架构
|
||||
|
||||
### 当前结构(简单)
|
||||
|
||||
```
|
||||
AIclinicalresearch/
|
||||
├── frontend/ # Web前端
|
||||
├── backend/ # 后端
|
||||
└── extraction_service/ # Python服务
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 目标结构(Monorepo)
|
||||
|
||||
```
|
||||
AIclinicalresearch/
|
||||
├── packages/ # 共享包(可复用)
|
||||
│ ├── shared-types/ # 类型定义(前后端共享)
|
||||
│ ├── platform-core/ # 平台核心
|
||||
│ │ ├── auth/ # 用户认证
|
||||
│ │ ├── storage/ # 存储服务
|
||||
│ │ └── monitoring/ # 监控日志
|
||||
│ ├── capabilities-core/ # 通用能力
|
||||
│ │ ├── llm-gateway/ # LLM网关
|
||||
│ │ ├── document-processor/ # 文档处理
|
||||
│ │ └── rag-engine/ # RAG引擎
|
||||
│ └── ui-components/ # UI组件库(可选)
|
||||
│
|
||||
├── apps/ # 应用
|
||||
│ ├── web-frontend/ # Web前端
|
||||
│ ├── web-backend/ # Web后端
|
||||
│ ├── admin-frontend/ # 运营管理端前端
|
||||
│ └── electron/ # Electron单机版(未来)
|
||||
│ ├── main/ # 主进程
|
||||
│ └── renderer/ # 渲染进程
|
||||
│
|
||||
├── products/ # 独立产品打包(未来)
|
||||
│ ├── review-system/ # 审稿系统独立产品
|
||||
│ ├── literature-system/ # AI文献独立产品
|
||||
│ └── data-cleaning-system/ # 数据清洗独立产品
|
||||
│
|
||||
├── services/ # 微服务(未来)
|
||||
│ ├── platform/ # 平台服务
|
||||
│ ├── capabilities/ # 通用能力服务
|
||||
│ └── modules/ # 业务模块服务
|
||||
│
|
||||
├── extraction_service/ # Python服务(保持原位)
|
||||
├── docker-compose.yml # Docker配置
|
||||
├── pnpm-workspace.yaml # Workspace配置
|
||||
└── package.json # 根package.json
|
||||
```
|
||||
|
||||
**转换成本:** 2-3天
|
||||
**未来收益:** 节省7-11天
|
||||
|
||||
---
|
||||
|
||||
## 📊 关键指标
|
||||
|
||||
### 模块复用分析
|
||||
|
||||
| 通用能力 | 使用频率 | 依赖模块 | 优先级 | 状态 |
|
||||
|---------|---------|---------|--------|------|
|
||||
| **LLM网关** | 71% | AIA、ASL、PKB、DC、RVW | P0 | ❌ 待实现 |
|
||||
| **文档处理** | 86% | AIA、ASL、PKB、DC、SSA、ST、RVW | P0 | ✅ 已实现 |
|
||||
| **RAG引擎** | 43% | AIA、ASL、PKB | P1 | ✅ 已实现 |
|
||||
| **ETL引擎** | 29% | DC、SSA | P2 | ❌ 待实现 |
|
||||
| **医学NLP** | 14% | DC | P2 | ❌ 待实现 |
|
||||
|
||||
### 模块独立性分析
|
||||
|
||||
| 模块 | 独立性 | 商业价值 | 可独立销售 | 优先级 |
|
||||
|------|-------|---------|-----------|--------|
|
||||
| RVW(审稿) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ 是 | P1 |
|
||||
| ASL(文献) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ 是 | P0 |
|
||||
| DC(数据清洗) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ 是 | P1 |
|
||||
| ADMIN(运营) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ 是(SaaS) | P1 |
|
||||
| SSA(统计分析) | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⚠️ 与ST协同 | P2 |
|
||||
| ST(分析工具) | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⚠️ 与SSA协同 | P2 |
|
||||
| AIA(AI问答) | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⚠️ 与PKB关联 | P2 |
|
||||
| PKB(知识库) | ⭐⭐⭐ | ⭐⭐⭐ | ⚠️ 与AIA关联 | P2 |
|
||||
|
||||
---
|
||||
|
||||
## 🎯 技术债务与投资决策
|
||||
|
||||
### 两个关键技术改造
|
||||
|
||||
| 改造项目 | 现在做 | 未来做 | 投入产出比 | 建议 |
|
||||
|---------|-------|-------|-----------|------|
|
||||
| **Schema隔离** | 1周 | 3-5周 | 300-500% | ⭐⭐⭐⭐⭐ 现在做 |
|
||||
| **Monorepo转换** | 2-3天 | 7-11天 | 300-400% | ⭐⭐⭐⭐⭐ 现在做 |
|
||||
|
||||
**核心结论:**
|
||||
```
|
||||
现在投入:
|
||||
- Schema隔离:3天
|
||||
- Monorepo转换:3天
|
||||
- 总计:6天(1周)
|
||||
|
||||
未来节省:
|
||||
- Schema隔离:15-25天
|
||||
- Monorepo转换:7-11天
|
||||
- 总计:22-36天(1个月+)
|
||||
|
||||
投入产出比:300-500%
|
||||
|
||||
建议:立即做!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📋 下一步行动方案
|
||||
|
||||
### 方案A:快速推进业务 ⭐⭐⭐
|
||||
|
||||
**适合:时间紧迫,必须立即上线ASL模块**
|
||||
|
||||
**本周:**
|
||||
- Day 1-7:ASL模块开发
|
||||
|
||||
**风险:**
|
||||
- ❌ 技术债累积
|
||||
- ❌ 未来改造成本高(1个月)
|
||||
|
||||
---
|
||||
|
||||
### 方案B:夯实基础,稳步推进 ⭐⭐⭐⭐⭐ **强烈推荐**
|
||||
|
||||
**适合:重视长期架构健康,愿意投入1周**
|
||||
|
||||
**Week 1:架构改造(6天)**
|
||||
- Day 1-3:Schema隔离
|
||||
* 设计Schema结构
|
||||
* 修改Prisma Schema
|
||||
* 数据迁移
|
||||
* 测试验证
|
||||
|
||||
- Day 4-6:Monorepo转换
|
||||
* 学习pnpm workspaces
|
||||
* 重构代码结构
|
||||
* 提取共享代码
|
||||
* 测试验证
|
||||
|
||||
**Week 2-4:ASL模块开发**
|
||||
- 享受清晰的架构
|
||||
- 享受代码复用的便利
|
||||
|
||||
**优点:**
|
||||
- ✅ 一次性还清技术债
|
||||
- ✅ 为7个模块打基础
|
||||
- ✅ 避免未来1个月的重构成本
|
||||
|
||||
**投入产出比:** ⭐⭐⭐⭐⭐ 极高
|
||||
|
||||
---
|
||||
|
||||
### 方案C:折中方案 ⭐⭐⭐⭐
|
||||
|
||||
**适合:部分认同,希望快速看到业务进展**
|
||||
|
||||
**本周:**
|
||||
- Day 1-3:Monorepo转换(必须,近期开发运营管理端)
|
||||
- Day 4-7:ASL模块开发
|
||||
|
||||
**未来(1-2个月后):**
|
||||
- Schema隔离(数据量增长前)
|
||||
|
||||
**优点:**
|
||||
- ✅ 解决最紧迫的问题
|
||||
- ✅ 快速推进业务
|
||||
|
||||
**缺点:**
|
||||
- ⚠️ Schema隔离成本会增加
|
||||
|
||||
---
|
||||
|
||||
## 🎉 今日成就总结
|
||||
|
||||
### 完成的核心工作
|
||||
|
||||
**1. 系统架构设计(100%)**
|
||||
- ✅ 三层架构设计
|
||||
- ✅ 8个业务模块规划
|
||||
- ✅ 5个通用能力定义
|
||||
- ✅ 依赖关系分析
|
||||
|
||||
**2. 部署方案设计(100%)**
|
||||
- ✅ 云端SaaS部署
|
||||
- ✅ 独立产品包部署
|
||||
- ✅ Electron单机版方案
|
||||
- ✅ 私有化部署
|
||||
|
||||
**3. 数据库架构(100%)**
|
||||
- ✅ PostgreSQL Docker部署说明
|
||||
- ✅ Schema隔离方案
|
||||
- ✅ 逻辑vs物理隔离对比
|
||||
- ✅ 改造成本分析
|
||||
|
||||
**4. 运营管理端(100%)**
|
||||
- ✅ 15个功能模块设计
|
||||
- ✅ 3阶段实施计划
|
||||
- ✅ 权限体系设计
|
||||
- ✅ 数据库Schema设计
|
||||
|
||||
**5. 模块独立部署(100%)**
|
||||
- ✅ 完整打包方案
|
||||
- ✅ 共享服务方案
|
||||
- ✅ Electron架构设计
|
||||
- ✅ 代码复用率分析
|
||||
|
||||
**6. Monorepo架构(100%)**
|
||||
- ✅ 必要性评估
|
||||
- ✅ 成本收益分析
|
||||
- ✅ 实施方案设计
|
||||
- ✅ 时机建议
|
||||
|
||||
**7. 文档体系重构(100%)**
|
||||
- ✅ v2.0文档结构设计
|
||||
- ✅ 模块文档模板
|
||||
- ✅ 迁移计划
|
||||
|
||||
---
|
||||
|
||||
### 产出的核心价值
|
||||
|
||||
**技术价值:**
|
||||
- ✅ 清晰的技术路线图(未来6-12个月)
|
||||
- ✅ 完整的架构设计(三层架构、8个模块)
|
||||
- ✅ 详细的实施方案(部署、数据库、代码组织)
|
||||
|
||||
**商业价值:**
|
||||
- ✅ 支持模块独立销售(审稿、AI文献、数据清洗)
|
||||
- ✅ 支持多种部署模式(覆盖全市场)
|
||||
- ✅ 支持灵活商业模式(订阅、License、模块化售卖)
|
||||
|
||||
**决策价值:**
|
||||
- ✅ 明确的优先级(P0-P2)
|
||||
- ✅ 清晰的成本收益分析
|
||||
- ✅ 具体的实施建议
|
||||
|
||||
---
|
||||
|
||||
## 📈 架构成熟度评估
|
||||
|
||||
### 设计完整性:⭐⭐⭐⭐⭐ (5/5)
|
||||
|
||||
- ✅ 系统架构:三层架构,职责清晰
|
||||
- ✅ 业务模块:8个模块,完整规划
|
||||
- ✅ 部署方案:4种模式,覆盖全市场
|
||||
- ✅ 数据库架构:Schema隔离,支持微服务
|
||||
- ✅ 代码组织:Monorepo,支持复用
|
||||
- ✅ 运营管理:15个功能,商业基础
|
||||
|
||||
### 可实施性:⭐⭐⭐⭐⭐ (5/5)
|
||||
|
||||
- ✅ 详细的实施步骤
|
||||
- ✅ 明确的时间估算
|
||||
- ✅ 清晰的成本收益分析
|
||||
- ✅ 具体的技术方案
|
||||
- ✅ 现实的风险评估
|
||||
|
||||
### 商业价值:⭐⭐⭐⭐⭐ (5/5)
|
||||
|
||||
- ✅ 支持模块独立销售
|
||||
- ✅ 支持多种部署模式
|
||||
- ✅ 支持灵活定价策略
|
||||
- ✅ 成本控制机制完善
|
||||
|
||||
---
|
||||
|
||||
## 🚀 明确的下一步
|
||||
|
||||
### 立即可做的3件事
|
||||
|
||||
**1. 开始ASL模块开发(方案A)**
|
||||
- 使用现有架构
|
||||
- 快速推进业务
|
||||
- 风险:累积技术债
|
||||
|
||||
**2. Schema隔离 + Monorepo(方案B)** ⭐⭐⭐⭐⭐
|
||||
- 投入1周
|
||||
- 夯实基础
|
||||
- 避免未来1个月改造成本
|
||||
|
||||
**3. Monorepo转换后开发(方案C)**
|
||||
- 投入2-3天
|
||||
- 快速推进
|
||||
- 延后Schema隔离
|
||||
|
||||
---
|
||||
|
||||
## 💼 需要讨论的问题
|
||||
|
||||
### 技术决策
|
||||
|
||||
1. **Schema隔离:** 现在做 or 延后?
|
||||
- 建议:现在做(成本最低)
|
||||
|
||||
2. **Monorepo:** 现在转换 or 延后?
|
||||
- 建议:现在转换(近期开发运营管理端)
|
||||
|
||||
3. **部署优先级:** 先做哪种部署?
|
||||
- 建议:专注云端SaaS(阶段一)
|
||||
|
||||
### 业务规划
|
||||
|
||||
4. **模块开发顺序:** ASL → DC → SSA?
|
||||
- 建议:ASL(已有PRD)→ DC(核心竞争力)
|
||||
|
||||
5. **运营管理端时机:** 何时开发?
|
||||
- 建议:ASL完成后(1-2个月后)
|
||||
|
||||
6. **独立产品时机:** 何时打包独立产品?
|
||||
- 建议:阶段二(6-12个月后)
|
||||
|
||||
---
|
||||
|
||||
## 🎯 我的最终建议
|
||||
|
||||
**推荐:方案B(夯实基础,稳步推进)**
|
||||
|
||||
**实施计划:**
|
||||
```
|
||||
Week 1(本周):架构改造
|
||||
Day 1-3:Schema隔离
|
||||
Day 4-6:Monorepo转换
|
||||
|
||||
Week 2-4(下2-3周):ASL模块开发
|
||||
标题摘要初筛 + 全文复筛
|
||||
|
||||
Week 5-6(第5-6周):ASL模块完善
|
||||
全文解析与数据提取
|
||||
|
||||
Week 7-8(第7-8周):运营管理端P0功能
|
||||
用户管理 + Feature Flag + LLM模型管理
|
||||
```
|
||||
|
||||
**核心理由:**
|
||||
1. ✅ 投入1周,节省未来1个月
|
||||
2. ✅ 为7个模块打下坚实基础
|
||||
3. ✅ 架构清晰,长期收益巨大
|
||||
4. ✅ 避免技术债累积
|
||||
|
||||
---
|
||||
|
||||
**最后更新:** 2025-11-06
|
||||
**总结人:** 技术架构师
|
||||
|
||||
---
|
||||
|
||||
## 📖 相关文档
|
||||
|
||||
- [系统架构分层设计](./01-系统架构分层设计.md)
|
||||
- [文档体系重构方案v2.0](./02-文档体系重构方案.md)
|
||||
- [Schema隔离方案与成本分析](./05-Schema隔离方案与成本分析.md)
|
||||
- [模块独立部署与单机版方案](./06-模块独立部署与单机版方案.md)
|
||||
- [Monorepo架构评估](./07-Monorepo架构评估.md)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user