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
Lightweight and Independence
Comprehensive Open-Source Offering
![]() | ![]() |
![]() | ![]() |
| 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.

Generates novel tools from existing ones instead of creating from scratch (reducing faulty tool generation):
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
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.sh
After 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.sh
Core 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,Xu Shiyue,Liu Jiarun
Core Team: JD.com CHO Enterprise Informatization Team (EI)
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
