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.
🏎️ Efficient Development
🤝 Intelligent Collaboration
🕸️ Elastic Architecture
🔁 Continuous Evolution
📈 Scalability
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.


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.
We've engineered the complete lifecycle:
1️⃣ Code agents in Python (no YAML hell)
2️⃣ Deploy with one command (local or cloud)
3️⃣ Monitor every decision (full transparency)
4️⃣ Evolve automatically (self-improving systems)
This isn't just another framework - it's the foundation for next-gen AI infrastructure that actually works in production.
conda create -n oxy_env python==3.10
conda activate oxy_env
or (uv)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python install 3.10
uv venv .venv --python 3.10
source .venv/bin/activate
pip install oxygent
or (uv)
uv pip install oxygent
Or set develop environment:
Download Node.js
Download our requirements:
pip install -r requirements.txt # or in uv
brew install coreutils # maybe essential
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"),
llm_params={"temperature": 0.01},
semaphore=4,
),
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())
export DEFAULT_LLM_API_KEY="your_api_key"
export DEFAULT_LLM_BASE_URL="your_base_url" # if you want to use a custom base URL
export DEFAULT_LLM_MODEL_NAME="your_model_name"
# create a .env file
DEFAULT_LLM_API_KEY="your_api_key"
DEFAULT_LLM_BASE_URL="your_base_url"
DEFAULT_LLM_MODEL_NAME="your_model_name"
python demo.py

There are several ways you can contribute to OxyGent:
We appreciate all kinds of contributions! 🎉🎉🎉 If you have problems about development, please check our document: * Document
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:
Thanks to all the following developers who have contributed to OxyGent.