开源 Java AI Agent 智能体工作流平台:Spring Boot + Vue3 + RAG 知识库 + Tool Calling + MCP + Milvus
最近整理并开源了一个 Java 版 AI Agent 工作流平台:OpenAgentFlow-Java。
项目地址:
https://github.com/wuruiwurui/OpenAgentFlow.git
如果你正在学习 AI Agent、RAG、Tool Calling、MCP、工作流编排,或者想了解一个企业级 AI 应用平台应该如何从后端、前端、数据库、Trace、权限、成本治理等方面完整落地,这个项目应该会有一些参考价值。
为什么做这个项目
现在很多 AI 应用 Demo 可以完成一次简单的大模型调用,也可以接一个向量库做知识库问答。但真正进入企业场景后,问题会复杂很多:
-
如何管理多个模型供应商和模型接入点?
-
如何让每个 Agent 绑定不同的模型、Prompt、知识库和工具?
-
文档上传后如何解析、切片、向量化并写入 Milvus?
-
Agent 调用了哪些工具,入参出参是什么,失败原因在哪里?
-
一次运行中 LLM、RAG、Tool、Workflow 的完整链路如何追踪?
-
如何批量评测 Agent 效果,而不是只靠手动调试?
-
Token 和成本如何统计,如何按用户、Agent、模型、工作流拆分?
OpenAgentFlow-Java 的目标,就是把这些链路尽量完整地串起来,做成一个可以运行、可以追踪、可以评测、可以继续扩展的 AI Agent 应用开发底座。
项目技术栈
后端:
-
Java 21
-
Spring Boot 3.3
-
Spring Security
-
JWT
-
MyBatis-Plus
-
MySQL 8
-
Redis 7
-
Milvus 2.4
前端:
-
Vue 3
-
TypeScript
-
Vite
-
Vue Router
-
Vue Flow
-
lucide-vue-next
AI 能力:
-
OpenAI-compatible Chat
-
SSE 流式输出
-
Embedding
-
Function Calling
-
RAG
-
MCP 工具接入
工程能力:
-
Docker Compose
-
GitHub Actions
-
PowerShell 本地启动脚本
-
中文开源文档
-
SQL 初始化脚本
项目核心能力
1. 登录与权限
项目已经接入 Spring Security、JWT 和 Redis,支持用户登录、验证码、角色、权限和接口鉴权。
这部分是后续所有管理功能的入口,也是一个平台型项目必须具备的基础能力。
2. 模型供应商管理
支持配置 OpenAI-compatible、豆包方舟、Ollama、DeepSeek、Qwen 等模型供应商。
平台提供模型连通性测试、普通聊天接口、SSE 流式输出,并记录模型调用的 Token、耗时、错误信息和成本。
3. Agent 管理
支持 Agent 创建、编辑、删除、发布、复制、详情、调试运行。
每个 Agent 可以配置:
-
System Prompt
-
模型参数
-
绑定模型
-
绑定知识库
-
绑定工具
-
资源级权限
-
历史会话
这样 Agent 不只是一个简单 Prompt,而是一个可以被管理、调试、运行和追踪的业务对象。
4. RAG 知识库
知识库模块覆盖了完整 RAG 主链路:
-
知识库 CRUD
-
文档上传
-
文档解析
-
文档切片
-
Embedding 调用
-
Milvus 向量写入
-
检索测试
-
引用来源
-
Agent 绑定知识库
-
调试台展示真实引用来源
这部分可以帮助开发者理解企业知识库问答系统的基本实现方式。
5. Tool Calling 工具调用
平台内置工具中心,目前支持:
-
REST API 工具
-
Webhook 工具
-
数据库查询工具
-
MCP 工具
工具支持 Schema 配置、连通性测试、风险等级、调用日志和 Trace 记录。
Agent 调试时可以自动识别并调用工具,再把工具执行结果交给模型生成最终回答。
6. MCP 工具接入
项目支持 MCP Server 管理、连接测试、tools/prompts/resources 发现,并可以将 MCP 工具同步到工具中心。
同步后的 MCP 工具可以像普通工具一样绑定到 Agent,也可以在工作流工具节点中调用。
7. 可视化工作流编排
前端使用 Vue Flow 实现工作流画布,支持节点编排和连线。
当前支持的节点类型包括:
-
开始节点
-
LLM 节点
-
RAG 节点
-
工具节点
-
条件节点
-
结束节点
后端实现了基础工作流执行引擎,支持上下文变量传递、发布、版本管理和执行 Trace。
8. 运行 Trace
Trace 是这个项目里非常重要的一环。
平台会统一记录一次运行中的关键步骤,例如:
-
LLM 输入输出
-
RAG 检索来源
-
工具调用入参出参
-
工作流节点执行
-
错误信息
-
耗时
-
Token
-
成本
这样在调试 Agent 或排查线上问题时,可以清楚看到一次回答是如何生成的。
9. 模型评测 Evaluation
项目支持评测集、样本导入和批量运行 Agent。
当前评测指标包括:
-
准确率
-
相关性
-
完整性
-
幻觉率
-
引用正确率
-
工具调用成功率
-
平均耗时
-
Token 消耗
评测结果可以跳转 Trace,方便追溯某条样本为什么得分低。
10. 成本与用量中心
平台支持从多个维度统计 Token、耗时和成本:
-
服务商
-
模型
-
Agent
-
用户
-
工作流
-
评测
同时支持模型价格配置、历史成本重算、调用明细导出和配额拦截。
这部分对于企业内部 AI 平台非常关键,因为真正上线后不仅要能调用模型,还要知道谁在用、用了多少、花了多少钱。
为什么核心链路选择自研
这个项目没有直接基于 Spring AI 或 LangChain4j 做一层简单封装,而是选择把 Agent 编排、RAG、Tool Calling、MCP、工作流、Trace、评测、成本治理等核心链路自研实现。
主要原因是:这个项目的目标不是做一个 AI 框架调用 Demo,而是展示一个 AI Agent 平台从 0 到 1 的完整工程结构。
自研核心链路有几个好处:
-
更适合学习底层原理
-
更容易理解每一步数据如何流转
-
更方便二次开发和定制
-
Trace、成本、权限、审计可以完全按平台需求设计
-
不会被某一个 AI 框架的抽象绑定
当然,这并不代表排斥 Spring AI 或 LangChain4j。项目在模型、Embedding、向量库和工具调用层保留开放适配思路,后续完全可以把 Spring AI、LangChain4j 或其他模型网关作为可选适配器接入。
一句话概括就是:
平台核心链路自研,底层模型能力可插拔。
快速启动
克隆项目后,可以使用 Docker Compose 启动:
cd OpenAgentFlow-Java/dm Copy-Item .env.example .env docker compose up -d --build
默认访问地址:
前端:http://localhost:5173 后端:http://localhost:8080/api Swagger:http://localhost:8080/api/swagger-ui.html
默认账号:
admin / 123456
也可以使用本地开发脚本启动:
cd OpenAgentFlow-Java/dm .\scripts\start-dev.ps1
项目目录结构
dm/ docs/ 中文文档和截图 scripts/ 本地启动、停止、构建脚本 openagentflow-backend/ Spring Boot 后端 openagentflow-frontend/ Vue 3 前端 openagentflow-sql/ MySQL 初始化脚本 docker-compose.yml 一键启动 MySQL、Redis、Milvus、后端、前端 .env.example 示例环境变量 README.md 项目说明 LICENSE MIT License
后续计划
后续会继续完善以下方向:
-
更完整的权限模型
-
更细粒度的审计日志
-
模型网关能力
-
插件化工具市场
-
更丰富的工作流节点
-
异步任务队列和失败重试
-
更多国产模型适配
-
Spring AI / LangChain4j 可选适配器
-
更完整的部署和运维文档
最后
如果你也在学习或实践 AI Agent、RAG、MCP、工作流编排,欢迎看看这个项目。
项目地址:
https://github.com/wuruiwurui/OpenAgentFlow.git
如果觉得项目有帮助,也欢迎 Star、Fork、提 Issue 或一起完善。
更多推荐

所有评论(0)