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
This commit is contained in:
@@ -1,61 +1,78 @@
|
||||
# 系统总体设计
|
||||
|
||||
> **鐩<EFBFBD>綍璇存槑锛?* 鏈<>洰褰曞寘鍚<E5AF98>9璇佸惊AI绉戠爺骞冲彴鐨勭郴缁熸€讳綋璁捐<E79281>鏂囨。
|
||||
> **鏂囨。灞傜骇锛?* 鎬讳綋灞傞潰锛圥latform Level锛?
|
||||
> **目录说明:** 本目录包含壹证循AI科研平台的系统总体设计文档
|
||||
> **文档层级:** 总体层面(Platform Level)
|
||||
> **目标读者:** 技术架构师、产品经理、项目负责人
|
||||
|
||||
---
|
||||
|
||||
## 📚 文档导航
|
||||
|
||||
### 馃搶 蹇<>€熷<E282AC>鑸?
|
||||
**馃帀 閲嶈<E996B2>锛?* [2025-11-06 鏋舵瀯璁捐<E79281>瀹屾垚鎶ュ憡](./%5B閲嶈<E996B2>%5D%202025-11-06%20鏋舵瀯璁捐<E79281>瀹屾垚鎶ュ憡.md) - 浠婃棩閲嶅ぇ閲岀▼纰戯紒
|
||||
### 📌 快速导航
|
||||
|
||||
**🎉 重要:** [2025-11-06 架构设计完成报告](./%5B重要%5D%202025-11-06%20架构设计完成报告.md) - 今日重大里程碑!
|
||||
|
||||
**👉 第一次阅读:** [00-阅读指南](./00-阅读指南.md) - 如何阅读这些文档
|
||||
|
||||
**馃憠 闇€瑕佸喅绛栵細** [99-涓嬩竴姝ヨ<EFBFBD>鍔ㄥ喅绛栧缓璁甝(./99-涓嬩竴姝ヨ<E5A79D>鍔ㄥ喅绛栧缓璁?md) - 3涓<EFBFBD>柟妗堝<EFBFBD>姣?
|
||||
**👉 需要决策:** [99-下一步行动决策建议](./99-下一步行动决策建议.md) - 3个方案对比
|
||||
|
||||
---
|
||||
|
||||
### 核心文档
|
||||
|
||||
| 鏂囨。 | 璇存槑 | 鐘舵€?| 浼樺厛绾?|
|
||||
| 文档 | 说明 | 状态 | 优先级 |
|
||||
|------|------|------|-------|
|
||||
| **[00-闃呰<E99783>鎸囧崡](./00-闃呰<EFBFBD>鎸囧崡.md)** | **濡備綍闃呰<EFBFBD>杩欎簺鏂囨。锛?* | 鉁?瀹屾垚 | 猸愨瓙猸?**棣栨<E6A3A3>蹇呰<E8B987>** |
|
||||
| [00-浠婃棩鏋舵瀯璁捐<EFBFBD>鎬荤粨](./00-浠婃棩鏋舵瀯璁捐<E79281>鎬荤粨.md) | 2025-11-06宸ヤ綔鎬荤粨 | 鉁?瀹屾垚 | 猸愨瓙 鎺ㄨ崘闃呰<E99783> |
|
||||
| **[99-涓嬩竴姝ヨ<EFBFBD>鍔ㄥ喅绛栧缓璁甝(./99-涓嬩竴姝ヨ<E5A79D>鍔ㄥ喅绛栧缓璁?md)** | **3涓<EFBFBD>柟妗堝<EFBFBD>姣?鍐崇瓥寤鸿<E5AFA4>** | 鉁?瀹屾垚 | 猸愨瓙猸?**鍐崇瓥蹇呰<E8B987>** |
|
||||
| [00-鏍稿績闂<EFBFBD><EFBFBD>瑙g瓟](./00-鏍稿績闂<E7B8BE><E99782>瑙g瓟.md) | 鍥炵瓟鍏抽敭鏋舵瀯闂<E780AF><E99782> | 鉁?瀹屾垚 | P0 |
|
||||
| [01-绯荤粺鏋舵瀯鍒嗗眰璁捐<EFBFBD>](./01-绯荤粺鏋舵瀯鍒嗗眰璁捐<E79281>.md) | 涓夊眰鏋舵瀯璁捐<E79281>锛堝钩鍙般€佽兘鍔涖€佷笟鍔★級 | 鉁?瀹屾垚 | P0 |
|
||||
| [02-鏂囨。浣撶郴閲嶆瀯鏂规<EFBFBD>](./02-鏂囨。浣撶郴閲嶆瀯鏂规<E98F82>.md) | 鏂囨。缁撴瀯閲嶇粍鏂规<E98F82>v2.0 | 鉁?瀹屾垚 | P0 |
|
||||
| [03-鏁版嵁搴撴灦鏋勮<EFBFBD>鏄嶿(./03-鏁版嵁搴撴灦鏋勮<E98F8B>鏄?md) | PostgreSQL Docker閮ㄧ讲璇存槑 | 鉁?瀹屾垚 | P0 |
|
||||
| [04-杩愯惀绠$悊绔<EFBFBD>灦鏋勮<EFBFBD>璁<EFBFBD>(./04-杩愯惀绠$悊绔<E6828A>灦鏋勮<E98F8B>璁?md) | 15涓<EFBFBD>姛鑳芥ā鍧楄<EFBFBD>璁?| 鉁?瀹屾垚 | P0 |
|
||||
| [05-Schema闅旂<EFBFBD>鏂规<EFBFBD>涓庢垚鏈<EFBFBD>垎鏋怾(./05-Schema闅旂<E99785>鏂规<E98F82>涓庢垚鏈<E59E9A>垎鏋?md) | 閫昏緫闅旂<EFBFBD>vs鐗╃悊闅旂<EFBFBD> | 鉁?瀹屾垚 | P0 |
|
||||
| [06-妯″潡鐙<EFBFBD>珛閮ㄧ讲涓庡崟鏈虹増鏂规<EFBFBD>](./06-妯″潡鐙<E6BDA1>珛閮ㄧ讲涓庡崟鏈虹増鏂规<E98F82>.md) | 瀹屾暣鎵撳寘+Electron鏂规<EFBFBD> | 鉁?瀹屾垚 | P0 |
|
||||
| [07-Monorepo鏋舵瀯璇勪及](./07-Monorepo鏋舵瀯璇勪及.md) | 褰撳墠闃舵<EFBFBD>鏄<EFBFBD>惁闇€瑕丮onorepo | 鉁?瀹屾垚 | P0 |
|
||||
| [08-鏋舵瀯璁捐<EFBFBD>鍏ㄦ櫙鍥綸(./08-鏋舵瀯璁捐<E79281>鍏ㄦ櫙鍥?md) | 涓€鍥剧湅鎳傛暣涓<EFBFBD>郴缁熸灦鏋?| 鉁?瀹屾垚 | 猸?鎺ㄨ崘闃呰<E99783> |
|
||||
| 09-鎬讳綋闇€姹傛枃妗?PRD).md | 浜у搧鎬讳綋闇€姹?| 鈴?寰呰縼绉?| P1 |
|
||||
| 10-鎶€鏈<EFBFBD>灦鏋勭櫧鐨<EFBFBD>功.md | 鎶€鏈<E282AC>灦鏋勬€昏<E282AC> | 鈴?寰呰縼绉?| P1 |
|
||||
| 11-鍟嗕笟妯″紡璁捐<EFBFBD>.md | 鍟嗕笟妯″紡涓庡畾浠?| 鈴?寰呭垱寤?| P2 |
|
||||
| 12-鐗堟湰瑙勫垝.md | 鐗堟湰婕旇繘璺<E7B998>嚎鍥?| 鈴?寰呭垱寤?| P2 |
|
||||
| **[00-阅读指南](./00-阅读指南.md)** | **如何阅读这些文档?** | ✅ 完成 | ⭐⭐⭐ **首次必读** |
|
||||
| [00-今日架构设计总结](./00-今日架构设计总结.md) | 2025-11-06工作总结 | ✅ 完成 | ⭐⭐ 推荐阅读 |
|
||||
| **[99-下一步行动决策建议](./99-下一步行动决策建议.md)** | **3个方案对比+决策建议** | ✅ 完成 | ⭐⭐⭐ **决策必读** |
|
||||
| [00-核心问题解答](./00-核心问题解答.md) | 回答关键架构问题 | ✅ 完成 | P0 |
|
||||
| [01-系统架构分层设计](./01-系统架构分层设计.md) | 三层架构设计(平台、能力、业务) | ✅ 完成 | P0 |
|
||||
| [02-文档体系重构方案](./02-文档体系重构方案.md) | 文档结构重组方案v2.0 | ✅ 完成 | P0 |
|
||||
| [03-数据库架构说明](./03-数据库架构说明.md) | PostgreSQL Docker部署说明 | ✅ 完成 | P0 |
|
||||
| [04-运营管理端架构设计](./04-运营管理端架构设计.md) | 15个功能模块设计 | ✅ 完成 | P0 |
|
||||
| [05-Schema隔离方案与成本分析](./05-Schema隔离方案与成本分析.md) | 逻辑隔离vs物理隔离 | ✅ 完成 | P0 |
|
||||
| [06-模块独立部署与单机版方案](./06-模块独立部署与单机版方案.md) | 完整打包+Electron方案 | ✅ 完成 | P0 |
|
||||
| [07-Monorepo架构评估](./07-Monorepo架构评估.md) | 当前阶段是否需要Monorepo | ✅ 完成 | P0 |
|
||||
| [08-架构设计全景图](./08-架构设计全景图.md) | 一图看懂整个系统架构 | ✅ 完成 | ⭐ 推荐阅读 |
|
||||
| 09-总体需求文档(PRD).md | 产品总体需求 | ⏳ 待迁移 | P1 |
|
||||
| 10-技术架构白皮书.md | 技术架构总览 | ⏳ 待迁移 | P1 |
|
||||
| 11-商业模式设计.md | 商业模式与定价 | ⏳ 待创建 | P2 |
|
||||
| 12-版本规划.md | 版本演进路线图 | ⏳ 待创建 | P2 |
|
||||
|
||||
---
|
||||
|
||||
## 🎯 核心内容概要
|
||||
|
||||
### 馃搶 蹇<>€熷紑濮?
|
||||
**濡傛灉鎮ㄦ槸绗<E6A7B8>竴娆¢槄璇伙紝寮虹儓鎺ㄨ崘锛?*
|
||||
1. 猸?[浠婃棩鏋舵瀯璁捐<E79281>鎬荤粨](./00-浠婃棩鏋舵瀯璁捐<E79281>鎬荤粨.md) - 蹇<>€熶簡瑙d粖澶╃殑鎴愭灉
|
||||
2. 猸?[鏋舵瀯璁捐<E79281>鍏ㄦ櫙鍥綸(./08-鏋舵瀯璁捐<E79281>鍏ㄦ櫙鍥?md) - 涓€鍥剧湅鎳傛暣涓<EFBFBD>郴缁?
|
||||
### 📌 快速开始
|
||||
|
||||
**如果您是第一次阅读,强烈推荐:**
|
||||
1. ⭐ [今日架构设计总结](./00-今日架构设计总结.md) - 快速了解今天的成果
|
||||
2. ⭐ [架构设计全景图](./08-架构设计全景图.md) - 一图看懂整个系统
|
||||
|
||||
---
|
||||
|
||||
### 1. 系统架构分层
|
||||
|
||||
**三层架构 + 8个业务模块:**
|
||||
```
|
||||
鈹屸攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹?鈹? 涓氬姟妯″潡灞傦紙8涓<38>ā鍧楋級 鈹?鈹? AIA | ASL | PKB | DC | SSA | ST | RVW | ADMIN 鈹?鈹斺攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹? 鈫?渚濊禆
|
||||
鈹屸攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹?鈹? 閫氱敤鑳藉姏灞傦紙5涓<35>兘鍔涳級 鈹?鈹? LLM缃戝叧(71%) | 鏂囨。澶勭悊(86%) | RAG(43%) 鈹?鈹? ETL(29%) | 鍖诲<E98D96>NLP(14%) 鈹?鈹斺攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹? 鈫?渚濊禆
|
||||
鈹屸攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹?鈹? 骞冲彴鍩虹<E98DA9>灞? 鈹?鈹? 鐢ㄦ埛鏉冮檺 | 瀛樺偍 | 閫氱煡 | 鐩戞帶 | 閰嶇疆 鈹?鈹斺攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹?```
|
||||
┌──────────────────────────────────────────────────┐
|
||||
│ 业务模块层(8个模块) │
|
||||
│ AIA | ASL | PKB | DC | SSA | ST | RVW | ADMIN │
|
||||
└──────────────────────────────────────────────────┘
|
||||
↓ 依赖
|
||||
┌──────────────────────────────────────────────────┐
|
||||
│ 通用能力层(5个能力) │
|
||||
│ LLM网关(71%) | 文档处理(86%) | RAG(43%) │
|
||||
│ ETL(29%) | 医学NLP(14%) │
|
||||
└──────────────────────────────────────────────────┘
|
||||
↓ 依赖
|
||||
┌──────────────────────────────────────────────────┐
|
||||
│ 平台基础层 │
|
||||
│ 用户权限 | 存储 | 通知 | 监控 | 配置 │
|
||||
└──────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
**璇﹁<EFBFBD>锛?* [01-绯荤粺鏋舵瀯鍒嗗眰璁捐<EFBFBD>.md](./01-绯荤粺鏋舵瀯鍒嗗眰璁捐<EFBFBD>.md)
|
||||
**详见:** [01-系统架构分层设计.md](./01-系统架构分层设计.md)
|
||||
|
||||
---
|
||||
|
||||
@@ -65,74 +82,97 @@
|
||||
```
|
||||
docs/
|
||||
├── 00-系统总体设计/ # 总体层面
|
||||
鈹溾攢鈹€ 01-骞冲彴鍩虹<E98DA9>灞? # 骞冲彴灞傦紙UAM銆佸瓨鍌ㄣ€侀€氱煡绛夛級
|
||||
鈹溾攢鈹€ 02-閫氱敤鑳藉姏灞? # 閫氱敤鑳藉姏锛圠LM缃戝叧銆佹枃妗e<E5A697>鐞嗙瓑锛? 鈹溾攢鈹€ 03-涓氬姟妯″潡/ # 7涓<37>嫭绔嬩笟鍔℃ā鍧? 鈹? 鈹溾攢鈹€ AIA-AI鏅鸿兘闂<E58598>瓟/
|
||||
鈹? 鈹溾攢鈹€ ASL-AI鏅鸿兘鏂囩尞/
|
||||
鈹? 鈹溾攢鈹€ PKB-涓<>汉鐭ヨ瘑搴?
|
||||
鈹? 鈹溾攢鈹€ DC-鏁版嵁娓呮礂鏁寸悊/
|
||||
鈹? 鈹溾攢鈹€ SSA-鏅鸿兘缁熻<E7BC81>鍒嗘瀽/
|
||||
鈹? 鈹溾攢鈹€ ST-缁熻<E7BC81>鍒嗘瀽宸ュ叿/
|
||||
鈹? 鈹斺攢鈹€ RVW-绋夸欢瀹℃煡绯荤粺/
|
||||
鈹溾攢鈹€ 04-寮€鍙戣<E98D99>鑼?
|
||||
├── 01-平台基础层/ # 平台层(UAM、存储、通知等)
|
||||
├── 02-通用能力层/ # 通用能力(LLM网关、文档处理等)
|
||||
├── 03-业务模块/ # 7个独立业务模块
|
||||
│ ├── AIA-AI智能问答/
|
||||
│ ├── ASL-AI智能文献/
|
||||
│ ├── PKB-个人知识库/
|
||||
│ ├── DC-数据清洗整理/
|
||||
│ ├── SSA-智能统计分析/
|
||||
│ ├── ST-统计分析工具/
|
||||
│ └── RVW-稿件审查系统/
|
||||
├── 04-开发规范/
|
||||
├── 05-部署文档/
|
||||
├── 06-测试文档/
|
||||
├── 07-运维文档/
|
||||
└── 08-项目管理/
|
||||
```
|
||||
|
||||
**璇﹁<EFBFBD>锛?* [02-鏂囨。浣撶郴閲嶆瀯鏂规<E98F82>.md](./02-鏂囨。浣撶郴閲嶆瀯鏂规<E98F82>.md)
|
||||
**详见:** [02-文档体系重构方案.md](./02-文档体系重构方案.md)
|
||||
|
||||
---
|
||||
|
||||
### 3. 核心决策
|
||||
|
||||
#### 閮ㄧ讲妯″紡锛?绉嶏級
|
||||
- 鉁?浜戠<E6B59C>SaaS鐗堬紙P0锛屽綋鍓嶏級
|
||||
- 鉁?鐙<>珛浜у搧鍖咃紙P1锛岄樁娈典簩锛? 鏀<>寔妯″潡鍖栭攢鍞?- 鉁?Electron鍗曟満鐗堬紙P2锛岄樁娈典簩锛? 浠g爜澶嶇敤85%+
|
||||
- 鉁?绉佹湁鍖栭儴缃诧紙P1锛岄樁娈典簩锛?- 鉂?~~娣峰悎閮ㄧ讲~~锛堜笉鑰冭檻锛?
|
||||
#### 妯″潡鍒掑垎锛?涓<>笟鍔℃ā鍧楋級
|
||||
1. **AIA** - AI鏅鸿兘闂<E58598>瓟 鉁?宸插畬鎴?2. **ASL** - AI鏅鸿兘鏂囩尞 鈴?涓嬩竴姝ラ噸鐐?3. **PKB** - 涓<>汉鐭ヨ瘑搴?鉁?宸插畬鎴?4. **DC** - 鏁版嵁娓呮礂鏁寸悊 鈴?瑙勫垝涓?5. **SSA** - 鏅鸿兘缁熻<E7BC81>鍒嗘瀽 鈴?瑙勫垝涓?6. **ST** - 缁熻<E7BC81>鍒嗘瀽宸ュ叿 鈴?瑙勫垝涓?7. **RVW** - 绋夸欢瀹℃煡绯荤粺 鈿?鐙<>珛绯荤粺
|
||||
8. **ADMIN** - 杩愯惀绠$悊绔?猸?v2.0鏂板<EFBFBD>
|
||||
#### 部署模式(4种)
|
||||
- ✅ 云端SaaS版(P0,当前)
|
||||
- ✅ 独立产品包(P1,阶段二)- 支持模块化销售
|
||||
- ✅ Electron单机版(P2,阶段二)- 代码复用85%+
|
||||
- ✅ 私有化部署(P1,阶段二)
|
||||
- ❌ ~~混合部署~~(不考虑)
|
||||
|
||||
#### 鏍稿績鑳藉姏锛?涓<>€氱敤鑳藉姏锛?1. **LLM缃戝叧** 猸?鏈€楂樹紭鍏堢骇锛?涓<>ā鍧椾緷璧栵紙71%澶嶇敤鐜囷級
|
||||
2. **鏂囨。澶勭悊寮曟搸** 鉁?宸插疄鐜帮紝6涓<36>ā鍧椾緷璧栵紙86%澶嶇敤鐜囷級
|
||||
3. **RAG寮曟搸** 鉁?宸插疄鐜帮紝3涓<33>ā鍧椾緷璧栵紙43%澶嶇敤鐜囷級
|
||||
4. **ETL寮曟搸** 鈴?寰呭疄鐜帮紝2涓<32>ā鍧椾緷璧栵紙29%澶嶇敤鐜囷級
|
||||
5. **鍖诲<EFBFBD>NLP** 鈴?寰呭疄鐜帮紝1涓<31>ā鍧椾緷璧栵紙14%澶嶇敤鐜囷級
|
||||
#### 模块划分(8个业务模块)
|
||||
1. **AIA** - AI智能问答 ✅ 已完成
|
||||
2. **ASL** - AI智能文献 ⏳ 下一步重点
|
||||
3. **PKB** - 个人知识库 ✅ 已完成
|
||||
4. **DC** - 数据清洗整理 ⏳ 规划中
|
||||
5. **SSA** - 智能统计分析 ⏳ 规划中
|
||||
6. **ST** - 统计分析工具 ⏳ 规划中
|
||||
7. **RVW** - 稿件审查系统 ⚡ 独立系统
|
||||
8. **ADMIN** - 运营管理端 ⭐ v2.0新增
|
||||
|
||||
#### 鎶€鏈<EFBFBD>敼閫犲喅绛?1. **Schema闅旂<E99785>** - 寤鸿<E5AFA4>锛氱幇鍦ㄥ仛锛?鍛<>級vs 鏈<>潵鍋氾紙3-5鍛<35>級猸愨瓙猸愨瓙猸?2. **Monorepo杞<6F>崲** - 寤鸿<E5AFA4>锛氱幇鍦ㄥ仛锛?-3澶╋級vs 鏈<>潵鍋氾紙7-11澶╋級猸愨瓙猸愨瓙猸?
|
||||
**璇﹁<E79287>锛?* [00-鏍稿績闂<E7B8BE><E99782>瑙g瓟.md](./00-鏍稿績闂<E7B8BE><E99782>瑙g瓟.md)
|
||||
#### 核心能力(5个通用能力)
|
||||
1. **LLM网关** ⭐ 最高优先级,5个模块依赖(71%复用率)
|
||||
2. **文档处理引擎** ✅ 已实现,6个模块依赖(86%复用率)
|
||||
3. **RAG引擎** ✅ 已实现,3个模块依赖(43%复用率)
|
||||
4. **ETL引擎** ⏳ 待实现,2个模块依赖(29%复用率)
|
||||
5. **医学NLP** ⏳ 待实现,1个模块依赖(14%复用率)
|
||||
|
||||
#### 技术改造决策
|
||||
1. **Schema隔离** - 建议:现在做(1周)vs 未来做(3-5周)⭐⭐⭐⭐⭐
|
||||
2. **Monorepo转换** - 建议:现在做(2-3天)vs 未来做(7-11天)⭐⭐⭐⭐⭐
|
||||
|
||||
**详见:** [00-核心问题解答.md](./00-核心问题解答.md)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 架构演进路径
|
||||
|
||||
### 闃舵<EFBFBD>涓€锛氭ā鍧楀寲鍗曚綋锛堝綋鍓?- 6涓<36>湀锛?
|
||||
**鐩<>爣锛?* 浜戠<E6B59C>SaaS鐗圡VP
|
||||
### 阶段一:模块化单体(当前 - 6个月)
|
||||
|
||||
**鍏抽敭绾<EFBFBD>緥锛?*
|
||||
- 鉁?涓ユ牸鎸夋ā鍧楀垝鍒嗕唬鐮?- 鉁?鏁版嵁琛ㄤ娇鐢ㄦā鍧楀墠缂€锛堥€昏緫闅旂<E99785>锛?- 鉁?妯″潡闂翠笉鐩存帴import
|
||||
**目标:** 云端SaaS版MVP
|
||||
|
||||
**关键纪律:**
|
||||
- ✅ 严格按模块划分代码
|
||||
- ✅ 数据表使用模块前缀(逻辑隔离)
|
||||
- ✅ 模块间不直接import
|
||||
|
||||
**优先开发:**
|
||||
- ASL锛圓I鏅鸿兘鏂囩尞锛?- DC锛堟暟鎹<E69A9F>竻娲楋級
|
||||
- ASL(AI智能文献)
|
||||
- DC(数据清洗)
|
||||
- LLM网关
|
||||
- Schema隔离
|
||||
|
||||
---
|
||||
|
||||
### 闃舵<EFBFBD>浜岋細棣栨<EFBFBD>鎷嗗垎锛?-18涓<38>湀锛?
|
||||
**瑙﹀彂鏉′欢锛?*
|
||||
### 阶段二:首次拆分(6-18个月)
|
||||
|
||||
**触发条件:**
|
||||
- 有客户要求私有化部署
|
||||
- 有客户要求单机版
|
||||
- 闇€瑕佺嫭绔嬮攢鍞<EFBFBD>煇涓<EFBFBD>ā鍧?
|
||||
**鏋舵瀯璋冩暣锛?*
|
||||
- 需要独立销售某个模块
|
||||
|
||||
**架构调整:**
|
||||
- 引入API网关
|
||||
- 引入K8s(可选)
|
||||
- 鎷嗗垎RVW锛堝<EFBFBD>绋跨郴缁燂級涓虹嫭绔嬫湇鍔?
|
||||
- 拆分RVW(审稿系统)为独立服务
|
||||
|
||||
---
|
||||
|
||||
### 闃舵<EFBFBD>涓夛細鍏ㄩ潰寰<EFBFBD>湇鍔★紙18涓<EFBFBD>湀+锛?
|
||||
**鐩<>爣锛?* 鎵€鏈夋ā鍧楃嫭绔嬮儴缃诧紝鏀<E7B49D>寔鐏垫椿缁勫悎
|
||||
### 阶段三:全面微服务(18个月+)
|
||||
|
||||
**目标:** 所有模块独立部署,支持灵活组合
|
||||
|
||||
---
|
||||
|
||||
@@ -140,7 +180,7 @@ docs/
|
||||
|
||||
### 模块复用分析
|
||||
|
||||
| 閫氱敤鑳藉姏 | 浣跨敤棰戠巼 | 澶嶇敤妯″潡鏁?| 浼樺厛绾?|
|
||||
| 通用能力 | 使用频率 | 复用模块数 | 优先级 |
|
||||
|---------|---------|-----------|--------|
|
||||
| LLM网关 | 71% | 5/7 | P0 |
|
||||
| 文档处理 | 86% | 6/7 | P0 |
|
||||
@@ -148,70 +188,89 @@ docs/
|
||||
| ETL引擎 | 29% | 2/7 | P2 |
|
||||
| 医学NLP | 14% | 1/7 | P2 |
|
||||
|
||||
### 妯″潡鐙<EFBFBD>珛鎬у垎鏋?
|
||||
| 妯″潡 | 鐙<>珛鎬?| 鍟嗕笟浠峰€?| 鍙<>嫭绔嬮攢鍞?|
|
||||
### 模块独立性分析
|
||||
|
||||
| 模块 | 独立性 | 商业价值 | 可独立销售 |
|
||||
|------|-------|---------|-----------|
|
||||
| RVW锛堝<EFBFBD>绋匡級 | 猸愨瓙猸愨瓙猸?| 猸愨瓙猸愨瓙猸?| 鉁?鏄?|
|
||||
| ASL锛堟枃鐚<EFBFBD>級 | 猸愨瓙猸愨瓙猸?| 猸愨瓙猸愨瓙猸?| 鉁?鏄?|
|
||||
| DC锛堟暟鎹<EFBFBD>竻娲楋級 | 猸愨瓙猸愨瓙猸?| 猸愨瓙猸愨瓙猸?| 鉁?鏄?|
|
||||
| SSA锛堢粺璁″垎鏋愶級 | 猸愨瓙猸愨瓙 | 猸愨瓙猸愨瓙猸?| 鈿狅笍 涓嶴T鍗忓悓 |
|
||||
| RVW(审稿) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ 是 |
|
||||
| ASL(文献) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ 是 |
|
||||
| DC(数据清洗) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ 是 |
|
||||
| SSA(统计分析) | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⚠️ 与ST协同 |
|
||||
| ST(分析工具) | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⚠️ 与SSA协同 |
|
||||
| AIA锛圓I闂<EFBFBD>瓟锛?| 猸愨瓙猸?| 猸愨瓙猸愨瓙 | 鈿狅笍 涓嶱KB鍏宠仈 |
|
||||
| PKB锛堢煡璇嗗簱锛?| 猸愨瓙猸?| 猸愨瓙猸?| 鈿狅笍 涓嶢IA鍏宠仈 |
|
||||
| AIA(AI问答) | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⚠️ 与PKB关联 |
|
||||
| PKB(知识库) | ⭐⭐⭐ | ⭐⭐⭐ | ⚠️ 与AIA关联 |
|
||||
|
||||
---
|
||||
|
||||
## 鉁?褰撳墠浠诲姟娓呭崟
|
||||
## ✅ 当前任务清单
|
||||
|
||||
### P0任务(已完成)✅
|
||||
|
||||
- [x] 系统架构分层设计
|
||||
- [x] 文档体系重构方案v2.0
|
||||
- [x] 核心问题解答
|
||||
- [x] 鏁版嵁搴撴灦鏋勮<EFBFBD>鏄?- [x] 杩愯惀绠$悊绔<E6828A>灦鏋勮<E98F8B>璁?- [x] Schema闅旂<E99785>鏂规<E98F82>涓庢垚鏈<E59E9A>垎鏋?- [x] 妯″潡鐙<E6BDA1>珛閮ㄧ讲涓庡崟鏈虹増鏂规<E98F82>
|
||||
- [x] 数据库架构说明
|
||||
- [x] 运营管理端架构设计
|
||||
- [x] Schema隔离方案与成本分析
|
||||
- [x] 模块独立部署与单机版方案
|
||||
- [x] Monorepo架构评估
|
||||
- [x] 鏋舵瀯璁捐<EFBFBD>鍏ㄦ櫙鍥?- [x] 浠婃棩宸ヤ綔鎬荤粨
|
||||
- [x] 架构设计全景图
|
||||
- [x] 今日工作总结
|
||||
|
||||
### P1任务(待决策)⏳
|
||||
|
||||
**关键决策点:**
|
||||
- [ ] 鏄<EFBFBD>惁鐜板湪鍋歋chema闅旂<EFBFBD>锛燂紙寤鸿<EFBFBD>锛氭槸锛?鍛<>級
|
||||
- [ ] 鏄<EFBFBD>惁鐜板湪杞<EFBFBD>崲Monorepo锛燂紙寤鸿<EFBFBD>锛氭槸锛?-3澶╋級
|
||||
- [ ] 是否现在做Schema隔离?(建议:是,1周)
|
||||
- [ ] 是否现在转换Monorepo?(建议:是,2-3天)
|
||||
|
||||
**如果决定先做架构改造(方案B):**
|
||||
- [ ] Week 1锛歋chema闅旂<EFBFBD> + Monorepo杞<EFBFBD>崲锛?澶╋級
|
||||
- [ ] Week 2+锛欰SL妯″潡寮€鍙?
|
||||
- [ ] Week 1:Schema隔离 + Monorepo转换(6天)
|
||||
- [ ] Week 2+:ASL模块开发
|
||||
|
||||
**如果决定立即开发(方案A):**
|
||||
- [ ] Week 1+锛欰SL妯″潡寮€鍙?- [ ] 鏈<>潵锛氭灦鏋勬敼閫狅紙鎴愭湰鏇撮珮锛?
|
||||
- [ ] Week 1+:ASL模块开发
|
||||
- [ ] 未来:架构改造(成本更高)
|
||||
|
||||
### P2任务(后续)
|
||||
|
||||
- [ ] 迁移总体需求文档和技术架构白皮书
|
||||
- [ ] 补充ASL模块缺失文档
|
||||
- [ ] LLM网关详细设计
|
||||
- [ ] RVW独立系统规划
|
||||
- [ ] 琛ュ厖杩愯惀绠$悊绔<EFBFBD><EFBFBD>缁嗘枃妗?
|
||||
- [ ] 补充运营管理端详细文档
|
||||
|
||||
---
|
||||
|
||||
## 📖 相关文档
|
||||
|
||||
### 骞冲彴鍩虹<EFBFBD>灞?- [01-骞冲彴鍩虹<E98DA9>灞?](../01-骞冲彴鍩虹<E98DA9>灞?) - 鐢ㄦ埛鏉冮檺銆佸瓨鍌ㄣ€侀€氱煡绛?
|
||||
### 閫氱敤鑳藉姏灞?- [02-閫氱敤鑳藉姏灞?](../02-閫氱敤鑳藉姏灞?) - LLM缃戝叧銆佹枃妗e<E5A697>鐞嗐€丷AG绛?
|
||||
### 平台基础层
|
||||
- [01-平台基础层/](../01-平台基础层/) - 用户权限、存储、通知等
|
||||
|
||||
### 通用能力层
|
||||
- [02-通用能力层/](../02-通用能力层/) - LLM网关、文档处理、RAG等
|
||||
|
||||
### 业务模块
|
||||
- [03-涓氬姟妯″潡/](../03-涓氬姟妯″潡/) - 7涓<EFBFBD>嫭绔嬩笟鍔℃ā鍧?
|
||||
- [03-业务模块/](../03-业务模块/) - 7个独立业务模块
|
||||
|
||||
### 项目管理
|
||||
- [08-椤圭洰绠$悊/](../08-椤圭洰绠$悊/) - 寮€鍙戣<E98D99>鍒掋€侀噷绋嬬<E7BB8B>銆佹瘡鏃ヨ繘搴?
|
||||
- [08-项目管理/](../08-项目管理/) - 开发计划、里程碑、每日进度
|
||||
|
||||
---
|
||||
|
||||
## 🤝 贡献指南
|
||||
|
||||
### 如何更新文档
|
||||
|
||||
1. **鎬讳綋鏋舵瀯璋冩暣**锛氶渶瑕佸洟闃熻<E99783>璁猴紝鏇存柊鏈<E69F8A>洰褰曟枃妗?2. **妯″潡璁捐<E79281>璋冩暣**锛氭洿鏂板<E98F82>搴旀ā鍧楃洰褰曟枃妗?3. **鏂囨。鏍煎紡**锛氶伒寰狹arkdown瑙勮寖锛屽寘鍚<E5AF98>洰褰曘€佽〃鏍笺€佷唬鐮佸潡
|
||||
1. **总体架构调整**:需要团队讨论,更新本目录文档
|
||||
2. **模块设计调整**:更新对应模块目录文档
|
||||
3. **文档格式**:遵循Markdown规范,包含目录、表格、代码块
|
||||
|
||||
### 文档审核流程
|
||||
|
||||
1. 技术架构师审核总体文档
|
||||
2. 妯″潡璐熻矗浜哄<EFBFBD>鏍告ā鍧楁枃妗?3. 瀹氭湡鍚屾<E98D9A>鏂囨。涓庝唬鐮?
|
||||
2. 模块负责人审核模块文档
|
||||
3. 定期同步文档与代码
|
||||
|
||||
---
|
||||
|
||||
**最后更新:** 2025-11-06
|
||||
|
||||
Reference in New Issue
Block a user