项目介绍
什么是 Agent Plus
Agent Plus 是一个面向 Agent 管理、工作流编排的开源 AI 基座项目,适合作为 AI Agent 平台、智能体运营后台、流程编排系统、知识库/工具管理平台等项目的起点。
核心能力
LLM 模型管理
- 支持千问(DashScope)、豆包(火山引擎)等主流模型
- 支持任意 OpenAI 兼容协议的模型接入
- 模型元数据统一管理、动态路由
- LLM 调用日志完整记录(
ai_llm_call_log)
知识库
- 支持 PDF、Word、Markdown、TXT 等多种文档格式
- 基于 Apache Tika 的文档内容提取
- 可配置的文档分块策略
- Redis 向量库存储与检索
- 知识库检索日志记录(
ai_knowledge_retrieval_log)
工作流编排与执行
- 基于 Vue Flow 的可视化编排界面
- 8 种内置节点类型(Start/End/LLM/Knowledge/Tool/Condition/Aggregator/Batch)
- 基于 langgraph4j 的 StateGraph 执行引擎
- 条件分支剪枝、批处理子图并行执行
- 工作流版本管理(
ai_flow_version)
AI 链路追踪
- OpenTelemetry 手动 SDK 模式集成
- Span 落库(
ai_trace_span、ai_trace_span_payload) - Token 用量、节点执行时间统计
- AI 用量统计分析
系统管理
- 用户、角色、部门、菜单管理
- 字典管理、系统配置
- 操作日志、登录日志
技术架构
后端技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| Spring Boot | 3.5.2 | 应用框架 |
| Java | 21 | 开发语言 |
| MyBatis-Plus | 3.5.x | ORM 框架 |
| MySQL | 5.7/8.0 | 数据存储 |
| Redis | 8.8 | 缓存 + 向量存储 |
| LangChain4j | 1.17.2 | AI 能力集成 |
| LangGraph4j | 1.8.20 | 工作流编排引擎 |
| Apache Tika | 2.9.2 | 文档内容提取 |
| OpenTelemetry SDK | 1.64.0 | 链路追踪 |
前端技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| Vue | 3.5.x | 前端框架 |
| Vite | 5.3.x | 构建工具 |
| Element Plus | 2.9.x | UI 组件库 |
| Vue Flow | 1.48.x | 工作流编排画布 |
| Pinia | 2.1.x | 状态管理 |
| ECharts | 6.1.x | 图表组件 |
项目结构
后端(agent-plus)
agent-plus/
├── agent-plus-common/ # 公共模块(工具类、常量、异常、基础 VO)
├── agent-plus-core/ # 核心抽象与 VO
│ └── aiflow/vo/workflow/ # 前端 AgentPlusFlow 序列化的工作流模型
│ └── trace/ # Trace 工具类
├── agent-plus-id/ # ID 生成
├── agent-plus-interface/ # 接口定义
├── agent-plus-engine/ # 工作流执行引擎
│ ├── engine/
│ │ ├── config/ # Spring Boot 自动装配
│ │ ├── context/ # ExecutionContext、NodeOutput 等
│ │ ├── executor/ # 节点执行器(8 种内置实现)
│ │ ├── graph/ # 图编译器、StateGraph 集成
│ │ ├── llm/ # ChatModelProvider 接口
│ │ ├── knowledge/ # KnowledgeRetriever 接口
│ │ ├── tool/ # ToolRegistry
│ │ └── trace/ # @TraceSpan AOP 切面
├── agent-plus-plugin/ # 可插拔实现
│ ├── plugin/
│ │ ├── llm/ # AiModelChatModelProvider(主实现)
│ │ ├── vectorstore/ # Redis 向量库集成
│ │ ├── document/ # 文档抽取、分块
│ │ └── tool/ # 内置工具(计算器、当前时间)
├── agent-plus-service/ # 业务服务层
│ ├── ai/ # AI 相关服务
│ ├── library/ # 知识库、模型、工具、插件服务
│ ├── aiflow/ # 工作流服务
│ ├── ailog/ # AI 日志服务
│ └── aistat/ # AI 统计服务
└── agent-plus-web/ # Web 应用层
├── controller/ # REST 控制器
├── config/ # Spring 配置
└── scheduled/ # 定时任务前端(agent-plus-admin-front)
agent-plus-admin-front/
├── src/
│ ├── components/
│ │ └── AgentPlusFlow/ # 工作流设计器组件
│ │ └── workflow/ # 工作流编排核心组件
│ ├── views/
│ │ ├── ai/ # AI 相关页面(Agent、聊天)
│ │ ├── aiflow/ # 工作流相关页面
│ │ ├── aistat/ # AI 统计相关页面
│ │ ├── library/ # 资源库(模型、知识库、工具、插件)
│ │ └── system/ # 系统管理页面
│ ├── api/ # API 接口
│ ├── store/ # Pinia 状态管理
│ └── utils/ # 工具方法
└── public/ # 静态资源开源协议
MIT License