GitHub - jd-opensource/OxyGent: [ACL 2026] OxyGent: Making Multi-Agent Systems Modular, Observable, and Evolvable via Oxy Abstraction https:
English | 中文 An advanced Python framework that empowers developers to quickly build production-ready intelligent systems. Visit our website: OxyGent |Open Source: Python or Java 1. Project Overview OxyGent is an open-source framework that unifies tools,
社区作者 · zZz
它解决什么问题
English | 中文
An advanced Python framework that empowers developers to quickly build production-ready intelligent systems.
Visit our website: OxyGent |Open Source:
Pythonor Java
- Project Overview
OxyGent is an open-source framework that unifies tools, models, and agents into modular Oxy. Empowering developers with transparent, end-to-end pipelines, OxyGent makes building, running, and evolving multi-agent systems seamless and infinitely extensible.
- Core Features
🏎️ Efficient Development
- OxyGent is a modular multi-agent framework that lets you build, deploy, and evolve AI teams with unprecedented efficiency. Its standardized Oxy components snap together like LEGO bricks, enabling rapid assembly of agents while supporting hot-swapping and cross-scenario reuse - all through clean Python interfaces without messy configs.
🤝 Intelligent Collaboration
- The framework supercharges collaboration with dynamic planning paradigms, where agents intelligently decompose tasks, negotiate solutions, and adapt to changes in real-time. Unlike rigid workflow systems, OxyGent's agents handle emergent challenges naturally while maintaining full auditability of every decision.
🕸️ Elastic Architecture
- Under the hood, an elastic architecture supports any agent topology- from simple ReAct to complex hybrid planning patterns. Automated dependency mapping and visual debugging tools make it easy to optimize performance across distributed systems.
🔁 Continuous Evolution
- Every interaction becomes a learning opportunity - thanks to built-in evaluation engines that auto-generate training data. Your agents continuously improve through knowledge feedback loops while maintaining full transparency.
📈 Scalability
- Scaling follows Metcalfe's Law- OxyGent's distributed scheduler enables linear cost growth while delivering exponential gains in collaborative intelligence. The system effortlessly handles domain-wide optimization and real-time decision making at any scale.
The latest version of OxyGent (July 15, 2025) in the GAIA get 59.14 points, and current top opensource system OWL gets 60.8 points.
- Framework Core Classes
- Feature Highlight
For Developers : Focus on business logic without reinventing the wheel.
For Enterprises : Replace siloed AI systems with a unified framework, reducing communication overhead.
For Users : Experience seamless teamwork from an intelligent agent ecosystem.
- Quick Start
Step 1: Create and activate a python environment
Method 1:
condaconda create -n oxy_env python==3.10conda activate oxy_envMethod 2:
uvcurl -LsSf https://astral.sh/uv/install.sh | shuv python install 3.10uv venv .venv --python 3.10source .venv/bin/activate
Step 2: Install the required python package
Method 1:
condapip install oxygentMethod 2:
uvuv pip install oxygentMethod 3:
set develop environmentgit clone https://github.com/jd-opensource/OxyGent.gitcd OxyGentpip install -r requirements.txt # or in uvbrew install coreutils # maybe essentialStep 3: Node.js Environment (if using MCP)
- Download and install Node.js
Step 4: Write a sample python script
import os from oxygent import MAS , Config , oxy , preset_tools
- demo.py
Config . set_agent_llm_model ( "default_llm" )
oxy_space = [ oxy . HttpLLM ( name = "default_llm" , api_key = os . getenv ( "DEFAULT_LLM_API_KEY" ), base_url = os . getenv ( "DEFAULT_LLM_BASE_URL" ), model_name = os . getenv ( "DEFAULT_LLM_MODEL_NAME" ), ), preset_tools . time_tools , oxy .
ReActAgent ( name = "time_agent" , desc = "A tool that can query the time" , tools = [ "time_tools" ], ), preset_tools . file_tools , oxy .
ReActAgent ( name = "file_agent" , desc = "A tool that can operate the file system" , tools = [ "file_tools" ], ), preset_tools . math_tools , oxy . ReActAgent ( name = "math_agent" , desc = "A tool that can perform mathematical calculations.
" , tools = [ "math_tools" ], ), oxy . ReActAgent ( is_master = True , name = "master_agent" , sub_agents = [ "time_agent" , "file_agent" , "math_agent" ], ), ]
async def main (): async with MAS ( oxy_space = oxy_space ) as mas : await mas . start_web_service ( first_query = "What time is it now? Please save it into time.txt." )
if __name__ == "__main__" : import asyncio asyncio . run ( main ())
Step 5
Set Environment Variables- Method 1: Declare in terminal
export DEFAULT_LLM_API_KEY= " your_api_key "export DEFAULT_LLM_BASE_URL= " your_base_url "export DEFAULT_LLM_MODEL_NAME= " your_model_name "DEFAULT_LLM_API_KEY= " your_api_key " DEFAULT_LLM_BASE_URL= " your_base_url " DEFAULT_LLM_MODEL_NAME= " your_model_name "
- Method 2: Create a .env file
Step 6: Run the example
- Start the multi-agent system
python demo.pyStep 7: View the output
-
- Contributing
There are several ways you can contribute to OxyGent:
- Reporting Issues (Bugs & Errors)
- Suggesting Enhancements
- Improving Documentation
- Fork the repository
- Add your view in document
- Send your pull request
- Writing Code
- Fork the repository
- Create a new branch
- Add your feature or improvement
- Send your pull request
We appreciate all kinds of contributions! 🎉🎉🎉 If you have problems about development, please check our document: Document
- Community & Support
If you encounter any issues along the way, you are welcomed to submit reproducible steps and log snippets in the project's Issues area, or contact the OxyGent Core team directly via your internal Slack.
Welcome to contact us:
- About the Contributors
Thanks to all the following developers who have contributed to OxyGent.
FAQ
General Questions
What is OxyGent? OxyGent is an open-source framework that unifies tools, models, and agents into modular Oxy components. It empowers developers to build, run, and evolve multi-agent systems with transparent, end-to-end pipelines.
How is OxyGent different from other multi-agent frameworks? OxyGent uses a unique "Oxy" abstraction that standardizes agent components, enabling hot-swapping and cross-scenario reuse.
Unlike rigid workflow systems, OxyGent supports dynamic planning paradigms where agents intelligently decompose tasks and adapt to changes in real-time.
What is the Oxy abstraction? Oxy is a standardized component model that snaps together like LEGO bricks. Each Oxy encapsulates a specific capability (tool, model, or agent) with clean Python interfaces, enabling rapid assembly and evolution of AI teams.
Setup & Configuration
What are the system requirements?
Python 3.10+pip package manager- API key from an LLM provider (OpenAI, Anthropic, etc.)
How do I install OxyGent?
pip install oxygentCan I use OxyGent with local models? Yes! OxyGent supports any LLM provider that exposes a compatible API. Configure your local model via environment variables ( DEFAULT_LLM_BASE_URL , DEFAULT_LLM_MODEL_NAME ).
Agent Development
How do I create a custom Oxy? Create a new class that inherits from the base Oxy class and implement the required methods. See the documentation for detailed guides.
What planning paradigms does OxyGent support? OxyGent supports multiple planning paradigms:
- ReAct : Reasoning + Acting pattern for simple tasks
- Dynamic Planning : Agents intelligently decompose tasks and negotiate solutions
- Hybrid Planning : Combines multiple paradigms for complex scenarios
How does OxyGent handle agent collaboration? OxyGent's elastic architecture supports any agent topology. Agents communicate through standardized interfaces, with automated dependency mapping and visual debugging tools for optimization.
Deployment
How do I deploy OxyGent applications? OxyGent applications can be deployed as standard Python applications:
- Local Development : Run python demo.py for local testing
- Production : Use the distributed scheduler for scaling across multiple nodes
Docker : Containerize your OxyGent application for consistent deploymentIs OxyGent suitable for enterprise use? Yes! OxyGent is designed for enterprise scenarios with features like:
- Distributed scheduling for horizontal scaling
- Full auditability of every decision
- Built-in evaluation engines for continuous improvement
- Support for domain-wide optimization and real-time decision making
Troubleshooting
Common Issues:
- Import Errors : Ensure Python 3.10+ is installed and dependencies are up to date
- API Key Errors : Verify your LLM provider API key is correctly configured
- Agent Communication Issues : Check that all Oxy components are properly registered
Where can I get help?
- Official Documentation
- GitHub Issues
- Internal Slack (for JD.com employees)
- License
Apache License
OxyGent is provided by Oxygen JD.com
Thanks for your Contributions!
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
Step 1: Create and activate a python environment
- Quick Start
Method 1:
condaconda create -n oxy_env python==3.10conda activate oxy_envMethod 2:
uvcurl -LsSf https://astral.sh/uv/install.sh | shuv python install 3.10uv venv .venv --python 3.10source .venv/bin/activate Step 2: Install the required python package
Method 1:
condapip install oxygentMethod 2:
uvuv pip install oxygentMethod 3:
set develop environmentgit clone https://github.com/jd-opensource/OxyGent.gitcd OxyGentpip install -r requirements.txt # or in uvbrew install coreutils # maybe essentialStep 3: Node.js Environment (if using MCP)
Step 4: Write a sample python script
import os from oxygent import MAS , Config , oxy , preset_tools Config . set_agent_llm_model ( "default_llm" ) oxy_space = [ oxy . HttpLLM ( name = "default_llm" , api_key = os . getenv ( "DEFAULT_LLM_API_KEY" ), base_url = os .
getenv ( "DEFAULT_LLM_BASE_URL" ), model_name = os . getenv ( "DEFAULT_LLM_MODEL_NAME" ), ), preset_tools . time_tools , oxy . ReActAgent ( name = "time_agent" , desc = "A tool that can query the time" , tools = [ "time_tools" ], ), preset_tools .
file_tools , oxy . ReActAgent ( name = "file_agent" , desc = "A tool that can operate the file system" , tools = [ "file_tools" ], ), preset_tools . math_tools , oxy .
ReActAgent ( name = "math_agent" , desc = "A tool that can perform mathematical calculations." , tools = [ "math_tools" ], ), oxy .
ReActAgent ( is_master = True , name = "master_agent" , sub_agents = [ "time_agent" , "file_agent" , "math_agent" ], ), ] async def main (): async with MAS ( oxy_space = oxy_space ) as mas : await mas . start_web_service ( first_query = "What time is it now?
Please save it into time.txt." ) if __name__ == "__main__" : import asyncio asyncio . run ( main ())
- Download and install Node.js
- demo.py
Step 5
Set Environment Variables- Method 1: Declare in terminal
export DEFAULT_LLM_API_KEY= " your_api_key "export DEFAULT_LLM_BASE_URL= " your_base_url "export DEFAULT_LLM_MODEL_NAME= " your_model_name "DEFAULT_LLM_API_KEY= " your_api_key " DEFAULT_LLM_BASE_URL= " your_base_url " DEFAULT_LLM_MODEL_NAME= " your_model_name " Step 6: Run the example
- Method 2: Create a .env file
- Start the multi-agent system
python demo.pyStep 7: View the output -
There are several ways you can contribute to OxyGent:
- Contributing
- Reporting Issues (Bugs & Errors)
- Suggesting Enhancements
- Improving Documentation
- Fork the repository
- Add your view in document
- Send your pull request
- Writing Code
- Fork the repository



