The industry’s first open-source, highly complete, lightweight, general-purpose multi-agent product (JoyAgent-JDGenie)
Address the last-mile challenge in rapidly developing multi-agent products.
Most existing open-source agent projects are primarily SDKs or frameworks, requiring users to perform additional development and lacking true out-of-the-box usability. In contrast, our open-source JoyAgent-JDGenie is an end-to-end multi-agent product that can directly answer or resolve user queries or tasks. For example, when a user submits a query like“Provide an analysis of recent trends between the US dollar and gold,”JoyAgent-JDGenie can instantly generate a report in web or PPT format.
-
Generality and Customization
- JoyAgent-JDGenie is a versatile multi-agent framework. To customize functionality for new scenarios, users only need to integrate relevant sub-agents or tools into JoyAgent-Genie. To demonstrate its generality, JoyAgent-JDGenie achieved 75.15% accuracy on the GAIA benchmark Validation set and 65.12% on the Test set, outperforming industry-leading products such as OWL (CAMEL), Smolagent (Hugging Face), LRC-Huawei (Huawei), xManus (OpenManus), and AutoAgent (University of Hong Kong).
-
Lightweight and Independence
- Unlike Alibaba’s SpringAI-Alibaba (which relies on the Alibaba Cloud Bailian platform for LLM capabilities) or Coze (dependent on the Volcano Engine platform), our open-source multi-agent product JoyAgent-JDGenie is lightweight and platform-agnostic.
-
Comprehensive Open-Source Offering
- We have fully open-sourced JoyAgent-JDGenie, including its:
- Frontend and backend
- Framework and engine
- Core sub-agents (e.g., Report Generator Agent, Code Agent, PPT Agent, File Agent)
- For enhanced performance, we welcome users to leverage JoyAgent with fine-tuned models.
- We have fully open-sourced JoyAgent-JDGenie, including its:
![]() |
![]() |
![]() |
![]() |
mov1.mp4 |
mov2.mp4 |
mov3.mp4 |
mov4.mp4 |
| Category | agent | Open Sourced? | Fully Open-Sourced Product? | Dependent on Ecosystem? |
|---|---|---|---|---|
| SDK | SpringAI-Alibaba | Partial | No (SDK only) | Yes (Alibaba Cloud Bailian Platform) |
| Coze | Partial | No (Nieo SDK only) | Yes (Volcano Engine Platform) | |
| Framework | Fellow | YES | No (Eko Agent Framework only) | No |
| Dify | YES | No (Workflow-focused framework only) | No | |
| SkyworkAI | YES | No (Agent framework only) | No | |
| OpenManus | YES | No (Agent framework only) | No | |
| Owl | YES | No (Agent framework only) | No | |
| n8n | YES | No (Agent framework only) | no | |
| Protocol | MCP | Yes | No (Protocol only) | no |
| A2A | YES | No (Protocol only) | No | |
| AG-UI | YES | No (Protocol only) | No | |
| Technical Module | memory0 | YES | No (Technical module only) | No |
| LlamaIndex | YES | No (Technical module only) | No | |
| Product | Our | YES | Yes (End-to-end open-source agent product) | No |
| 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 | 天工 |
| AWorld | 0.7758 | 0.8868 | 0.7791 | 0.5385 | Ant Group |
| Langfun | 0.7697 | 0.8679 | 0.7674 | 0.5769 | DeepMind |
| JoyAgent-JDGenie(Our) | 0.7515 | 0.8679 | 0.7791 | 0.4230 | Our |
| OWL | 0.6909 | 0.8491 | 0.6744 | 0.4231 | CAMEL |
| Smolagent | 0.5515 | 0.6792 | 0.5349 | 0.3462 | Huggingface |
| AutoAgent | 0.5515 | 0.7170 | 0.5349 | 0.2692 | HKU |
| Magentic | 0.4606 | 0.5660 | 0.4651 | 0.2308 | MSR AI Frontiers |
| LRC-Huawei | 0.406 | 0.5283 | 0.4302 | 0.0769 | Huawei |
| xManus | 0.4061 | 0.8113 | 0.2791 | 0.0000 | OpenManus |
This open-source project is based on JoyAgent-JDGenie, publicly releasing the complete product interface, multiple core agent modes (React mode, Plan and Execute mode, etc.), multiple sub-agents (Report Agent, Search Agent, etc.), and multi-agent interaction protocols.
- End-to-End Multi-Agent Product: Ready out-of-the-box with support for secondary development
- Agent Framework Protocols
- Support for Diverse Agent Design Patterns
- Multi-Agent Context Management
- High-Concurrency DAG Execution Engine: Exceptional execution efficiency
- Sub-Agents and Tools
- Pluggable sub-agents and tools: Pre-configured with various sub-agents and utilities
- Multiple file export formats: HTML, PPT, Markdown
- Plan & Tool Call Optimization: Iteratively enhanced via Reinforcement Learning (RL)
- End-to-End Streaming Responses
- multi-level:work level VS task level
- multi-pattern:plan and executor VS react
Generates novel tools from existing ones instead of creating from scratch (reducing faulty tool generation):
- Implicit Atomization:
- Automatically decomposes existing tools into atomic sub-tools
- No need for manual pre-definition of atomic components
- LLM-Driven Reassembly:
- Dynamically recombines atomic tools via large language models
- Enables emergent tool creation without human intervention
1.git clone https://github.com/jd-opensource/joyagent-jdgenie.git
2.Manually update the following configurations in genie-backend/src/main/resources/application.yml:
base_url, apikey, model, max_tokens, model_name
Note for DeepSeek users: Set max_tokens: 8192 for deepseek-chat
Manually update the following environment variables in genie-tool/.env_template:
OPENAI_API_KEY, OPENAI_BASE_URL, DEFAULT_MODEL, SERPER_SEARCH_API_KEY
DeepSeek Configuration:Set DEEPSEEK_API_KEY and DEEPSEEK_API_BASE,Configure DEFAULT_MODEL = deepseek/deepseek-chat,
Replace all occurrences of ${DEFAULT_MODEL} with deepseek/deepseek-chat
3.Build the Docker image
docker build -t genie:latest .
4.Launch the Docker container
docker run -d -p 3000:3000 -p 8080:8080 -p 1601:1601 --name genie-app genie:latest
5.Access Genie via browser
Open http://localhost:3000
If you encounter deployment issues, refer to this video tutorial:【5分钟使用deepseek启动开源智能体应用joyagent-genie-哔哩哔哩】 https://b23.tv/8VQDBOK
- jdk17
- python3.11
- python Environment Setup
- pip install uv
- cd genie-tool
- uv sync
- source .venv/bin/activate
Ultra-detailed guide reference: Step by Step
Directly start all services via shell:
sh check_dep_port.sh # Verify all dependencies and port occupancy
sh Genie_start.sh # Launch services directly; restart this script after configuration changes (terminate all services with Control+C)
For deployment guidance, refer to the demonstration video:【joyagent-jdgenie部署演示】 https://www.bilibili.com/video/BV1Py8Yz4ELK/?vd_source=a5601a346d433a490c55293e76180c9d
Edit genie-backend/src/main/resources/application.yml to add MCP server URLs (comma-separated):
You can change the front-end request path to the back-end in ui/.env.
mcp_server_url: "http://ip1:port1/sse,http://ip2:port2/sse"sh start_genie.shAfter integrating the 12306 ticket tool, initiate:
"Plan a 7-day trip for 2 people from Beijing to Xinjiang in July and query train tickets"
→ Genie designs travel itinerary → Invokes MCP tool for ticket queries → Generates final report

Implementing the BaseTool Interface: Declaring Tool Name, Description, Parameters, and Invocation Methods.
/** * Base Tool Interface */publicinterfaceBaseTool {
StringgetName(); // Tool name
StringgetDescription(); // Tool description
Map<String, Object> toParams(); // Tool parameters
Objectexecute(Objectinput); // Invoke tool
}
// Weather Agent Example
publicclassWeatherToolimplementsBaseTool {
@Override
publicStringgetName() {
return"agent_weather";
}
@Override
publicStringgetDescription() {
return"A weather query agent";
}
@Override
publicMap<String, Object> toParams() {
return"{\"type\":\"object\",\"properties\":{\"location\":{\"description\":\"地点\",\"type\":\"string\"}},\"required\":[\"location\"]}";
}
@Override
publicObjectexecute(Objectinput) {
return"Today's weather is sunny";
}
}Add the following code in com.jd.genie.controller.GenieController#buildToolCollection to integrate custom Agent.
WeatherTool weatherTool = new WeatherTool();
toolCollection.addTool(weatherTool);sh start_genie.shCore Team: Liu Shangkun,Li Yang,Jia Shilin,Tian Shaohua,Wang Zhen,Yao Ting,Wang Hongtao,Zhou Xiaoqing,Liu min,Zhang Shuang,Liuwen,Yangdong,Xu Jialei,Zhou Meilei,Zhao Tingchong,Wu jiaxing, Wang Hanmin, Zhou Zhiyuan, Xu Shiyue,Liu Jiarun, Hou Kang, Jing Lingtuan, Guo Hongliang, Liu Yanchen, Chen Kun, Pan Zheyi, Duan Zhewen, Tu Shengkun, Zhang Haidong, Wang Heng, Zhang Junbo
Core Team: JD.com CHO Enterprise Informatization Team (EI), JDT, JDL
We welcome all great ideas and suggestions. If you wish to become a project co-builder, you may submit Pull Requests at any time. Whether it's improving products/frameworks, fixing bugs, or adding new features - all contributions are highly valued. Before contributing, you need to read and sign the Contributor Agreement and send it to org.developer3@jd.com. Chinese Version,English Version
For academic references or inquiries, please use the following BibTeX entry::
@software{JoyAgent-JDGenie,
author = {Agent Team at JDCHO},
title = {JoyAgent-JDGenie},
year = {2025},
url = {https://github.com/jd-opensource/joyagent-jdgenie},
version = {0.1.0},
publisher = {GitHub},
email = {jiashilin1@jd.com;liyang.1236@jd.com;liushangkun@jd.com;tianshaohua.1@jd.com;wangzhen449@jd.com;yaoting.2@jd.com}
}Contact Us





