liuhuaqiang/README.md

121 lines
4.5 KiB
Markdown
Raw Permalink Normal View History

2026-05-27 06:34:57 +00:00
# 多智能体协同研发辅助系统 - 底座平台
2026-05-27 04:20:20 +00:00
2026-05-27 06:34:57 +00:00
## 项目简介
本项目是一个基于 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 封装注册、心跳、执行等流程