图_1项目设计
原生 Excalidraw 可编辑画布,基于 SuperMew-0.1.0。请使用 Obsidian 的 Excalidraw 视图打开。
视图归属: 系统总览。
如何读总图
- 系统分为五层、八个职责模块 M1~M8。
- 模块卡片只链接一张模块主图;子专题从对应主图继续进入。
- 灰色依赖区是第三方服务,不是额外业务模块。
- 分层表示职责,M3/M6 也可直接访问 M8,不是强制逐层调用。
两条主链
- 问答:M1 → M2 → M3 → M4 → M5;M8 承担历史与证据存储。
- 入库:M1 → M2 → M6 → M7 → M8。
- 跨轮 HITL 和 SSE 归 M3 编排;前端 M1 负责消费事件和展示。
源码对应
backend/app.py:create_app()backend/api/router.pybackend/chat/service.py:chat_with_agent()backend/chat/runtime.py:create_agent_for_request()backend/api/resources.pydocker-compose.prod.yml
本次层级修正
导航规则
- 每个模块框只链接一张模块主图;模块主图再链接自己的专题。
- M3:图 02 → HITL 图 09 / SSE 图 10;M5:图 05 → 检索图 04;M8:图 06 → ER 图 07。
- M7 主图新增为图 15;图 03 / 08 作为跨模块协作视图保留在连接线上。
依赖与数据流
- M5 → M8:查询 Milvus,回取 Redis/PG 父块;M7 → M8:写入父块、叶子与向量。
- M4 通过 M5 获取知识;有效 HITL 恢复可由 M3 直接进入 M5。
- L4 分层外框不再承担到 M8 的聚合箭头;外部依赖按卡片注明的调用方使用。
Excalidraw Data
Text Elements
M1 前端交互 · [[图_14前端交互与状态流|图14]] Vue / Pinia:登录、聊天、历史、文档、引用与 Trace ^abdead22
M2 接口与鉴权 · [[图_11鉴权与会话管理|图11]] FastAPI / Pydantic:auth、sessions、chat、documents;JWT 与 DB 角色判断 ^5db8a6e5
M3 会话与对话编排 · [[图_2用户问答流程|图2]] ConversationStorage / Chat Service / 请求 ctx 历史、笔记、跨轮 HITL、SSE 与结果保存 ^af260cf1
M6 文档管理 · [[图_12文档删除流程|图12]] 列表 / 上传 / 删除 / 同名清理 BackgroundTasks 与进度查询 ^4b4a5fc6
M4 Agent 与工具运行时 · [[图_13Agent与工具运行时|图13]] MODEL / ToolMessage 知识工具 / 天气工具 ^69788940
M5 RAG 知识引擎 · [[图_5RAG决策流程|图5]] Hybrid / Merge / Rerank 评分 / 改写 / Send / 证据合并 ^1388d992
M7 文档索引 · [[图_15文档索引模块设计|图15]] 解析 / 清洗 / 三级分块 父块入库 / 叶子向量化 ^de3cf481
L5 数据与基础设施层 · M8 · [[图_6数据存储与状态|图6]] PG:用户、会话、消息、父块 | Redis:历史/列表/父块缓存 | Milvus:L3 dense + BM25 本地原文 data/documents | Milvus 底层 etcd / MinIO ^6f2c565f
L1 交互层 ^7e8f97cb
L2 接入层 ^a552897b
L3 业务编排层 ^6114f03f
L4 智能执行层 ^141fba4e
问答:M1→M2→M3→M4→M5;入库:M1→M2→M6→M7→M8。共享知识库;按用户隔离会话。 ^5630d4d6
发起索引任务 · [[图_3文档入库流程|图3]] ^i71hJVHM
写入分层文档块 · [[图_8三级分块与跨库关联|图8]] ^7TMn47vq
检索、读取父块 ^HoeaIoJa
HITL 定向恢复 ^8912739d
Element Links
6d5bd0d2: [[图_14前端交互与状态流]]
5f79ac70: [[图_11鉴权与会话管理]]
84ab6c07: [[图_2用户问答流程]]
c62d2307: [[图_12文档删除流程]]
bef589dc: [[图_13Agent与工具运行时]]
09315cd8: [[图_5RAG决策流程]]
b4d727ee: [[图_15文档索引模块设计]]
6a8fcd3d: [[图_6数据存储与状态]]
abdead22: [[图_14前端交互与状态流]]
5db8a6e5: [[图_11鉴权与会话管理]]
af260cf1: [[图_2用户问答流程]]
4b4a5fc6: [[图_12文档删除流程]]
69788940: [[图_13Agent与工具运行时]]
1388d992: [[图_5RAG决策流程]]
de3cf481: [[图_15文档索引模块设计]]
6f2c565f: [[图_6数据存储与状态]]
i71hJVHM: [[图_3文档入库流程]]
7TMn47vq: [[图_8三级分块与跨库关联]]
%%
Drawing
1 | N4KAkARALgngDgUwgLgAQQQDwMYEMA2AlgCYBOuA7hADTgQBuCpAzoQPYB2KqATLZMzYBXUtiRoIACyhQ4zZAHoFAc0JRJQgEYA6bGwC2CgF7N6hbEcK4OCtptbErHALRY8RMpWdx8Q1TdIEfARcZgRmBShcZQUebR4ATm0ARho6IIR9BA4oZm4AbXAwUDBSiBJuCAAzHk0AFgBWBAA2VP4y2ERKwOwojmVgtNLITG4AdgAGdsgYbgaGqaLIChJ1 |
%%