JD.com's open-source, end-to-end, production-grade general multi-agent framework, supporting out-of-the-box intelligent agent application development.

NOASSERTIONJavajoyagent-jdgeniejd-opensource 2.0k Last Updated: July 28, 2025

JoyAgent-JDGenie Project Details

Project Overview

JoyAgent-JDGenie is an open-source, end-to-end product-level general-purpose multi-agent framework developed by JD.com. It is specifically designed to solve the last-mile problem of rapidly building multi-agent products. Unlike existing SDKs or framework-based open-source agents, JoyAgent-JDGenie is an end-to-end multi-agent product that can directly answer or solve user queries or tasks.

Core Features

1. Out-of-the-Box Complete Product

  • End-to-End Solution: Users can directly obtain results after inputting queries or tasks, without additional development.
  • Multi-Format Output Support: Supports generating web-based and PPT-based report documents.
  • Lightweight Deployment: Does not rely on specific cloud platform ecosystems compared to other products.

2. Excellent Performance

Achieved an accuracy of 75.15% on the GAIA benchmark, surpassing well-known industry products such as OWL (CAMEL), Smolagent (Huggingface), LRC-Huawei (Huawei), xManus (OpenManus), and AutoAgent (University of Hong Kong).

3. Complete Technical Architecture

Multi-agent Collaboration Modes

  • Multi-level Execution: Supports both work-level and task-level execution.
  • Multi-pattern Modes: Includes "plan and executor" mode and "react" mode.
  • High-concurrency DAG Execution Engine: Provides extreme execution efficiency.

Core Sub-agents

  • Report Agent
  • Code Agent
  • PPT Agent
  • File Agent
  • Search Agent

Technical Highlights

1. Agent Framework Protocol

  • Supports various agent design patterns.
  • Multi-agent context management.
  • Pluggable design for sub-agents and tools.

2. Advanced Features

  • Iterative Optimization Based on Existing Tools: Generates new tools by iteratively optimizing existing ones, rather than creating them from scratch.
  • Automatic Combination of Atomic Tools: Implicitly decomposes existing tools into atomic tools, which are then automatically combined into new tools by large models.
  • Full-Link Streaming Output: Supports real-time response and streaming transmission of results.
  • RL Optimization for Plan and Tool Calls: Optimizes the decision-making process through reinforcement learning.

3. Diverse File Delivery

Supports multiple output formats:

  • HTML format
  • PowerPoint presentations
  • Markdown documents

Environment Requirements

System Requirements

  • Java Environment: JDK 17
  • Python Environment: Python 3.11

Python Environment Setup

pip install uv
cd genie-tool
uv sync
source .venv/bin/activate

Installation and Deployment

Method 1: Source Code Deployment

1. Clone Project

git clone https://github.com/jd-opensource/joyagent-jdgenie.git
cd genie-tool

2. Configure Environment

Modify the .env.example file to configure relevant parameters for tool execution.

3. Start Service

First execution:

sh start_genie_init.sh

Subsequent starts:

sh start_genie.sh

Method 2: Docker Deployment

1. Build Image

cd genie-tool
docker build -t genie:latest .

2. Run Container

# -v sets local storage -e sets conversation model
docker run -d -p 3004:3000 -p 8080:8080 -p 1601:1601 \
  -v /Users/{user}/code/autobots/genie/genie-tool:/data/genie-tool \
  -e OPENAI_BASE_URL="" -e OPENAI_API_KEY="" \
  --name genie-app genie:latest

Extension Development

Custom Tool Development

1. Implement BaseTool Interface

/**
 * Base tool interface
 */
public interface BaseTool {
    String getName();           // Tool name
    String getDescription();    // Tool description
    Map<String, Object> toParams(); // Tool parameters
    Object execute(Object input);   // Invoke tool
}

2. Create Custom Agent Example

// Weather agent example
public class WeatherTool implements BaseTool {
    @Override
    public String getName() {
        return "agent_weather";
    }

    @Override
    public String getDescription() {
        return "This is an agent that can query the weather.";
    }

    @Override
    public Map<String, Object> toParams() {
        return "{\"type\":\"object\",\"properties\":{\"location\":{\"description\":\"Location\",\"type\":\"string\"}},\"required\":[\"location\"]}";
    }

    @Override
    public Object execute(Object input) {
        return "Today's weather is sunny.";
    }
}

3. Register Custom Agent

Add the following in com.jd.genie.controller.GenieController#buildToolCollection:

WeatherTool weatherTool = new WeatherTool();
toolCollection.addTool(weatherTool);

MCP Service Integration

Configure in genie-backend/src/main/resources/application.yml:

mcp_server_url: "http://ip1:port1/sse,http://ip2:port2/sse"

Comparison with Other Frameworks

Category Agent Open Source Open Source Complete Product Ecosystem Dependent
SDK Class SpringAI-Alibaba Partial No, only SDK is open source Yes (Alibaba Cloud Bailian Platform)
SDK Class Coze Partial No, only part of Nieo SDK is open source Yes (Volcano Engine Platform)
Framework Class Fellow Yes No, only Eko agent framework is open source No
Framework Class Dify Yes No, only agent framework is open source No
Framework Class OpenManus Yes No, only agent framework is open source No
Product Class JoyAgent-JDGenie Yes Yes, open-source end-to-end complete Agent product No

GAIA Benchmark Results

Agent Score Score_level1 Score_level2 Score_level3 Organization
Alita v2.1 0.8727 0.8868 0.8953 0.7692 Princeton
Skywork 0.8242 0.9245 0.8372 0.5769 TianGong
AWorld 0.7758 0.8868 0.7791 0.5385 Ant Group
Langfun 0.7697 0.8679 0.7674 0.5769 DeepMind
JoyAgent-JDGenie 0.7515 0.8679 0.7791 0.4230 JD.com
OWL 0.6424 0.7547 0.6512 0.3846 CAMEL
Smolagent 0.5515 0.6792 0.5349 0.3462 Huggingface

Summary

JoyAgent-JDGenie, as an open-source end-to-end multi-agent framework from JD.com, offers the following core advantages:

  1. High Level of Productization: Provides a complete end-to-end solution, ready for out-of-the-box use.
  2. Excellent Performance: Demonstrates outstanding performance in GAIA benchmark tests, surpassing several well-known open-source projects.
  3. Advanced Architecture: Supports various multi-agent collaboration modes and high-concurrency execution.
  4. Strong Extensibility: Supports flexible integration of custom agents and tools.
  5. Simple Deployment: Offers multiple deployment methods and does not rely on specific cloud platform ecosystems.

This project provides enterprises and developers with a powerful and flexible multi-agent solution, particularly suitable for scenarios requiring rapid development of agent applications.

Star History Chart