阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~

简介: JManus是阿里开源的Java版OpenManus,基于Spring AI Alibaba框架,助力Java开发者便捷应用AI技术。支持多Agent框架、网页配置、MCP协议及PLAN-ACT模式,可集成多模型,适配阿里云百炼平台与本地ollama。提供Docker与源码部署方式,具备无限上下文处理能力,适用于复杂AI场景。当前仍在完善模型配置等功能,欢迎参与开源共建。

JManus 是阿里开源的Java版本的OpenManus,核心框架是Spring AI Alibaba

它能让Java 程序员更便捷地使用 AI 技术,支持多 Agent 框架、网页配置 Agent、MCP 协议和 PLAN-ACT 模式。可集成多个大模型,可调用阿里云百炼平台的模型,也可以使用本地ollama模型。

JManus 的核心特点包括

完美实现了 OpenManus 多 Agent 框架借助 Spring AI 和 Java 的深度结合,开发者可以轻松构建和管理多个智能体,让复杂任务的分工与协作变得高效且可控。JManus 无缝支持 MCP(Model Context Protocol)协议Agent 不仅可以调用本地或云端的大语言模型,还能与各类外部服务、API、数据库等进行深度交互,极大拓展了应用场景和能力边界。JManus 原生支持 PLAN-ACT 模式能够让 Agent 具备复杂推理、分步执行和动态调整的能力,适用于多轮对话、复杂决策、自动化流程等高阶 AI 应用场景。

部署指南

docker方式

# 拉取阿里云加速镜像
docker pull sca-registry.cn-hangzhou.cr.aliyuncs.com/spring-ai-alibaba/jmanus:develop
# 基础启动(临时数据存储)
docker run -d \
  --name jmanus \
  -p 18080:18080 \
  -e DASHSCOPE_API_KEY=your_api_key_here \
  sca-registry.cn-hangzhou.cr.aliyuncs.com/spring-ai-alibaba/jmanus:develop
# 或者启动并持久化数据(推荐)
docker run -d \
  --name jmanus \
  -p 18080:18080 \
  -e DASHSCOPE_API_KEY=your_api_key_here \
  -v $(pwd)/h2-data:/app/extracted/h2-data \
  -v $(pwd)/extensions:/app/extracted/extensions \
  sca-registry.cn-hangzhou.cr.aliyuncs.com/spring-ai-alibaba/jmanus:develop

源码部署方式

从GitHub拉取spring-ai-alibaba源码

git clone https://github.com/alibaba/spring-ai-alibaba.git
cd spring-ai-alibaba/spring-ai-alibaba-jmanus

到百炼平台获取一个apiKey

配置对应的数据源

idea启动springboot项目

  1. 访问http://localhost:18080/ui/index.html

🎉恭喜! 您的多 Agent 系统现已上线并准备就绪。

可以配置相关的Agent,MCP配置,大模型的配置

执行一个Agent他会从百度搜索内容,分片分析,再聚合分析,这个就是JManus无限上下文的原理

但是目前模型配置等方面发现还有一些Bug,近期我们准备修复一下提交PR,我一直非常的认同阿里的开源理念,源于开源,回馈于开源!

底层实现源码解读

源码解读入口

ManusController.java

executeQuery接口

生成agent信息与生成Plan计划

生成执行计划plan

将系统中存在的agent与任务生成plan

重试三次机会生成执行计划

执行生成的每一个步骤

执行生成所有的plan步骤,FunctionToolCallback回调生成steps集合

执行step

实际执行的代码

判断是否有act执行,需要执行就调用工具

执行工具代码

最终将执行完的工具链总结返回

Agent的核心思想

智能体设计

通过LLM进行规划-执行工具-跟踪记忆-总结

关于JManus目前存在的问题

还不能使用Azure OpenAI的LLM,通过源码阅读,发现根本原因是因为

FunctionToolCallback中inputSchema的设定导致的

如果你有更多的见解,欢迎评论区聊聊,我们一起解读JMuans。下期我们再来一起深入解读JManus源码

相关文章
|
10月前
|
人工智能 算法 Java
Java与AI驱动区块链:构建智能合约与去中心化AI应用
区块链技术和人工智能的融合正在开创去中心化智能应用的新纪元。本文深入探讨如何使用Java构建AI驱动的区块链应用,涵盖智能合约开发、去中心化AI模型训练与推理、数据隐私保护以及通证经济激励等核心主题。我们将完整展示从区块链基础集成、智能合约编写、AI模型上链到去中心化应用(DApp)开发的全流程,为构建下一代可信、透明的智能去中心化系统提供完整技术方案。
565 3
|
11月前
|
人工智能 缓存 监控
使用LangChain4j构建Java AI智能体:让大模型学会使用工具
AI智能体是大模型技术的重要演进方向,它使模型能够主动使用工具、与环境交互,以完成复杂任务。本文详细介绍如何在Java应用中,借助LangChain4j框架构建一个具备工具使用能力的AI智能体。我们将创建一个能够进行数学计算和实时信息查询的智能体,涵盖工具定义、智能体组装、记忆管理以及Spring Boot集成等关键步骤,并展示如何通过简单的对话界面与智能体交互。
3612 1
|
10月前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
11月前
|
人工智能 Java API
构建基于Java的AI智能体:使用LangChain4j与Spring AI实现RAG应用
当大模型需要处理私有、实时的数据时,检索增强生成(RAG)技术成为了核心解决方案。本文深入探讨如何在Java生态中构建具备RAG能力的AI智能体。我们将介绍新兴的Spring AI项目与成熟的LangChain4j框架,详细演示如何从零开始构建一个能够查询私有知识库的智能问答系统。内容涵盖文档加载与分块、向量数据库集成、语义检索以及与大模型的最终合成,并提供完整的代码实现,为Java开发者开启构建复杂AI智能体的大门。
5739 58
|
10月前
|
人工智能 缓存 自然语言处理
Java与多模态AI:构建支持文本、图像和音频的智能应用
随着大模型从单一文本处理向多模态能力演进,现代AI应用需要同时处理文本、图像、音频等多种信息形式。本文深入探讨如何在Java生态中构建支持多模态AI能力的智能应用。我们将完整展示集成视觉模型、语音模型和语言模型的实践方案,涵盖从文件预处理、多模态推理到结果融合的全流程,为Java开发者打开通往下一代多模态AI应用的大门。
661 41
|
11月前
|
人工智能 数据处理 云栖大会
云栖现场|让评测与标注成为AI进化引擎!阿里发布全新评测平台,3大创新评测集亮相
云栖现场|让评测与标注成为AI进化引擎!阿里发布全新评测平台,3大创新评测集亮相
1442 9
云栖现场|让评测与标注成为AI进化引擎!阿里发布全新评测平台,3大创新评测集亮相
|
10月前
|
消息中间件 缓存 Java
Spring框架优化:提高Java应用的性能与适应性
以上方法均旨在综合考虑Java Spring 应该程序设计原则, 数据库交互, 编码实践和系统架构布局等多角度因素, 旨在达到高效稳定运转目标同时也易于未来扩展.
824 8
|
10月前
|
存储 算法 安全
Java集合框架:理解类型多样性与限制
总之,在 Java 题材中正确地应对多样化与约束条件要求开发人员深入理解面向对象原则、范式编程思想以及JVM工作机理等核心知识点。通过精心设计与周密规划能够有效地利用 Java 高级特征打造出既健壮又灵活易维护系统软件产品。
239 7
|
10月前
|
存储 安全 Java
《数据之美》:Java集合框架全景解析
Java集合框架是数据管理的核心工具,涵盖List、Set、Map等体系,提供丰富接口与实现类,支持高效的数据操作与算法处理。