Files
common_agent/docs/模块完成度审计.md

276 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Common Agent Studio 模块完成度审计
## 1. 审计范围
本次审计以当前仓库最新状态为准,核对以下资料与实现是否一致:
- `docs/需求分析/*`
- `docs/设计文档/*`
- `docs/数据库设计/*`
- `docs/后端实现文档/*`
- `docs/前端实现文档/*`
- `script/sql/*.sql`
审计目标不是重复设计方案,而是确认当前代码、接口、测试与文档约束之间的对应关系,并标记仍需持续关注的风险点。
## 2. 总体结论
- Maven 多模块单体骨架已落地,根 `pom.xml` 已拆分 `common-agent-boot``common-agent-common``common-agent-rag``common-agent-modelprovider``common-agent-agent``common-agent-workflow``common-agent-mcp``common-agent-skill``common-agent-observability`
- 后端已按业务域拆分模块,每个业务模块均已形成 `controller / service / service/impl / mapper / entity / dto / vo / factory` 主体结构。
- `sys_enum`、整型枚举协议、`PersistableSysEnumDefinition` 契约、`BaseEntity` 审计习惯均保持不变。
- 前端 Studio 九个工作台页面均已对接真实 APIAPI 层与页面单测已覆盖主要聚合接口。
- 旧管理接口继续兼容Studio 原型新增聚合接口用于支撑工作台页面,不替代低层 CRUD 接口。
## 3. 模块核对
### 3.1 common
已核对内容:
- 实体与 SQL 对应:
- `sys_enum` -> `common-agent-common/src/main/java/com/bruce/common/domain/entity/SysEnum.java`
- `sys_attachment` -> `common-agent-common/src/main/java/com/bruce/common/domain/entity/SysAttachment.java`
- 基础模型:
- `BaseEntity``RequestResult<T>`、全局异常、审计配置均位于 `com.bruce.common`
- 接口:
- `POST /api/sys-enum/list`
- `POST /api/sys-enum/query`
- `POST /api/sys-enum/queryForManagement`
- `GET /api/sys-enum/detail`
- `POST /api/sys-enum/save`
- `POST /api/sys-enum/batchSave`
- `POST /api/sys-enum/delete`
- `POST /api/attachments/upload`
- 文档解析:
- `document/parse``document/parse/impl` 已提供解析抽象和解析器工厂
证据:
- 代码:`common-agent-common/src/main/java/com/bruce/common/controller/*`
- 测试:
- `common-agent-common/src/test/java/com/bruce/common/controller/SysEnumControllerTests.java`
- `common-agent-common/src/test/java/com/bruce/common/factory/*`
- `common-agent-common/src/test/java/com/bruce/common/document/parse/*`
- `common-agent-common/src/test/java/com/bruce/common/handler/GlobalExceptionHandlerTests.java`
### 3.2 rag
已核对内容:
- 实体已覆盖:
- `rag_store`
- `rag_document`
- `rag_document_parse_result`
- `rag_chunk`
- `rag_chunk_embedding`
- 旧接口保持兼容:
- `/api/rag/store/*`
- `/api/rag/documents/*`
- 聚合接口已提供:
- `GET /api/knowledge/workspaces/{storeId}`
- `POST /api/knowledge/ingestion-runs`
- `GET /api/knowledge/ingestion-runs/{runId}`
- 受控最小运行链路已落地:
- 批量上传
- 手动解析
- 手动切片
- 向量化记录聚合查询
本轮补充:
- 新增 `POST /api/knowledge/ingestion-runs`,与前端实现文档草案保持一致。
证据:
- 代码:
- `common-agent-rag/src/main/java/com/bruce/rag/controller/*`
- `common-agent-rag/src/main/java/com/bruce/rag/service/impl/IngestionRunServiceImpl.java`
- 测试:
- `common-agent-rag/src/test/java/com/bruce/rag/controller/IngestionRunControllerTests.java`
- `common-agent-rag/src/test/java/com/bruce/rag/ingestion/IngestionRunServiceTests.java`
- `common-agent-rag/src/test/java/com/bruce/rag/workspace/KnowledgeWorkspaceServiceTests.java`
- 其余 `Rag*Tests`
### 3.3 modelprovider
已核对内容:
- 实体已覆盖:
- `model_provider`
- `model_config`
- `model_route_rule`
- `rag_store_model_config`
- `model_call_log`
- 控制器已覆盖:
- `ModelProviderController`
- `ModelConfigController`
- `ModelRouteRuleController`
- `RagStoreModelConfigController`
- `ModelCallLogController`
- `ModelWorkspaceController`
- 网关抽象已位于 `gateway`
证据:
- 代码:`common-agent-modelprovider/src/main/java/com/bruce/modelprovider/**/*`
- 测试:
- `common-agent-modelprovider/src/test/java/com/bruce/modelprovider/controller/ModelWorkspaceControllerTests.java`
- `common-agent-modelprovider/src/test/java/com/bruce/modelprovider/workspace/ModelWorkspaceServiceTests.java`
- `common-agent-modelprovider/src/test/java/com/bruce/modelprovider/factory/ModelProviderFactoryTests.java`
### 3.4 agent
已核对内容:
- 实体已覆盖:
- `agent_definition`
- `agent_session`
- `agent_message`
- `agent_capability_binding`
- 兼容接口与会话接口并存:
- Agent 定义管理
- `/api/agents/{agentId}/chat`
- `/api/agent-sessions/*`
- 工作台聚合接口
证据:
- 代码:`common-agent-agent/src/main/java/com/bruce/agent/**/*`
- 测试:
- `common-agent-agent/src/test/java/com/bruce/agent/controller/AgentSessionControllerTests.java`
- `common-agent-agent/src/test/java/com/bruce/agent/session/AgentSessionServiceTests.java`
- `common-agent-agent/src/test/java/com/bruce/agent/workspace/AgentWorkspaceServiceTests.java`
### 3.5 workflow
已核对内容:
- 实体已覆盖:
- `studio_project`
- `workflow_definition`
- `workflow_version`
- `workflow_run`
- `workflow_run_step`
- 控制器已覆盖:
- `ProjectController`
- `WorkflowDefinitionController`
- `WorkflowVersionController`
- `WorkflowRunController`
- `WorkflowWorkspaceController`
- 前端工作台聚合使用 `GET /api/workflow-workspace/detail`
旧管理接口继续承担定义、版本与运行管理能力。
说明:
- 前端实现文档中的 REST 草案与当前聚合接口命名不完全一致,但职责已由 `WorkflowWorkspaceController` 承接,且不影响旧接口兼容。
证据:
- 代码:`common-agent-workflow/src/main/java/com/bruce/workflow/**/*`
- 测试:
- `common-agent-workflow/src/test/java/com/bruce/workflow/controller/WorkflowWorkspaceControllerTests.java`
- `common-agent-workflow/src/test/java/com/bruce/workflow/workspace/WorkflowWorkspaceServiceTests.java`
- `common-agent-workflow/src/test/java/com/bruce/workflow/version/WorkflowVersionServiceTests.java`
- `common-agent-workflow/src/test/java/com/bruce/workflow/WorkflowComponentStructureTests.java`
### 3.6 mcp
已核对内容:
- 实体已覆盖:
- `mcp_server`
- `mcp_capability`
- 接口已覆盖:
- `POST /api/mcp/import`
- `GET /api/mcp/servers`
- `GET /api/mcp/servers/{serverId}/capabilities`
- `GET /api/mcp/servers/code/{serverCode}/capabilities`
- `POST /api/mcp/capabilities/save`
- `GET /api/mcp/workspace`
证据:
- 代码:`common-agent-mcp/src/main/java/com/bruce/mcp/**/*`
- 测试:
- `common-agent-mcp/src/test/java/com/bruce/mcp/controller/McpImportControllerTests.java`
- `common-agent-mcp/src/test/java/com/bruce/mcp/importing/McpImportServiceTests.java`
- `common-agent-mcp/src/test/java/com/bruce/mcp/workspace/McpWorkspaceServiceTests.java`
### 3.7 skill
已核对内容:
- 实体已覆盖:
- `skill_definition`
- `skill_version`
- 工作台接口已覆盖:
- `GET /api/skills/{skillCode}`
- `POST /api/skills/{skillCode}/draft`
- `POST /api/skills/{skillCode}/test`
- `POST /api/skills/{skillCode}/publish`
- `POST /api/skills/{skillCode}/archive`
证据:
- 代码:`common-agent-skill/src/main/java/com/bruce/skill/**/*`
- 测试:
- `common-agent-skill/src/test/java/com/bruce/skill/controller/SkillWorkspaceControllerTests.java`
- `common-agent-skill/src/test/java/com/bruce/skill/version/SkillVersionServiceTests.java`
- `common-agent-skill/src/test/java/com/bruce/skill/workspace/SkillWorkspaceServiceTests.java`
### 3.8 observability
已核对内容:
- 聚合来源已复用:
- `workflow_run`
- `workflow_run_step`
- `model_call_log`
- `agent_session`
- `agent_message`
- 接口已覆盖:
- `GET /api/observability/runs`
- `GET /api/observability/runs/{requestId}`
- `GET /api/observability/model-calls`
- `GET /api/observability/runs/{requestId}/export`
- 导出接口返回脱敏摘要对象
证据:
- 代码:`common-agent-observability/src/main/java/com/bruce/observability/**/*`
- 测试:
- `common-agent-observability/src/test/java/com/bruce/observability/controller/ObservabilityTraceControllerTests.java`
- `common-agent-observability/src/test/java/com/bruce/observability/trace/ObservabilityTraceServiceTests.java`
## 4. 前端对接核对
已核对内容:
- Studio 页面:
- `frontend/src/pages/studio/StudioDashboardPage.vue`
- `frontend/src/pages/studio/KnowledgeWorkspacePage.vue`
- `frontend/src/pages/studio/IngestionPipelinePage.vue`
- `frontend/src/pages/studio/ModelWorkspacePage.vue`
- `frontend/src/pages/studio/WorkflowBuilderPage.vue`
- `frontend/src/pages/studio/AgentWorkspacePage.vue`
- `frontend/src/pages/studio/McpImportPage.vue`
- `frontend/src/pages/studio/SkillWorkspacePage.vue`
- `frontend/src/pages/studio/ObservabilityPage.vue`
- API 封装已覆盖:
- `frontend/src/api/*.ts`
- 页面/API 单测已覆盖:
- `frontend/src/pages/studio/__tests__/*`
- `frontend/src/api/__tests__/*`
## 5. 当前仍需持续关注的风险
- 当前多数“mapper / repository 验证”仍以结构契约测试为主,真实数据库集成测试覆盖度有限。
- 部分前端实现文档中的接口命名是草案,当前实现更多采用“旧管理接口 + Studio 聚合接口”的双轨方式;职责已覆盖,但验收时需要按“能力是否已落地”而非“路径字面一致”判断。
- 现有运行链路以“主数据优先 + 最小可运行”实现为主,复杂分支调度、远程 MCP 实时执行编排、重型运行器能力仍适合后续继续增强。
## 6. 本次审计后的新增变更
- 新增 `POST /api/knowledge/ingestion-runs`,补齐前端实现文档中的摄取运行创建入口。
- 补充 `IngestionRunControllerTests` 与前端 `ingestion.spec.ts` 创建接口测试。
- 补充 `WorkflowWorkspaceController` 中文注释与标准化业务日志。