spring-ai-alibaba 学习之 Jmanus 概览
·
JManus 项目 Wiki
项目概述
JManus 是阿里巴巴开源的基于 Spring AI Alibaba 的 AI Agent 管理系统,是一个纯 Java 实现的 Manus 系统。它主要用于处理需要一定确定性的探索性任务,例如从海量数据中快速查找数据并转换为数据库中的单行记录,或分析日志并发出警报。
JManus 提供了 HTTP 服务调用能力,适用于集成到现有项目中。
核心特性
🤖 纯 Java Manus 实现
完整的 Java 多智能体协作实现,提供完整的 HTTP 调用接口,适合 Java 开发者进行二次集成。
🛠️ Plan-Act 模式
允许精确控制每个执行细节,提供极高的执行确定性。
🔗 MCP 集成
原生支持 Model Context Protocol (MCP),可与外部服务和工具无缝集成。
📜 Web 界面配置
通过直观的 Web 管理界面轻松配置智能体,无需修改代码。
🌊 无限上下文处理
支持从海量内容中精确提取目标信息,无需依赖特定的长上下文模型。
技术栈
- 核心框架: Spring Boot 3.5.6
- Java 版本: Java 17+
- AI 框架: Spring AI 1.0.1, Spring AI Alibaba 1.0.0.4-SNAPSHOT
- 数据库: H2 (默认), MySQL, PostgreSQL
- 前端: Vue3
- 浏览器自动化: Playwright 1.53.0
- MCP SDK: io.modelcontextprotocol.sdk 0.11.2
- 构建工具: Maven
- 其他依赖:
- Apache PDFBox 2.0.29 (PDF 处理)
- Jsoup 1.18.1 (HTML 解析)
- EasyExcel 3.1.5 (Excel 处理)
- Gson, Jackson (JSON 处理)
- Guava, Hutool (工具库)
项目结构
src/main/java/com/alibaba/cloud/ai/manus
├── adapter/ # 适配器模块,如 OpenAI 兼容接口
├── agent/ # 智能体管理模块
├── config/ # 配置管理模块
├── coordinator/ # 协调器模块
├── cron/ # 定时任务模块
├── event/ # 事件处理模块
├── exception/ # 异常处理模块
├── i18n/ # 国际化支持模块
├── llm/ # 大语言模型集成模块
├── mcp/ # Model Context Protocol 模块
├── model/ # 模型管理模块
├── namespace/ # 命名空间管理模块
├── planning/ # 计划执行模块
├── prompt/ # 提示词管理模块
├── recorder/ # 执行记录模块
├── runtime/ # 运行时模块
├── subplan/ # 子计划模块
├── tool/ # 工具模块
├── user/ # 用户管理模块
├── utils/ # 工具类模块
└── workspace/ # 工作区模块
快速开始
环境要求
- Java 17+
- DashScope API Key (或其他 AI 模型提供商)
- Docker (容器化部署) 或 Maven (源码运行)
Docker 部署 (推荐)
# 拉取最新开发镜像
docker pull springaialibaba/jmanus:develop
# 基本启动 (临时数据存储)
docker run -d \
--name jmanus \
-p 18080:18080 \
-e DASHSCOPE_API_KEY=your_api_key_here \
springaialibaba/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 \
springaialibaba/jmanus:develop
源码运行
# 克隆代码
git clone https://github.com/alibaba/spring-ai-alibaba.git
cd spring-ai-alibaba/spring-ai-alibaba-jmanus
# 设置 API Key
export DASHSCOPE_API_KEY=your_api_key_here
# 启动应用
../mvnw spring-boot:run
ps:从 1.1.0.0 版本开始,Jmanus 项目已经从 alibaba/spring-ai-alibaba 仓库中迁出,独立为一个单独的仓库 Jmanus仓库
核心功能模块
1. 智能体管理 (Agent Management)
- 智能体的创建、配置和管理
- 支持多语言智能体配置
- 智能体统计信息查看
2. 计划模板 (Plan Template)
- 计划模板的创建、保存和版本管理
- 基于模板的计划执行
- 计划执行状态跟踪
3. MCP 集成
- MCP 服务器的配置和管理
- 外部工具和服务的集成
- 支持 STUDIO、SSE、STREAMING 等连接类型
4. 模型管理
- AI 模型的配置和管理
- 支持多种模型提供商
- 模型参数配置
5. 配置管理
- 系统配置的分组管理
- 配置项的批量更新
- 运行时配置修改
API 接口
系统提供丰富的 RESTful API 接口,主要分为以下几类:
OpenAI 兼容接口
/v1/chat/completions- 聊天完成接口/v1/models- 模型列表/v1/health- 健康检查
智能体管理接口
GET /api/agent-management- 获取所有智能体GET /api/agent-management/languages- 获取支持的语言POST /api/agent-management/reset- 重置所有智能体语言POST /api/agent-management/initialize- 初始化智能体GET /api/agent-management/stats- 获取智能体统计信息
计划模板接口
POST /api/plan-template/generate- 生成计划模板POST /api/plan-template/executePlanByTemplateId- 执行计划模板POST /api/plan-template/save- 保存计划模板GET /api/plan-template/list- 获取计划模板列表
MCP 管理接口
GET /api/mcp/list- 列出所有 MCP 服务器POST /api/mcp/server- 添加或更新 MCP 服务器POST /api/mcp/batch-import- 批量导入 MCP 服务器GET/POST /api/mcp/remove- 删除 MCP 服务器POST /api/mcp/enable/{id}- 启用 MCP 服务器POST /api/mcp/disable/{id}- 禁用 MCP 服务器
配置管理接口
GET /api/config/group/{groupName}- 按组获取配置POST /api/config/batch-update- 批量更新配置
计划执行接口
POST /api/executor/execute- 执行任务GET /api/executor/details/{planId}- 获取执行详情DELETE /api/executor/details/{planId}- 删除执行记录POST /api/executor/submit-input/{planId}- 提交用户输入
详细的 API 调用示例请参考项目根目录下的 [api-calls.http](file://D:\code\ai-project\JManus\api-calls.http) 文件。
数据库支持
JManus 支持多种数据库:
- H2 (默认,用于开发和测试)
- MySQL
- PostgreSQL
通过修改 application.yml 中的 spring.profiles.active 参数来切换数据库类型。
安全说明
作为 AI 驱动的应用,在生产环境中建议实施适当的身份验证和访问控制,包括:
- 模型聊天接口的安全访问
- MCP 服务配置的安全管理
- 内置工具管理的安全控制
- 系统参数调整的安全限制
开发指南
开发环境设置
# 克隆代码库
git clone https://github.com/your-username/spring-ai-alibaba.git
cd spring-ai-alibaba/spring-ai-alibaba-jmanus
# 安装项目依赖
mvn clean install
# 应用代码格式化标准
mvn spotless:apply
# 启动开发服务器
mvn spring-boot:run
贡献指南
欢迎社区贡献:
- Bug 报告和修复
- 新功能建议和实现
- 文档改进
- 测试用例完善
在提交 Pull Request 前,请确保:
- 遵循现有代码风格和规范
- 为新功能编写完整测试
- 更新相关文档
- 所有测试通过
许可证
本项目采用 Apache 2.0 许可证。
更多推荐


所有评论(0)