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

贡献指南

欢迎社区贡献:

  1. Bug 报告和修复
  2. 新功能建议和实现
  3. 文档改进
  4. 测试用例完善

在提交 Pull Request 前,请确保:

  • 遵循现有代码风格和规范
  • 为新功能编写完整测试
  • 更新相关文档
  • 所有测试通过

许可证

本项目采用 Apache 2.0 许可证。

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐