My-Agent - 基于Java和Spring AI的智能体开发平台

项目简介

My-Agent是一个现代化的AI智能体开发平台,基于Java和Spring AI构建,提供完整的AI智能体管理和工作流执行能力。该平台集成了多种AI模型和工具,支持智能体配置、工作流编排、知识库检索等功能,采用前后端分离架构,为开发者提供了完整的智能体生命周期管理解决方案。

github仓库地址: https://github.com/szhuima/my-agent

核心特性

智能体管理

  • 多模型支持:集成OpenAI、Ollama等多种AI模型,灵活应对不同场景需求
  • 智能体配置:支持系统提示词、工具配置、顾问配置等全方位设置
  • 对话记忆:支持会话级别的对话记忆管理,提升交互连续性
  • 流式对话:提供实时流式对话体验,增强用户交互感受

工作流引擎

  • 可视化编排:基于Flowgram.ai的工作流可视化编辑器,降低编排复杂度
  • 多样化节点:支持HTTP调用、批量处理、循环控制等多种节点类型
  • DSL支持:基于YAML的工作流定义语言,便于版本控制和协作
  • 执行监控:实时工作流执行状态监控,及时发现并解决问题

知识库检索 (RAG)

  • 向量存储:基于PgVector的向量数据库,提供高效向量检索
  • 文档检索:支持语义检索和相似度匹配,精准定位相关信息
  • 文档处理:自动文档分块和向量化,提升检索质量
  • 多知识库:支持多个独立知识库管理,满足不同业务需求

工具集成

  • MCP工具:支持Model Context Protocol工具集成,扩展AI能力边界
  • 自定义工具:可扩展的自定义工具开发框架,满足个性化需求
  • 工具编排:智能体与工具的协同工作,提高问题解决效率

技术栈

后端技术

  • 框架:Spring Boot 3.x、Spring AI
  • 数据库:MySQL 8.0、PostgreSQL (PgVector)
  • ORM:MyBatis Plus 3.5.5
  • 缓存:Redis 6.2
  • 安全:JWT认证
  • 构建工具:Maven
  • Java版本:JDK 21

前端技术

  • 框架:React 18、TypeScript
  • UI组件:Semi UI (@douyinfe/semi-ui)
  • 路由:React Router 6
  • 构建工具:Rsbuild 1.2.16
  • 工作流编辑器:Flowgram.ai组件

部署与运维

  • 容器化:Docker、Docker Compose
  • 版本控制:Git

项目架构

My-Agent项目采用清晰的前后端分离架构,整体由两大部分组成:后端服务(agent-station)和前端应用(my-agent-front)。后端服务采用模块化设计,遵循DDD分层架构原则,确保代码的可维护性和扩展性。

后端模块职责

  • agent-station-domain:核心领域模型和业务逻辑,包含实体、仓储接口、领域服务等
  • agent-station-app:应用服务层,协调领域对象完成业务流程,包含应用服务和控制器
  • agent-station-infrastructure:基础设施层,实现领域层定义的接口,包含数据访问、外部系统集成等
  • agent-station-api:API接口定义,包含DTO、VO等数据传输对象
  • agent-station-trigger:触发器模块,处理定时任务、事件触发等功能

[项目架构图位置 - 建议上传一张展示系统架构的图片]

快速开始

环境准备

  • JDK:21或更高版本
  • Maven:3.8.0或更高版本
  • MySQL:8.0或更高版本
  • PostgreSQL:13或更高版本(带PgVector扩展)
  • Redis:6.2或更高版本
  • Node.js:18.0或更高版本
  • Docker (可选):用于容器化部署

容器化部署(推荐)

项目提供了完整的自动化部署脚本,只需执行一条命令即可完成从代码构建到容器启动的全流程:

bash

# 后端部署
cd agent-station
sh pipeline.sh

# 前端部署
cd ../my-agent-front
sh build.sh

功能演示

智能体管理界面

My-Agent提供了直观的智能体管理界面,支持智能体的创建、配置和测试。

调试页面:

工作流编排功能

基于Flowgram.ai的可视化工作流编辑器,让复杂业务流程的编排变得简单直观。

知识库检索功能

支持多格式文档导入、自动分块和向量化,提供高质量的语义检索体验。

安全特性

My-Agent在设计中充分考虑了安全性,包含以下安全特性:

  • JWT认证:基于JSON Web Token的用户认证机制
  • 后续会支持更多安全特性

监控与日志

项目集成了完善的监控与日志系统,便于问题排查和性能优化:

  • SLF4J日志框架:统一的日志管理
  • Spring Boot Actuator:应用监控端点

贡献指南

我们欢迎社区贡献,如果你有任何想法或建议,请提交Issue或Pull Request。

  1. Fork本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启Pull Request

许可证

本项目采用Apache License 2.0许可证。


My-Agent项目为AI智能体开发提供了一个全面而强大的平台,无论是用于企业级应用还是个人项目,都能显著提升开发效率。通过结合先进的AI技术和现代化的架构设计,My-Agent为构建智能应用提供了坚实的基础。

Logo

更多推荐