# 多智能体协同研发辅助系统 - 底座平台 ## 项目简介 本项目是一个基于 Spring Boot 3.x 构建的多智能体协同研发辅助系统底座平台,提供智能体注册与发现、执行流编排、任务调度、上下文管理等核心能力,支持第三方智能体快速接入。 ## 技术栈 - **Java 17** - **Spring Boot 3.2.5** - **Maven** - **Knife4j / Swagger OpenAPI 3.0**(接口文档) ## 核心功能 | 模块 | 说明 | |------|------| | 智能体管理 | 智能体注册、注销、查询、心跳检测、能力标签发现 | | 执行流管理 | 执行流创建、查询、删除、触发执行 | | 任务调度 | 执行流解析、依赖排序、节点状态跟踪(预留扩展) | | 上下文管理 | 全局数据 + 节点输出 + 元信息分层传递(预留扩展) | | 接口文档 | 集成 Knife4j + Swagger 3,提供可视化 API 调试页面 | ## 快速启动 ### 前提条件 - JDK 17+ - Maven 3.6+ ### 编译与运行 ```bash # 克隆项目后进入目录 cd multi-agent-platform # 编译打包 mvn clean package -DskipTests # 运行 java -jar target/demo-0.0.1-SNAPSHOT.jar # 或者直接使用 Maven 运行 mvn spring-boot:run ``` ### 访问接口文档 启动后访问以下地址: - **Knife4j UI**: http://localhost:8080/doc.html - **Swagger UI**: http://localhost:8080/swagger-ui.html - **OpenAPI JSON**: http://localhost:8080/v3/api-docs ## 健康检查 ```bash curl http://localhost:8080/health # 返回: {"status":"UP","timestamp":"...","service":"multi-agent-platform"} ``` ## API 概览 | 接口 | 方法 | 路径 | 说明 | |------|------|------|------| | 健康检查 | GET | `/health` | 系统健康状态 | | 注册智能体 | POST | `/api/v1/agent/register` | 注册新智能体 | | 注销智能体 | DELETE | `/api/v1/agent/unregister?id=xxx` | 注销指定智能体 | | 查询智能体列表 | GET | `/api/v1/agent/list?capability=xxx` | 按能力标签或查询全部 | | 查询智能体详情 | GET | `/api/v1/agent/{id}` | 查询单个智能体 | | 更新心跳 | PUT | `/api/v1/agent/{id}/heartbeat` | 更新智能体心跳 | | 创建执行流 | POST | `/api/v1/flow` | 创建执行流配置 | | 获取执行流 | GET | `/api/v1/flow/{id}` | 获取执行流详情 | | 查询所有执行流 | GET | `/api/v1/flow` | 获取全部执行流 | | 删除执行流 | DELETE | `/api/v1/flow/{id}` | 删除执行流 | | 触发执行流 | POST | `/api/v1/flow/execute` | 触发执行流运行 | | 查询执行状态 | GET | `/api/v1/flow/execution/{executionId}` | 查询执行进度 | ## 项目结构 ``` src/main/java/com/example/demo/ ├── DemoApplication.java # 启动类 ├── config/ │ └── OpenApiConfig.java # Swagger/Knife4j 配置 ├── controller/ │ ├── HealthController.java # 健康检查 │ ├── BusinessController.java # 智能体管理 API │ └── FlowController.java # 执行流管理 API ├── model/ │ ├── BusinessItem.java # 智能体元数据模型 │ ├── ExecutionFlow.java # 执行流配置模型 │ └── dto/ │ ├── ApiResponse.java # 统一响应封装 │ ├── AgentRegisterRequest.java # 注册请求 │ └── FlowExecuteRequest.java # 执行触发请求 ├── service/ │ ├── BusinessService.java # 智能体服务接口 │ ├── BusinessServiceImpl.java # 智能体服务实现(内存) │ ├── FlowService.java # 执行流服务接口 │ └── FlowServiceImpl.java # 执行流服务实现(内存) src/test/java/com/example/demo/ ├── DemoApplicationTests.java # 应用启动测试 └── BusinessServiceTest.java # 智能体服务单元测试 ``` ## 设计说明 ### 当前实现(内存存储) 所有业务数据基于 `ConcurrentHashMap` 存储在内存中,无需安装任何外部中间件即可启动运行。适用于功能验证、开发调试与接口联调。 ### 后续扩展预留 - **Repository 层**:当前 Service 直接操作内存 Map,后续可抽取 Repository 接口,对接 MySQL/PostgreSQL - **缓存层**:可引入 Redis 实现分布式缓存与心跳检测 - **消息队列**:可引入 MQ 实现异步任务调度与事件通知 - **调度引擎**:当前 `executeFlow` 为模拟实现,后续可对接真正的拓扑排序 + 线程池调度 - **认证授权**:可集成 Spring Security + JWT + RBAC - **智能体 SDK**:可提供标准 SDK 封装注册、心跳、执行等流程