{"id":28965868,"url":"https://github.com/dustland/agentx","last_synced_at":"2025-06-24T07:10:22.377Z","repository":{"id":277287455,"uuid":"931371540","full_name":"dustland/agentx","owner":"dustland","description":"A opnionated Multi-agent Framework.","archived":false,"fork":false,"pushed_at":"2025-06-23T03:21:45.000Z","size":11485,"stargazers_count":15,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-23T04:27:00.202Z","etag":null,"topics":["agent","deepseek","multi-agents"],"latest_commit_sha":null,"homepage":"https://dustland.github.io/agentx/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dustland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-12T06:53:17.000Z","updated_at":"2025-06-23T03:21:48.000Z","dependencies_parsed_at":"2025-02-13T06:26:13.228Z","dependency_job_id":"4939380f-fe47-4115-afb0-4dbe149ce608","html_url":"https://github.com/dustland/agentx","commit_stats":null,"previous_names":["dustland/roboco","dustland/agentx"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/dustland/agentx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustland%2Fagentx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustland%2Fagentx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustland%2Fagentx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustland%2Fagentx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dustland","download_url":"https://codeload.github.com/dustland/agentx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustland%2Fagentx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261487189,"owners_count":23166036,"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","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":["agent","deepseek","multi-agents"],"created_at":"2025-06-24T07:10:19.046Z","updated_at":"2025-06-24T07:10:22.364Z","avatar_url":"https://github.com/dustland.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://dustland.github.io/agentx/logo.png\" alt=\"AgentX Logo\" width=\"120\"\u003e\n  \u003ch1 align=\"center\"\u003eAgentX\u003c/h1\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eAn open-source framework for building autonomous AI agent teams.\u003c/b\u003e\n  \u003cbr /\u003e\n  \u003ca href=\"https://dustland.github.io/agentx\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n  \u003ca href=\"https://pypi.org/project/agentx-py/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/agentx-py.svg\" alt=\"PyPI version\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/agentx-py/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/dm/agentx-py.svg\" alt=\"PyPI downloads\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.python.org/downloads/\"\u003e\u003cimg src=\"https://img.shields.io/badge/python-3.11+-blue.svg\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dustland/agentx/issues/new?assignees=\u0026labels=bug\u0026template=bug_report.md\u0026title=\"\u003e\u003cimg src=\"https://img.shields.io/badge/Report%20an%20Issue-d73a4a?style=flat-square\" alt=\"Report an Issue\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dustland/agentx/issues/new?assignees=\u0026labels=enhancement\u0026template=feature_request.md\u0026title=\"\u003e\u003cimg src=\"https://img.shields.io/badge/Request%20a%20Feature-0366d6?style=flat-square\" alt=\"Request a Feature\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nAgentX provides the backbone for creating, orchestrating, and observing sophisticated multi-agent systems. It moves beyond simple agent-to-agent communication to a robust, task-driven framework where teams of specialized agents collaborate to achieve complex goals.\n\n## ✨ Key Features\n\nBased on a refined and modular architecture, AgentX is built around a few core concepts:\n\n- **🤖 Multi-Agent Teams**: Define teams of specialized agents in simple YAML files. Each agent can have its own role, tools, and configuration.\n- **🗣️ Natural Language Orchestration**: Agents hand off tasks to each other using natural language. A central `TaskExecutor` interprets these handoffs and routes work to the appropriate agent, enabling complex, dynamic workflows.\n- **🛠️ Secure \u0026 Extensible Tools**: Tools are defined with Python decorators and their schemas are automatically generated. Shell commands are executed in a secure Docker sandbox, providing safety and isolation. A flexible `ToolExecutor` manages the entire lifecycle.\n- **🧠 Stateful \u0026 Context-Aware Memory**: Agents maintain long-term memory, enabling them to recall past interactions and context. The memory system supports semantic search, ensuring agents have the information they need, when they need it.\n- **📡 Streamable Communication**: The entire lifecycle of a task, from agent thoughts to tool calls and results, is available as a real-time stream of events. This allows you to build rich, observable UIs like the Vercel AI SDK.\n- **🎯 Task-Centric API**: Interact with the system through a simple, powerful API. Kick off complex workflows with `execute_task()` or manage interactive sessions with `start_task()`.\n\n## 🚀 Getting Started\n\nThe best way to get started is by following our **[Getting Started](https://dustland.github.io/agentx/docs/getting-started/)**, which will walk you through building a simple chat application and a multi-agent writer/reviewer team.\n\n### 1. Installation\n\nInstall AgentX from PyPI:\n\n```sh\npip install agentx-py\n```\n\nOr for development, clone the repository:\n\n```sh\ngit clone https://github.com/dustland/agentx.git\ncd agentx\nuv sync\n```\n\n### 2. Usage Examples\n\nAgentX can be run directly from the command line or via its Python API. You can find complete, working examples in the `examples/` directory.\n\n#### Running an Example\n\nThis demonstrates a basic multi-agent collaboration:\n\n```bash\n# Navigate to an example directory\ncd examples/simple_team\n\n# Run the demo script\npython demo.py\n```\n\n#### Using the CLI\n\nThe framework includes a powerful CLI for managing your agent system:\n\n```bash\n# Start the API server\nagentx start\n\n# Monitor tasks and events in your terminal\nagentx monitor\n\n# Launch the web dashboard for rich observability\nagentx monitor --web\n\n# Run a named example directly\nagentx example superwriter\n```\n\n#### Using the Python API\n\nHere is a simple example of an autonomous run:\n\n```python\nimport asyncio\nfrom agentx import execute_task\n\nasync def main():\n    # Execute a task with a simple prompt\n    result = await execute_task(\"Write a brief report on renewable energy trends\")\n\n    print(f\"Success: {result.success}\")\n    print(f\"Summary: {result.summary}\")\n    print(f\"Conversation rounds: {len(result.conversation_history)}\")\n\nasyncio.run(main())\n```\n\n_The script above shows a simple autonomous run. For more advanced patterns like message streaming and interactive sessions, please see the complete scripts in the `/examples` directory._\n\n## 📊 Observability \u0026 Monitoring\n\nAgentX includes a comprehensive observability system for monitoring and debugging multi-agent workflows.\n\nLaunch a modern web dashboard built with FastAPI and Preline UI:\n\n```bash\n# Start web dashboard\nagentx monitor --web\n```\n\n- **Dashboard**: System overview with metrics and recent activity.\n- **Tasks**: Task conversation history viewer with export.\n- **Events**: Real-time event monitoring with filtering.\n- **Memory**: Memory browser with search and categories.\n- **Messages**: Agent conversation history during execution.\n- **Configuration**: System configuration and status viewer.\n\nYou can also use the observability features in CLI mode without the option `--web`.\n\n## 🛠️ Tech Stack\n\nAgentX is built on a robust foundation of modern Python technologies and AI services:\n\n### 🧠 **AI \u0026 LLM Integration**\n\n- **[LiteLLM](https://github.com/BerriAI/litellm)** - Unified interface for 100+ LLM providers (OpenAI, Anthropic, DeepSeek, etc.)\n- **[Pydantic](https://pydantic.dev/)** - Data validation and settings management with type hints\n\n### 🧠 **Memory \u0026 Knowledge**\n\n- **[Mem0](https://github.com/mem0ai/mem0)** - Intelligent memory layer for long-term context retention\n- **[ChromaDB](https://www.trychroma.com/)** - Vector database for semantic search and embeddings\n\n### 🔧 **Core Framework**\n\n- **[FastAPI](https://fastapi.tiangolo.com/)** - Modern web framework for APIs and observability dashboard\n- **[Asyncio](https://docs.python.org/3/library/asyncio.html)** - Asynchronous programming for concurrent agent execution\n- **[YAML](https://pyyaml.org/)** - Human-readable configuration files for teams and agents\n\n### 🛡️ **Security \u0026 Isolation**\n\n- **[Docker](https://www.docker.com/)** - Containerized execution environment for secure tool execution\n- **[Subprocess](https://docs.python.org/3/library/subprocess.html)** - Isolated process execution with security controls\n\n### 📊 **Observability \u0026 Monitoring**\n\n- **[Preline UI](https://preline.co/)** - Modern UI components for the web dashboard\n- **[Jinja2](https://jinja.palletsprojects.com/)** - Template engine for dynamic web interfaces\n- **Event-driven architecture** - Real-time streaming and monitoring capabilities\n\n### 🔍 **Search \u0026 Web**\n\n- **[SerpAPI](https://serpapi.com/)** - Web search capabilities for agents\n- **[BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/)** - Web scraping and content extraction\n\n### 📦 **Development \u0026 Packaging**\n\n- **[UV](https://github.com/astral-sh/uv)** - Fast Python package installer and resolver\n- **[Pytest](https://pytest.org/)** - Testing framework with comprehensive test coverage\n\nYou can discover more architectural details in our documentation:\n\n- **[System Architecture](docs/arch/01-architecture.md)** - Overall design and system architecture\n- **[State and Context Management](docs/arch/02-state-and-context.md)** - State and Context management\n- **[Tool Calling](docs/arch/03-tool-call.md)** - Invoke tools for actual tasks\n- **[Communication and Message](docs/arch/04-communication.md)** - Message format for composite content and streaming\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## 🙏 Acknowledgments\n\nThis project was initially inspired by and built upon concepts from [AG2 (AutoGen)](https://github.com/ag2ai/ag2), an excellent multi-agent conversation framework. While AgentX has evolved into its own distinct architecture and approach, we're grateful for the foundational ideas and patterns that AG2 provided to the multi-agent AI community.\n\n## 📄 License\n\nLicensed under the Apache License 2.0 - see [LICENSE](LICENSE) for details.\n\n---\n\n**Built with ❤️ by the [Dustland](https://github.com/dustland) team**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdustland%2Fagentx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdustland%2Fagentx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdustland%2Fagentx/lists"}