# 通用 Agent 平台设计草案 ## 1. 项目定位 `common_agent` 的目标是构建一个基于 Java、Spring Boot、Spring AI 的通用 Agent 平台,支持: - 多 Agent / 单 Agent 运行 - 工具调用与流程编排 - 会话上下文管理 - RAG 知识库接入 - 文件上传与附件管理 - 前后端统一的管理控制台 当前阶段已经完成平台骨架、公共接口规范、知识库/知识文档管理、文档上传、文档解析、解析快照、手动切片入口、模型平台基础配置与 Agent 定义管理/调试入口。 后续重点从"文档可切片"推进到"向量可检索"、"模型可路由"和"Agent 运行时可编排"。 ## 2. 总体设计思路 平台整体按"接入层 - 应用层 - 领域层 - 基础设施层"拆分: - **接入层** 提供 REST API,后续可扩展 WebSocket / SSE,用于前端控制台和外部系统接入。 - **应用层** 负责请求编排、DTO 转换、统一返回体、会话协调和 Agent 调度入口。 - **领域层** 承载核心业务对象,如系统枚举、附件、知识库、知识文档、Agent 配置、任务执行记录等。 - **基础设施层** 负责数据库访问、文件存储、模型调用、向量检索、日志、缓存和第三方工具适配。 ## 3. 核心模块规划 ### 3.1 系统基础模块 用于支撑整个平台的通用能力: - `sys_enum`:系统枚举配置(已完成 CRUD、批量新增、管理端查询) - `sys_attachment`:附件与文件上传(已完成本地上传、元数据持久化) - 文档解析抽象:`DocumentParser`、`DocumentParserFactory` 与 Tika 解析实现(已完成 TXT/Markdown/LOG、PDF、Word、Excel 文本抽取) - 统一 DTO / `RequestResult`(已完成) - 通用状态枚举、启用禁用枚举(已完成) - 全局异常处理 `GlobalExceptionHandler`(已完成) - 公共审计字段自动填充 `EntityAuditMetaObjectHandler`(已完成) - 后续可补用户、权限、审计等基础能力 ### 3.2 RAG 知识库模块 当前已有元数据管理、文档上传和解析入口: - `rag_store`:知识库主表(已完成 CRUD、编码唯一性校验) - `rag_document`:知识库文档表(已完成 CRUD、条件查询、批量上传、启停用) - `rag_chunk`:知识切片表结构、实体、Mapper、Service、定长/分隔符切片器与手动切片入口(已完成基础闭环) - `rag_chunk_embedding`:切片向量表结构、实体、Mapper、Service(已完成结构,待模型网关接入后生成向量) - RAG 解析状态枚举 `RagParseStatusEnum`(已完成) - RAG 索引状态枚举 `RagIndexStatusEnum`(已完成) - RAG 切片策略枚举 `RagChunkStrategyEnum`(已完成) - 文档解析接口 `/api/rag/documents/parse`(已完成状态流转、文本抽取和解析快照保存) - 文档切片接口 `/api/rag/documents/chunk`(已完成按解析快照生成并替换 `rag_chunk`) 后续计划继续扩展: - 接入模型服务商配置与模型路由,统一管理 Ollama、硅基流动、百炼等模型来源 - 调用 Embedding 模型并写入 `rag_chunk_embedding` - 检索召回与重排序 - 索引任务、失败重试和任务日志 当前设计原则: - 文件物理信息放在 `sys_attachment` - 业务归属关系通过 `storeId`、`attachmentId` 关联 - RAG 领域代码独立放在 `com.bruce.rag` ### 3.3 Agent 运行模块 当前已落地最小可用能力: - `agent_definition`:Agent 定义管理(CRUD、编码唯一校验、知识库绑定校验) - Agent 管理接口:`/api/agents/list`、`/api/agents/query`、`/api/agents/detail`、`/api/agents/save`、`/api/agents/delete` - Agent 调试接口:`POST /api/agents/{agentId}/chat`,支持普通对话与 RAG 对话两种模式 - Agent 调试链路:用户问题向量化 -> `rag_chunk_embedding` 相似度召回 -> 组装上下文 -> Chat 模型回答 -> 返回引用切片 - 统一模型调用日志:通过 `ChatModelGateway` 与 `model_call_log` 记录请求 ID、模型、耗时与 token 信息 后续平台重点能力: - Prompt 模板管理 - 会话上下文持久化与记忆 - 工具注册与调用协议 - 执行任务状态与日志 - 多步骤编排 建议后续补齐的核心对象: - `agent_session` - `agent_message` - `agent_task` - `agent_tool` ### 3.4 管理控制台模块 当前已建立基于 Vue 3、Vite、TypeScript、Element Plus 的前端控制台。 已具备的页面与布局: - 左侧管理菜单与品牌区(232px 侧边栏) - RAG 工作台(文档解析与切片概览) - 系统枚举管理页(完整 CRUD + 批量新增) - 附件管理入口(占位) - 知识库管理页(完整 CRUD + 概览卡片 + 双栏详情 + 批量上传入口) - 知识文档页(条件查询 + 批量上传 + 解析重试 + 批量切片 + 编辑/启停用/删除) - 切片任务页(解析成功/失败文档概览与切片入口) - Agent 管理页(Agent 定义管理与知识库绑定) - Agent 调试页(普通对话 / RAG 对话切换、引用切片回显) 前端技术要点: - Composition API + `