{"id":22434878,"url":"https://github.com/qredence/agenticfleet","last_synced_at":"2025-04-06T06:07:20.557Z","repository":{"id":271543862,"uuid":"909560351","full_name":"Qredence/AgenticFleet","owner":"Qredence","description":"Adaptive Agentic AI Reasoning That Empower, Inform, and Integrate Seamlessly. Join the Discord for suggestion or support !  https://discord.gg/ebgy7gtZHK","archived":false,"fork":false,"pushed_at":"2025-03-29T20:48:56.000Z","size":3885,"stargazers_count":57,"open_issues_count":9,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T05:03:46.798Z","etag":null,"topics":["agentic-ai","agents","ai","ai-agents","autogen","autogen-ecosystem","autogen-sample","chainlit","code-interpreter","graph","magentic-one"],"latest_commit_sha":null,"homepage":"https://www.qredence.ai","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/Qredence.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"qredence","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2024-12-29T04:38:23.000Z","updated_at":"2025-03-28T18:01:47.000Z","dependencies_parsed_at":"2025-01-08T12:25:33.241Z","dependency_job_id":"31de7710-5a2b-40b3-9133-fd92ae6b520d","html_url":"https://github.com/Qredence/AgenticFleet","commit_stats":null,"previous_names":["qredence/agenticfleet"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qredence%2FAgenticFleet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qredence%2FAgenticFleet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qredence%2FAgenticFleet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qredence%2FAgenticFleet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qredence","download_url":"https://codeload.github.com/Qredence/AgenticFleet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247441049,"owners_count":20939239,"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":["agentic-ai","agents","ai","ai-agents","autogen","autogen-ecosystem","autogen-sample","chainlit","code-interpreter","graph","magentic-one"],"created_at":"2024-12-05T23:11:16.063Z","updated_at":"2025-04-06T06:07:20.529Z","avatar_url":"https://github.com/Qredence.png","language":"Python","funding_links":["https://github.com/sponsors/qredence"],"categories":[],"sub_categories":[],"readme":"# Agentic Fleet\n\n\u003cdiv align=\"center\"\u003e\n  \n![hero@2x](https://github.com/user-attachments/assets/5c05ab46-cc81-4fe0-9fc4-4ad4e2cb1ad2)\n\nA powerful multi-agent system for adaptive AI reasoning and automation. AgenticFleet combines Chainlit's interactive interface with AutoGen's multi-agent capabilities to create a flexible, powerful AI assistant platform.\n\n[![Weave Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fapp.workweave.ai%2Fapi%2Frepository%2Fbadge%2Forg_X84uIR347D2freSZkxeu4S9S%2F909560351\u0026cacheSeconds=3600)](https://app.workweave.ai/reports/repository/org_X84uIR347D2freSZkxeu4S9S/909560351)\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/pepy/dt/agentic-fleet?style=for-the-badge\u0026color=blue\" alt=\"Pepy Total Downloads\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/qredence/agenticfleet?style=for-the-badge\u0026color=purple\" alt=\"GitHub Repo stars\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/qredence/agenticfleet?style=for-the-badge\" alt=\"GitHub License\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/qredence/agenticfleet?style=for-the-badge\" alt=\"GitHub forks\"\u003e\n    \u003ca href=\"https://discord.gg/ebgy7gtZHK\"\u003e\n      \u003cimg src=\"https://img.shields.io/discord/ebgy7gtZHK?style=for-the-badge\u0026logo=discord\u0026logoColor=white\u0026label=Discord\" alt=\"Discord\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://x.com/agenticfleet\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Twitter-Follow-1DA1F2?style=for-the-badge\u0026logo=x\u0026logoColor=white\" alt=\"Twitter Follow\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cvideo src=\"https://github.com/user-attachments/assets/b1ad83ce-b8af-4406-99ed-257a07c0c7cf\" autoplay loop muted playsinline width=\"800\"\u003e\n    \u003cp\u003eYour browser doesn't support HTML5 video. Here is a \u003ca href=\"assets/b1ad83ce-b8af-4406-99ed-257a07c0c7cf\"\u003elink to the video\u003c/a\u003e instead.\u003c/p\u003e\n  \u003c/video\u003e\n\u003c/div\u003e\n\n## 🗺️ Short-Term Roadmap\n\nHere's a glimpse into the upcoming features and tasks planned for the near future. This is based on our current open issues:\n\n**🚀 New Features:**\n\n* [#120] NVIDIA Agentiq / NIM / NEMO use\n* [#118] OpenAPI documentation\n* [#116] Provide a chat history feature\n* [#115] LLM model format and handling revamped\n* [#114] MCP support\n* [#113] Canvas-like interface\n\n**✨ Enhancements \u0026 Refinements:**\n\n* [#119] Secure Oauth feature enhancement\n* [#117] Simplify entirely the codebase (Review effort: 4)\n\n**🛠️ Tasks \u0026 Updates:**\n\n* [#112] Updating Chainlit version dependency\n\n*This roadmap is subject to change based on priorities and development progress. Check the [Issues tab](link-to-your-issues-page) for the most up-to-date status.*\n\n\n## Table of Contents\n\n1. [Introduction](#introduction)\n2. [System Architecture](#system-architecture)\n3. [Quick Start](#quick-start)\n   - [Installation \u0026 Environment Setup](#installation--environment-setup)\n   - [Running AgenticFleet](#running-agenticfleet)\n   - [Using Docker](#using-docker)\n4. [Installation Guide](#installation-guide)\n   - [Prerequisites](#prerequisites)\n   - [Installation Steps](#installation-steps)\n   - [Troubleshooting Installation](#troubleshooting-installation)\n   - [Optional Feature Sets](#optional-feature-sets)\n   - [Warning About Editable Installations](#warning-about-editable-installations)\n5. [Model Provider Installation](#model-provider-installation)\n6. [Supported Model Providers](#supported-model-providers)\n7. [Key Features](#key-features)\n8. [Configuration](#configuration)\n9. [Error Handling](#error-handling)\n10. [Community Contributions](#community-contributions)\n11. [Star History](#star-history)\n12. [API Overview](#api-overview)\n13. [Advanced Configuration](#advanced-configuration)\n14. [Supported Features](#supported-features)\n15. [Performance Optimization](#performance-optimization)\n16. [Contributing](#contributing)\n17. [License](#license)\n\n## Introduction\n\nAgenticFleet operates through a coordinated team of specialized agents that work together to provide advanced AI capabilities. This project leverages Chainlit's interactive interface with AutoGen's multi-agent system to deliver robust and adaptive solutions.\n\nA comprehensive platform for deploying, managing, and interacting with AI agents.\n\n## Overview\n\nAgentic Fleet is a sophisticated platform that provides a modular architecture for managing AI agents, tasks, and communication. It supports multiple agent types, task management, and communication channels with a focus on extensibility, allowing for easy integration of new agent types, tools, and interfaces.\n\n## Features\n\n- **Agent Management**: Create, update, and delete AI agents with different capabilities\n- **Task Management**: Assign tasks to agents and track their progress\n- **Real-time Communication**: Chat interfaces for real-time interaction with agents\n- **Multiple Interfaces**: REST API and Chainlit-based UI\n- **Tool Integration**: Web search, content generation, and data processing tools\n- **Authentication**: API key-based authentication for secure access\n- **Logging**: Comprehensive request logging for monitoring and debugging\n- **Database Integration**: SQLAlchemy ORM for data persistence\n\n## System Architecture\n\nThe Agentic Fleet system is organized into several key components:\n\n### Core Components\n\n1. **API Layer** (`src/agentic_fleet/api/`)\n   - FastAPI-based REST API for interacting with the system\n   - Endpoints for agent management, task execution, and chat interactions\n   - Middleware for authentication, logging, and error handling\n\n2. **Database Layer** (`src/agentic_fleet/database/`)\n   - SQLAlchemy ORM models for data persistence\n   - Models for agents, messages, and tasks\n   - Database session management and connection pooling\n\n3. **Service Layer** (`src/agentic_fleet/services/`)\n   - Business logic for agent operations, task management, and chat interactions\n   - Client factory for LLM model instantiation and caching\n   - Message processing services\n\n4. **Agent System** (`src/agentic_fleet/agents/`)\n   - Implementation of agent types (e.g., MagenticOne)\n   - Agent registration and discovery\n   - Agent execution and lifecycle management\n\n5. **Tools** (`src/agentic_fleet/tools/`)\n   - Utility tools available to agents\n   - Web search capabilities (Google, Bing)\n   - Content generation (images, PDFs)\n   - Web page fetching and data extraction\n\n6. **UI Layer** (`src/agentic_fleet/ui/`)\n   - Chainlit-based chat interface\n   - Settings management\n   - Task visualization and management\n   - Message handling and formatting\n\n7. **Configuration System** (`src/agentic_fleet/config/`)\n   - YAML-based configuration for agents, models, and system settings\n   - Environment variable integration\n   - Configuration validation and loading\n\n## Getting Started\n\n### Prerequisites\n\n- Python 3.10+\n- PostgreSQL (optional, for production)\n- API keys for external services (OpenAI, Google, Bing, etc.)\n- Node.js (for UI development)\n\n### Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/yourusername/agentic-fleet.git\n   cd agentic-fleet\n   ```\n\n2. Create a virtual environment:\n   ```bash\n   python -m venv .venv\n   source .venv/bin/activate  # On Windows: .venv\\Scripts\\activate\n   ```\n\n3. Install dependencies:\n   ```bash\n   # Using the provided script\n   ./install_deps.sh\n   \n   # Or using make\n   make install\n   \n   # Or manually with pip\n   pip install -r requirements.txt\n   \n   # Or install directly from source with development dependencies\n   pip install -e \".[dev]\"\n   ```\n\n4. Create a `.env` file:\n   ```\n   HOST=0.0.0.0\n   PORT=8000\n   CHAINLIT_PORT=8001\n   RELOAD=True\n   API_KEY=your_secret_api_key  # Optional, for authentication\n   DATABASE_URL=postgresql+asyncpg://user:password@localhost/agentic_fleet  # Optional, for production\n   OPENAI_API_KEY=your_openai_api_key  # Required for LLM functionality\n   GOOGLE_API_KEY=your_google_api_key  # Optional, for Google Search tool\n   BING_API_KEY=your_bing_api_key  # Optional, for Bing Search tool\n   ```\n\n### Running the Application\n\n#### API Server\n\n```bash\n# Using make\nmake run\n\n# Or directly with Python\npython -m agentic_fleet.main\n\n# Or using the installed entry point\nagentic-fleet\n```\n\nThe API will be available at `http://localhost:8000`.\n\n- API Documentation: `http://localhost:8000/docs`\n- Alternative Documentation: `http://localhost:8000/redoc`\n\n#### Chainlit UI\n\n```bash\n# Run the Chainlit UI\npython -m agentic_fleet.app\n```\n\nThe Chainlit UI will be available at `http://localhost:8001`.\n\n## API Endpoints\n\n### Agents\n\n- `GET /agents`: List all agents\n- `POST /agents`: Create a new agent\n- `GET /agents/{agent_id}`: Get agent details\n- `PUT /agents/{agent_id}`: Update an agent\n- `DELETE /agents/{agent_id}`: Delete an agent\n\n### Tasks\n\n- `GET /tasks`: List all tasks\n- `POST /tasks`: Create a new task\n- `GET /tasks/{task_id}`: Get task details\n- `PUT /tasks/{task_id}`: Update a task\n- `DELETE /tasks/{task_id}`: Delete a task\n- `POST /tasks/{task_id}/assign/{agent_id}`: Assign a task to an agent\n\n### Chat\n\n- `GET /chat/messages`: List all chat messages\n- `POST /chat/messages`: Create a new chat message\n- `GET /chat/messages/{message_id}`: Get message details\n- `PUT /chat/messages/{message_id}`: Update a message\n- `DELETE /chat/messages/{message_id}`: Delete a message\n- `WebSocket /chat/ws`: Real-time chat endpoint\n\n## User Interfaces\n\n### Chainlit UI\n\nThe system provides a web-based chat interface using Chainlit:\n\n1. **Chat Interface**\n   - Real-time messaging with agents\n   - File upload and sharing\n   - Message history and threading\n\n2. **Settings Management**\n   - Model selection and configuration\n   - Temperature and other generation parameters\n   - Agent selection and customization\n\n3. **Task Management**\n   - Task creation and assignment\n   - Task status tracking\n   - Task prioritization\n\n## Agent System\n\n### Agent Types\n\n1. **MagenticOne**\n   - Based on the AutoGen framework\n   - Supports code execution and reasoning\n   - Human-in-the-loop capabilities\n   - Uses a team of specialized agents including:\n     - Orchestrator: Manages the conversation flow\n     - Coder: Writes and executes code\n     - WebSurfer: Browses and retrieves web content\n     - FileSurfer: Searches and manipulates files\n     - ComputerTerminal: Executes terminal commands\n\n### Agent Capabilities\n\n- Natural language understanding and generation\n- Tool usage (web search, content generation, etc.)\n- Task planning and execution\n- Memory and context management\n- Code execution in a sandboxed environment\n- Web browsing and information retrieval\n- File operations and document processing\n\n## Tools and Utilities\n\nThe system provides several tools that agents can use:\n\n1. **Search Tools**\n   - Google Search\n   - Bing Search\n\n2. **Content Generation**\n   - Image generation\n   - PDF generation\n\n3. **Web Interaction**\n   - Webpage fetching and parsing\n   - Browser automation\n\n4. **Utility Tools**\n   - Calculator\n   - Data processing\n   - File operations\n\n## Development\n\n### Project Structure\n\n```\nagentic_fleet/\n├── src/\n│   └── agentic_fleet/\n│       ├── agents/              # Agent implementations\n│       ├── api/                 # API endpoints and middleware\n│       │   ├── dependencies/\n│       │   ├── middleware/\n│       │   ├── routes/\n│       │   └── app.py\n│       ├── apps/                # Application modules\n│       ├── config/              # Configuration system\n│       ├── core/                # Core functionality\n│       │   ├── application/\n│       │   ├── llm/\n│       │   └── workflows/\n│       ├── database/            # Database models and session\n│       │   ├── models/\n│       │   └── session.py\n│       ├── exceptions/          # Custom exceptions\n│       ├── message_processing/  # Message handling\n│       ├── models/              # Data models\n│       ├── schemas/             # Pydantic schemas\n│       ├── services/            # Business logic\n│       ├── shared/              # Shared utilities\n│       ├── tools/               # Agent tools\n│       ├── ui/                  # User interface\n│       │   ├── chainlit/\n│       │   └── message_handler.py\n│       ├── utils/               # Utility functions\n│       ├── app.py               # Chainlit application\n│       └── main.py              # FastAPI application\n├── tests/\n├── .env\n├── pyproject.toml\n├── requirements.txt\n├── Makefile\n└── README.md\n```\n\n### Development Commands\n\nThe project includes a Makefile with common development commands:\n\n```bash\n# Install dependencies\nmake install\n\n# Run tests\nmake test\n\n# Run linting\nmake lint\n\n# Format code\nmake format\n\n# Clean build artifacts\nmake clean\n\n# Run the application\nmake run\n\n# Show help\nmake help\n```\n\n### Running Tests\n\n```bash\n# Using make\nmake test\n\n# Or directly with pytest\npytest\n```\n\n### Adding New Components\n\n1. **New Agent Types**\n   - Create a new file in `agents/`\n   - Implement the agent interface\n   - Register the agent in `agents/__init__.py`\n\n2. **New Tools**\n   - Create a new file in `tools/`\n   - Implement the tool interface\n   - Register the tool in `tools/__init__.py`\n\n3. **New API Endpoints**\n   - Create a new file in `api/routes/`\n   - Implement the endpoint handlers\n   - Register the routes in `api/routes/__init__.py`\n\n## Configuration\n\nThe system uses a hierarchical configuration system:\n\n1. **Environment Variables**\n   - Runtime configuration\n   - Sensitive information (API keys, credentials)\n\n2. **YAML Configuration Files**\n   - Agent definitions\n   - Model configurations\n   - Memory settings\n\n3. **Dynamic Configuration**\n   - User preferences\n   - Session settings\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the LICENSE file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=qredence/agenticfleet\u0026type=Date)](https://www.star-history.com/#qredence/agenticfleet\u0026Date)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqredence%2Fagenticfleet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqredence%2Fagenticfleet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqredence%2Fagenticfleet/lists"}