docs:更新架构文档以反映当前代码实际状态

AGENT.md、README.md、ARCHITECTURE.md、ROADMAP.md 已根据最新代码更新:
- 补充 DTO 层、统一返回体、全局异常处理、审计自动填充等已完成项
- 更新前端控制台架构描述与页面实现状态
- 调整 RAG 模块状态描述(元数据层已完成,业务闭环待建设)
- 移除 docs 目录的 .gitignore 排除规则

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
zhiye.sun
2026-05-21 13:46:57 +08:00
parent 088853b098
commit 67cfbeb572
7 changed files with 511 additions and 510 deletions

121
AGENT.md
View File

@@ -11,22 +11,22 @@
- 文件上传与附件管理
- 前后端统一的管理控制台
当前阶段以先搭平台骨架,再逐步补智能能力为主,优先保证工程结构、接口规范、知识库链路和可扩展性。
当前阶段以"先搭平台骨架,再逐步补智能能力"为主,优先保证工程结构、接口规范、知识库链路和可扩展性。
## 2. 总体设计思路
平台整体按接入层 - 应用层 - 领域层 - 基础设施层拆分:
平台整体按"接入层 - 应用层 - 领域层 - 基础设施层"拆分:
- 接入层
提供 REST API后续可扩展 WebSocket / SSE用于前端控制台和外部系统接入。
- **接入层**
提供 REST API后续可扩展 WebSocket / SSE用于前端控制台和外部系统接入。
- 应用层
- **应用层**
负责请求编排、DTO 转换、统一返回体、会话协调和 Agent 调度入口。
- 领域层
- **领域层**
承载核心业务对象如系统枚举、附件、知识库、知识文档、Agent 配置、任务执行记录等。
- 基础设施层
- **基础设施层**
负责数据库访问、文件存储、模型调用、向量检索、日志、缓存和第三方工具适配。
## 3. 核心模块规划
@@ -35,18 +35,22 @@
用于支撑整个平台的通用能力:
- `sys_enum`:系统枚举配置
- `sys_attachment`:附件与文件上传
- 统一 DTO / `RequestResult`
- 通用状态枚举、启用禁用枚举
- `sys_enum`:系统枚举配置(已完成 CRUD、批量新增、管理端查询
- `sys_attachment`:附件与文件上传(已完成本地上传、元数据持久化)
- 统一 DTO / `RequestResult`(已完成)
- 通用状态枚举、启用禁用枚举(已完成)
- 全局异常处理 `GlobalExceptionHandler`(已完成)
- 公共审计字段自动填充 `EntityAuditMetaObjectHandler`(已完成)
- 后续可补用户、权限、审计等基础能力
### 3.2 RAG 知识库模块
当前已经有初步表设计与 Java 骨架
当前已有完整的元数据管理层
- `rag_store`:知识库主表
- `rag_document`:知识库文档表
- `rag_store`:知识库主表(已完成 CRUD、编码唯一性校验
- `rag_document`:知识库文档表已完成实体、Mapper、Service、条件查询
- RAG 解析状态枚举 `RagParseStatusEnum`(已完成)
- RAG 索引状态枚举 `RagIndexStatusEnum`(已完成)
后续计划继续扩展:
@@ -58,7 +62,7 @@
当前设计原则:
- 文件物理信息放在 `sys_attachment`
- 业务归属关系通过 `source_type``source_id` 或文档关联字段承接
- 业务归属关系通过 `storeId``attachmentId` 关联
- RAG 领域代码独立放在 `com.bruce.rag`
### 3.3 Agent 运行模块
@@ -82,52 +86,61 @@
### 3.4 管理控制台模块
当前已建立基于 Vue 3、Vite、Element Plus 的前端控制台基础骨架
当前已建立基于 Vue 3、Vite、TypeScript、Element Plus 的前端控制台。
已具备的页面与布局:
- 左侧管理菜单与品牌区
- 工作台入口
- 系统枚举管理页
- 附件管理入口
- 知识库入口
- 知识文档入口
- 左侧管理菜单与品牌区232px 侧边栏)
- 工作台(占位)
- 系统枚举管理页(完整 CRUD + 批量新增)
- 附件管理入口(占位)
- 知识库管理页(完整 CRUD + 双栏详情)
- 知识文档入口(占位)
前端技术要点:
- Composition API + `<script setup lang="ts">`
- Axios 封装,统一 `/api` 前缀,`RequestResult<T>` 信封解包
- Long 类型安全解析(`json-bigint` 防止 JS 精度丢失)
- 全局错误拦截与 Element Plus 弹窗提示
- Vitest + @vue/test-utils 单元测试
当前样式约定:
- 管理控制台定位为后台工具界面,优先保证信息密度、可扫描性和稳定布局。
- 主内容区域只保留页面自身标题,避免外层布局和页面面板重复展示标题。
- 页面统一使用 `page-panel` 作为内容容器,侧边栏、页面面板、工具栏和表格使用统一边框、背景和主色变量。
- 系统枚举页工具栏采用响应式布局,桌面端保持查询项和操作按钮分区,窄屏时纵向排列
- 全局样式集中在 `frontend/src/styles/global.css`,页面专属样式在对应 `.vue` 文件的 scoped style 中
后续控制台至少继续覆盖:
- 枚举管理
- 附件管理
- 知识库管理
- 文档上传与状态查看
- 附件管理页面前端联调
- 知识文档管理页面前端联调
- Agent 调试页
- 执行日志查看
## 4. 当前接口设计原则
项目后续统一遵循这些规则:
项目统一遵循这些规则:
1. `controller` 不直接暴露实体类
所有请求和响应优先走 DTO。
1. `controller` 不直接暴露实体类
所有请求和响应走 DTO。
2. `service` 尽量以 DTO 为边界
2. `service` 以 DTO 为边界
持久化实体只在内部流转,不直接穿透到外层接口。
3. 查询条件不直接使用多个裸参数
尽量改成 `QueryRequest` / `SaveRequest` / `Response` 形式。
3. 查询条件使用请求 DTO
统一使用 `QueryRequest` / `SaveRequest` / `Response` 形式。
4. 统一返回体
4. 统一返回体
使用 `RequestResult<T>` 作为标准响应包装。
5. 基础枚举统一化
5. 基础枚举统一化
通用状态、启用禁用、RAG 解析/索引状态等统一管理。
6. OpenAPI 注解覆盖
所有 Controller、DTO 使用 `@Tag``@Operation``@Schema` 注解。
## 5. 数据与存储设计
### 5.1 关系型数据库
@@ -138,7 +151,8 @@
- 业务表采用 PostgreSQL 规范 SQL
- 主键使用 MyBatis-Plus `ASSIGN_ID`
- 通用字段沉淀到 `BaseEntity`
- 通用字段沉淀到 `BaseEntity`(含审计字段 + 乐观锁 `version`
- 审计字段通过 `EntityAuditMetaObjectHandler` 自动填充
### 5.2 向量能力
@@ -152,7 +166,7 @@
### 5.3 文件存储
当前先走本地文件存储,后续可抽象成:
当前使用本地文件存储`AttachmentProperties.basePath` 默认 `data/attachments`,后续可抽象成:
- 本地文件系统
- MinIO / S3
@@ -160,35 +174,28 @@
## 6. 当前阶段开发优先级
建议优先顺序如下:
1. 统一接口层规范
DTO、返回体、基础校验、通用异常处理
2. 收紧基础模块
`sys_enum``sys_attachment`
3. 补全 RAG 基础业务闭环
`rag_store``rag_document`、文件归属、文档状态
1. ~~统一接口层规范~~ DTO、返回体、基础校验、通用异常处理已完成
2. ~~收紧基础模块~~ `sys_enum``sys_attachment`(已完成)
3. ~~补全 RAG 基础元数据管理~~ `rag_store``rag_document`(已完成)
4. 接入 Spring AI
5. 建立 Agent 运行时骨架
6. ~~补前端控制台基础骨架~~(已完成,部分页面待联调)
6. 补前端控制台
剩余重点:
当前前端控制台已经完成基础骨架和系统枚举页面样式优化,后续重点应转向附件、知识库、知识文档页面的业务闭环
- 完善 RAG 文档上传、解析、索引的业务闭环
- 补齐前端附件管理、知识文档页面的表单与接口联调
- 接入 Spring AI 并实现模型调用链路
## 7. 下一步建议
结合当前代码状态,接下来建议重点做:
- 完成现有三块接口 DTO 化改造
- 建立统一异常处理和错误码规范
- 完善 `rag_store` / `rag_document` 的增删改查
- 增加知识库文档上传并自动关联附件
- 实现知识库文档上传并自动创建 `rag_document` 记录
- 建立文档解析任务入口与状态流转
- 为后续切片与向量化预留任务入口
- 补齐前端附件、知识库、知识文档页面的表单、列表和接口联调
- 补齐前端附件管理、知识文档页面的联调
- 接入 Spring AI实现最小模型调用链路
## 8. 文档用途说明
@@ -203,4 +210,4 @@
- `agent-runtime.md`
- `rag-design.md`
- `api-style.md`
- `frontend-console.md`
- `frontend-console.md`