{"id":30172931,"url":"https://github.com/jd-opensource/oxygent","last_synced_at":"2025-08-11T23:19:29.086Z","repository":{"id":305789768,"uuid":"1021827990","full_name":"jd-opensource/OxyGent","owner":"jd-opensource","description":"Multi-agent collaboration framework","archived":false,"fork":false,"pushed_at":"2025-08-05T08:06:46.000Z","size":102248,"stargazers_count":576,"open_issues_count":1,"forks_count":79,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-08-05T10:13:20.782Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://oxygent.jd.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jd-opensource.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-18T02:40:42.000Z","updated_at":"2025-08-05T10:11:26.000Z","dependencies_parsed_at":"2025-07-29T04:24:55.336Z","dependency_job_id":null,"html_url":"https://github.com/jd-opensource/OxyGent","commit_stats":null,"previous_names":["jd-opensource/oxygent"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jd-opensource/OxyGent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jd-opensource%2FOxyGent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jd-opensource%2FOxyGent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jd-opensource%2FOxyGent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jd-opensource%2FOxyGent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jd-opensource","download_url":"https://codeload.github.com/jd-opensource/OxyGent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jd-opensource%2FOxyGent/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269970137,"owners_count":24505478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-11T23:19:26.540Z","updated_at":"2025-08-11T23:19:29.074Z","avatar_url":"https://github.com/jd-opensource.png","language":"Python","readme":"\u003c!-- Copyright 2022 JD Co.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this project except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License. --\u003e\n\n[English](./README.md) | [中文](./README_zh.md)\n\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/jd-opensource/OxyGent/pulls\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\" alt=\"PRs Welcome\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/jd-opensource/OxyGent/blob/v4/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-Apache_2.0-blue.svg\" alt=\"license\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/oxygent/\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/v/oxygent.svg?logo=pypi\u0026logoColor=white\" alt=\"pip\"/\u003e\n  \u003c/a\u003e\n\n\u003chtml\u003e\n    \u003ch2 align=\"center\"\u003e\n      \u003cimg src=\"https://storage.jd.com/ai-gateway-routing/prod_data/oxygent_github_images/banner.jpg\" width=\"1256\"/\u003e\n    \u003c/h2\u003e\n    \u003ch3 align=\"center\"\u003e\n      An advanced Python framework that empowers developers to quickly build production-ready intelligent systems. \n    \u003c/h3\u003e\n    \u003ch3 align=\"center\"\u003e\n      Visit our website:\n      \u003ca href=\"http://oxygent.jd.com\"\u003eOxyGent\u003c/a\u003e\n    \u003c/h3\u003e\n\u003c/html\u003e\n\n## 1. Project Overview\n---\n**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.\n\n## 2. Core Features\n🏎️ **Efficient Development**\n+ 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.\n\n🤝 **Intelligent Collaboration**\n+ 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.\n\n🕸️ **Elastic Architecture**\n+ 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.\n\n🔁 **Continuous Evolution**\n+ 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.\n\n📈 **Scalability**\n+ 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.\n\nThe latest version of OxyGent (July 15, 2025) in the [GAIA](https://huggingface.co/spaces/gaia-benchmark/leaderboard) get 59.14 points, and current top opensource system OWL gets 60.8 points.\n\n![](https://storage.jd.com/ai-gateway-routing/prod_data/oxygent_github_images/points.png)\n\n## 3. Software Architecture\n---\n### 3.1 Diagram\n![](https://storage.jd.com/ai-gateway-routing/prod_data/oxygent_github_images/structure.png)\n\u003c!-- Insert architecture diagram here --\u003e\n### 3.2 Architecture Description\n+ 📦 **Repository**: Stores agents, tools, LLMs, data, and system files in a unified structure.\n+ 🛠 **Production Framework**: A complete production chain that includes registration, building, running, evaluation, and evolution.\n+ 🖥 **Service framework**: complete business system server, providing complete storage and monitoring support\n+ ⚙️ **Engineering base**: Rich external support, including integrated modules such as databases and inference engines\n\n## 4. Feature Highlight\n---\n**For Developers**: Focus on business logic without reinventing the wheel.\n\n**For Enterprises**: Replace siloed AI systems with a unified framework, reducing communication overhead.\n\n**For Users**: Experience seamless teamwork from an intelligent agent ecosystem.\n\nWe've engineered the complete lifecycle:\n\n1️⃣ **Code** agents in Python (no YAML hell)\n\n2️⃣ **Deploy** with one command (local or cloud)\n\n3️⃣ **Monitor** every decision (full transparency)\n\n4️⃣ **Evolve** automatically (self-improving systems)\n\nThis isn't just another framework - it's the foundation for next-gen AI infrastructure that actually works in production.\n\n## 5. Quick Start\n--- \n+ Create and activate a python environment (conda)\n```bash\n   conda create -n oxy_env python==3.10\n   conda activate oxy_env\n```\nor (uv)\n```bash\n   curl -LsSf https://astral.sh/uv/install.sh | sh\n   uv python install 3.10 \n   uv venv .venv --python 3.10\n   source .venv/bin/activate\n```\n+ Install the required python package (conda)\n```bash\n   pip install oxygent\n```\nor (uv)\n```bash\n   uv pip install oxygent\n```\n+ Or set develop environment:\n\n   + Download **[Node.js](https://nodejs.org)**\n\n   + Download our requirements:\n\n   ```bash\n      pip install -r requirements.txt # or in uv\n      brew install coreutils # maybe essential\n   ```\n\n+ Write a sample python script\n```python\n   import os\n   from oxygent import MAS, Config, oxy, preset_tools\n\n   Config.set_agent_llm_model(\"default_llm\")\n\n   oxy_space = [\n      oxy.HttpLLM(\n         name=\"default_llm\",\n         api_key=os.getenv(\"DEFAULT_LLM_API_KEY\"),\n         base_url=os.getenv(\"DEFAULT_LLM_BASE_URL\"),\n         model_name=os.getenv(\"DEFAULT_LLM_MODEL_NAME\"),\n         llm_params={\"temperature\": 0.01},\n         semaphore=4,\n      ),\n      preset_tools.time_tools,\n      oxy.ReActAgent(\n         name=\"time_agent\",\n         desc=\"A tool that can query the time\",\n         tools=[\"time_tools\"],\n      ),\n      preset_tools.file_tools,\n      oxy.ReActAgent(\n         name=\"file_agent\",\n         desc=\"A tool that can operate the file system\",\n         tools=[\"file_tools\"],\n      ),\n      preset_tools.math_tools,\n      oxy.ReActAgent(\n         name=\"math_agent\",\n         desc=\"A tool that can perform mathematical calculations.\",\n         tools=[\"math_tools\"],\n      ),\n      oxy.ReActAgent(\n         is_master=True,\n         name=\"master_agent\",\n         sub_agents=[\"time_agent\", \"file_agent\", \"math_agent\"],\n      ),\n   ]\n\n   async def main():\n      async with MAS(oxy_space=oxy_space) as mas:\n         await mas.start_web_service(first_query=\"What time is it now? Please save it into time.txt.\")\n\n   if __name__ == \"__main__\":\n      import asyncio\n      asyncio.run(main())\n```\n+ Configure your LLM settings\n```bash\n   export DEFAULT_LLM_API_KEY=\"your_api_key\"\n   export DEFAULT_LLM_BASE_URL=\"your_base_url\"  # if you want to use a custom base URL\n   export DEFAULT_LLM_MODEL_NAME=\"your_model_name\"  \n```\n```bash\n   # create a .env file\n   DEFAULT_LLM_API_KEY=\"your_api_key\"\n   DEFAULT_LLM_BASE_URL=\"your_base_url\"\n   DEFAULT_LLM_MODEL_NAME=\"your_model_name\"\n```\n+ Run the example\n```bash\n    python demo.py\n```\n+ View the output\n![](https://storage.jd.com/ai-gateway-routing/prod_data/oxygent_github_images/vision.png)\n\n## 6. Contributing\n---\nThere are several ways you can contribute to OxyGent:\n\n1. Reporting Issues (Bugs \u0026 Errors)\n2. Suggesting Enhancements\n3. Improving Documentation\n    + Fork the repository\n    + Add your view in document\n    + Send your pull request\n4. Writing Code\n    + Fork the repository\n    + Create a new branch\n    + Add your feature or improvement\n    + Send your pull request\n\nWe appreciate all kinds of contributions! 🎉🎉🎉\nIf you have problems about development, please check our document: * **[Document](http://oxygent.jd.com/docs/)**\n\n## 7. Community \u0026 Support\n---\nIf 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.\n\nWelcome to contact us:\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://pfst.cf2.poecdn.net/base/image/b1e96084336a823af7835f4fe418ff49da6379570f0c32898de1ffe50304d564?w=1760\u0026h=2085\u0026pmaid=425510216\" alt=\"contact\" width=\"50%\" height=\"50%\"\u003e\n\u003c/div\u003e\n\n\n## 8. About the Contributors\n---\nThanks to all the following [developers](https://github.com/jd-opensource/OxyGent/graphs/contributors) who have contributed to OxyGent.\n\u003ca href=\"https://github.com/jd-opensource/OxyGent/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=jd-opensource/OxyGent\" /\u003e\n\u003c/a\u003e\n\n## 9. License\n---\n[Apache License]( ./LICENSE.md)\n\n#### OxyGent is provided by Oxygen JD.com \n#### Thanks for your Contributions!","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjd-opensource%2Foxygent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjd-opensource%2Foxygent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjd-opensource%2Foxygent/lists"}