liuhuaqiang/README.md

121 lines
4.5 KiB
Markdown
Raw Permalink 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.

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