nex_docus/docs/sdd/architecture/overview.md

43 lines
2.0 KiB
Markdown
Raw Normal View History

2026-08-19 10:05:22 +00:00
# 架构概览Overview
## 系统定位
NEX Docus 是**单机可部署**的团队文档平台,后端 FastAPI 单体 + 前端 React SPA + MySQL + Redis + 本地文件系统 + 本地检索/向量引擎,全部由 docker-compose 编排为同网段容器。
## 逻辑架构
```mermaid
graph TD
Client[React SPA] -->|JSON/HTTP| API[FastAPI Backend :8000]
Agent[External Agent] -->|MCP streamableHttp| API
API --> DB[(MySQL)]
API --> RD[(Redis)]
API --> FS[文件系统 STORAGE_ROOT/projects/<uuid>]
API --> WH[Whoosh 全文索引 search_index]
API --> ZV[ZVec 向量库 vector_index/<project_id>]
API --> LLM[LLM Provider: chat/embedding]
FS -->|变更同步| SVC[FileVectorSyncService → ZVec / SearchService]
```
## 三层结构(物理/逻辑/应用映射)
| 层 | 载体 | 说明 |
| --- | --- | --- |
| 应用层 | FastAPI/api/v1 + /mcp+ React SPA | 业务 API 与前端 |
| 数据层 | MySQL元数据/权限/状态、RedisToken/会话、文件系统内容、Whoosh/ZVec索引 | 结构化 vs 非结构化分离 |
| 基础设施 | docker-composebackend/frontend/mysql/redis、nginxfrontend 内) | 容器化部署 |
## 关键子系统
1. **认证**JWT Bearer + Redis Token 缓存双校验(见 DV-0001
2. **权限**RBACroles/system_menus/role_menus+ 项目级角色admin/editor/viewer双维度DV-0002/0004
3. **文件系统**`StorageService` 统一封装含路径安全校验DV-0002
4. **检索**Whoosh 全文DV-0005+ ZVec 语义DV-0006双引擎写路径后台同步ADR-08
5. **知识库**RAG 检索 + LLM 生成 + 引用支撑句对齐DV-0007
6. **开放**MCP Streamable HTTP/mcpbot 凭据映射到用户DV-0011
## 系统边界
- 进程内单后端REST 与 MCP 同挂一个 service。
- 存储边界:内容永不进 DB BLOBDB 只存元数据。
- 网络边界:前端经 nginx 反代 /api可同域免跨域/mcp 不可 301/302 重定向MCP 客户端要求)。