{"id":30656027,"url":"https://github.com/xyonx/flexygent","last_synced_at":"2026-04-13T13:31:59.388Z","repository":{"id":312060747,"uuid":"1043106886","full_name":"XyonX/flexygent","owner":"XyonX","description":"Flexible, modular AI agent framework with memory, tool use, and LLM integration. Build custom agents with FastAPI, ChromaDB, and OpenRouter in Python.","archived":false,"fork":false,"pushed_at":"2025-08-28T08:58:14.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-28T15:47:59.582Z","etag":null,"topics":["ai-agent","chatbot","chromadb","extensible","fastapi","framework","llm","memory","openai","openrouter","python","rag","tools","vector-store"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XyonX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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-08-23T06:39:26.000Z","updated_at":"2025-08-28T08:58:17.000Z","dependencies_parsed_at":"2025-08-28T15:48:05.579Z","dependency_job_id":"97aaf6b4-3194-44de-bc19-c923e5935198","html_url":"https://github.com/XyonX/flexygent","commit_stats":null,"previous_names":["xyonx/flexygent"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/XyonX/flexygent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XyonX%2Fflexygent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XyonX%2Fflexygent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XyonX%2Fflexygent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XyonX%2Fflexygent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XyonX","download_url":"https://codeload.github.com/XyonX/flexygent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XyonX%2Fflexygent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272965497,"owners_count":25023071,"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-31T02:00:09.071Z","response_time":79,"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":["ai-agent","chatbot","chromadb","extensible","fastapi","framework","llm","memory","openai","openrouter","python","rag","tools","vector-store"],"created_at":"2025-08-31T10:03:36.814Z","updated_at":"2026-04-13T13:31:59.364Z","avatar_url":"https://github.com/XyonX.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flexygent 🤖\n\nA flexible, modular multi-agent AI framework built for orchestrating specialized AI agents with tool-calling capabilities. Flexygent enables you to create, configure, and deploy AI agents that can collaborate to solve complex tasks through intelligent delegation and coordination.\n\n## ✨ Features\n\n- **🎯 Multi-Agent Architecture**: Deploy specialized agents for different domains (coding, research, writing, data analysis)\n- **🔧 Tool-Calling Framework**: Rich ecosystem of built-in tools for web search, code execution, content generation, and more\n- **🧠 Memory Management**: Short-term and long-term memory systems for context retention\n- **⚙️ Flexible Configuration**: YAML-based configuration system for easy agent customization\n- **🔄 Agent Factory Pattern**: Dynamic agent creation and management\n- **🌐 Multi-Provider Support**: Compatible with OpenAI, OpenRouter, and other LLM providers\n- **📊 Policy Enforcement**: Configurable autonomy levels and tool usage policies\n- **🎨 Extensible Design**: Easy to add new agents, tools, and capabilities\n\n## 🏗️ Architecture\n\nFlexygent follows a modular architecture with clear separation of concerns:\n\n```\nsrc/\n├── agents/           # Agent implementations (master, research, coding, etc.)\n├── llm/             # LLM provider abstractions and implementations\n├── tools/            # Tool ecosystem (web, coding, creative, data, etc.)\n├── memory/           # Memory management (short-term, long-term)\n├── orchestration/   # Tool calling orchestration and policies\n├── rag/             # Retrieval-Augmented Generation capabilities\n└── utils/           # Configuration loading and utilities\n```\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Python 3.11+\n- OpenAI API key or OpenRouter API key\n- Git (for cloning the repository)\n\n### Installation\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/yourusername/flexygent.git\n   cd flexygent\n   ```\n\n2. **Create a virtual environment**\n   ```bash\n   python -m venv venv\n   \n   # Activate virtual environment\n   # On Windows:\n   venv\\Scripts\\activate\n   \n   # On macOS/Linux:\n   source venv/bin/activate\n   ```\n\n3. **Install dependencies**\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. **Set up environment variables**\n   \n   Create a `.env` file in the project root with the following content:\n   \n   ```bash\n   # .env file\n   \n   # OpenRouter API Configuration (Recommended)\n   OPENROUTER_API_KEY=your_openrouter_api_key_here\n   OPENAI_BASE_URL=https://openrouter.ai/api/v1\n   \n   # Alternative: OpenAI API Configuration\n   # OPENAI_API_KEY=your_openai_api_key_here\n   \n   # Optional: Custom model selection\n   OPENAI_MODEL=x-ai/grok-4-fast:free\n   \n   # Optional: Memory storage path\n   MEMORY_PATH=~/.flexygent/long_term_memory.json\n   \n   # Optional: Logging level\n   LOG_LEVEL=INFO\n   ```\n\n   **Getting API Keys:**\n   - **OpenRouter**: Visit [OpenRouter.ai](https://openrouter.ai/) and create an account\n   - **OpenAI**: Visit [OpenAI Platform](https://platform.openai.com/) and create an API key\n\n5. **Verify installation**\n   ```bash\n   python -c \"import src.agents; print('Flexygent installed successfully!')\"\n   ```\n\n6. **Run the application**\n   ```bash\n   python app.py\n   ```\n\n### First Run Setup\n\nWhen you first run Flexygent, you'll see:\n\n```\nGenesis Master Agent is running. Type 'exit' to quit.\n========================================\n    🤖 FLEXYGENT AI FRAMEWORK 🤖\n========================================\n\nAvailable agent types: ['master', 'general', 'research', 'coding', 'writing', 'data', 'creative', 'project']\nAvailable tools: ['system.echo', 'web.search', 'web.fetch', 'web.scrape', 'code.run', 'code.analyze', 'content.generate', ...]\nGenesis team members: ['researcher', 'coder', 'writer', 'analyst', 'creative', 'planner']\n\nEnter your task for Genesis: \n```\n\n**Example first interaction:**\n```\nEnter your task for Genesis: Help me research the latest trends in AI agent frameworks\n\nGenesis is analyzing: 'Help me research the latest trends in AI agent frameworks'\n=== Genesis Response ===\nStrategy: I'll delegate this research task to our specialized research agent who can search the web and gather comprehensive information about AI agent framework trends.\nResult: [Research findings will be displayed here]\n==================================================\n```\n\n## 🎮 Usage Examples\n\n### Interactive Mode (Recommended)\n\nThe easiest way to use Flexygent is through the interactive Genesis interface:\n\n```bash\npython app.py\n```\n\n**Example interactions:**\n\n1. **Research Task**\n   ```\n   Enter your task for Genesis: What are the latest developments in AI agent frameworks?\n   ```\n\n2. **Coding Task**\n   ```\n   Enter your task for Genesis: Write a Python function to calculate fibonacci numbers\n   ```\n\n3. **Content Creation**\n   ```\n   Enter your task for Genesis: Create a blog post about the benefits of multi-agent AI systems\n   ```\n\n4. **Data Analysis**\n   ```\n   Enter your task for Genesis: Analyze this CSV data and provide insights: [paste your data]\n   ```\n\n### Programmatic Usage\n\n#### Basic Agent Usage\n\n```python\nfrom src.agents.research_agent import ResearchAgent\nfrom src.llm.openrouter_provider import OpenRouterProvider\nfrom src.tools.builtin_loader import load_builtin_tools\nfrom src.utils.config_loader import load_config, get_llm_provider_cfg\n\n# Load configuration\nconfig = load_config()\nllm_config = get_llm_provider_cfg(config, \"openai\")\n\n# Create LLM provider\nllm = OpenRouterProvider.from_config(llm_config)\n\n# Load tools\nload_builtin_tools()\n\n# Create research agent\nagent = ResearchAgent(\n    name=\"researcher\",\n    config={\"max_results\": 5},\n    llm=llm\n)\n\n# Process a task\nresult = agent.process_task(\"Latest developments in AI frameworks 2024\")\nprint(result[\"summary\"])\n```\n\n#### Master Agent (Genesis) Coordination\n\n```python\nfrom app import FlexygentApp\n\n# Initialize the full application\napp = FlexygentApp()\n\n# Genesis will analyze and delegate tasks to appropriate agents\nresponse = app.agent.process_task(\"Help me write a Python script for data analysis\")\nprint(f\"Strategy: {response['strategy']['reasoning']}\")\nprint(f\"Result: {response['final_response']}\")\n```\n\n#### Custom Agent Configuration\n\n```python\nfrom src.agents.agent_factory import AgentFactory\nfrom src.agents.agent_registry import AgentRegistry\nfrom src.tools.registry import ToolRegistry\nfrom src.tools.builtin_loader import load_builtin_tools\n\n# Set up registries\nagent_registry = AgentRegistry()\ntool_registry = ToolRegistry()\nload_builtin_tools(tool_registry)\n\n# Create agent factory\nfactory = AgentFactory(\n    agent_registry=agent_registry,\n    tool_registry=tool_registry,\n    provider_resolver=lambda cfg: OpenRouterProvider.from_config(cfg)\n)\n\n# Create custom agent configuration\ncustom_config = {\n    'type': 'general',\n    'name': 'MyCustomAgent',\n    'llm': {\n        'api_key': 'your-api-key',\n        'model': 'gpt-4o-mini',\n        'temperature': 0.3\n    },\n    'tools': {\n        'allowlist': ['web.search', 'web.fetch', 'system.echo']\n    },\n    'policy': {\n        'autonomy': 'auto',\n        'max_steps': 5\n    }\n}\n\n# Create agent\nagent = factory.from_config(custom_config)\nresult = agent.process_task(\"Your task here\")\n```\n\n### Running Examples\n\nFlexygent includes several example scripts to get you started:\n\n```bash\n# Simple research agent\npython examples/simple_agent.py\n\n# Tool-calling agent with OpenRouter\npython examples/toolcalling_agent.py\n\n# RAG-enabled agent\npython examples/rag_agent.py\n\n# Enhanced provider resolver demo\npython examples/enhanced_resolver_demo.py\n```\n\n## 🤖 Available Agents\n\n### Master Agent\n- **Genesis**: Master coordinator that analyzes tasks and delegates to specialized agents\n\n### Specialized Agents\n- **Coding Assistant**: Code development, debugging, and programming assistance\n- **Research Agent**: Information gathering, web searches, and research\n- **Writing Assistant**: Content creation, writing, and text generation\n- **Data Analyst**: Data analysis, statistics, and insights\n- **Creative Designer**: Creative ideation and design concepts\n- **Project Manager**: Project planning, timelines, and management\n\n## 🛠️ Built-in Tools\n\n### Web Tools\n- `web.search` - Web search capabilities\n- `web.fetch` - HTTP content fetching\n- `web.scrape` - Web page scraping\n- `web.rss` - RSS feed parsing\n\n### Coding Tools\n- `code.run` - Safe code execution\n- `code.analyze` - Code quality analysis\n- `code.format` - Code formatting\n\n### Creative Tools\n- `creative.ideas` - Creative idea generation\n- `content.generate` - Content creation\n- `writing.grammar_check` - Grammar checking\n\n### Data Tools\n- `data.analyze` - Data analysis and insights\n- `project.plan` - Project planning\n\n### System Tools\n- `system.echo` - Basic system interaction\n- `ui.ask` - User interaction\n\n## ⚙️ Configuration\n\nFlexygent uses YAML configuration files for easy customization:\n\n```yaml\n# config/genesis.yaml\ntype: master\nname: Genesis\nllm:\n  provider: openrouter\n  model: gpt-4o-mini\n  temperature: 0.2\ntools:\n  allowlist: [\"web.search\", \"web.fetch\", \"system.echo\"]\npolicy:\n  autonomy: auto\n  max_steps: 10\n```\n\n## ⚙️ Configuration\n\n### Environment Variables\n\nFlexygent supports extensive configuration through environment variables:\n\n```bash\n# Required: API Configuration\nOPENROUTER_API_KEY=your_api_key_here\n# OR\nOPENAI_API_KEY=your_openai_key_here\n\n# Optional: Model Selection\nOPENAI_MODEL=x-ai/grok-4-fast:free  # Default model\nOPENAI_BASE_URL=https://openrouter.ai/api/v1  # For OpenRouter\n\n# Optional: Memory Configuration\nMEMORY_PATH=~/.flexygent/long_term_memory.json\nMEMORY_MAX_HISTORY=50\n\n# Optional: Logging\nLOG_LEVEL=INFO\nLOG_FILE=flexygent.log\n\n# Optional: Tool Configuration\nTOOL_TIMEOUT=30\nMAX_TOOL_CALLS=10\nPARALLEL_TOOL_CALLS=true\n\n# Optional: Agent Configuration\nDEFAULT_AUTONOMY=auto  # auto, confirm, never\nMAX_STEPS=8\n```\n\n### Configuration Files\n\nYou can also configure agents using YAML files in the `config/` directory:\n\n```yaml\n# config/my_agent.yaml\ntype: general\nname: MyCustomAgent\nllm:\n  provider: openrouter\n  model: gpt-4o-mini\n  temperature: 0.3\n  max_tokens: 2000\ntools:\n  allowlist: [\"web.search\", \"web.fetch\", \"code.run\"]\n  resolve_objects: true\npolicy:\n  autonomy: auto\n  max_steps: 6\n  max_tool_calls: 5\nprompts:\n  system: \"You are a helpful AI assistant specialized in web research and coding.\"\n```\n\n## 🔧 Development\n\n### Adding New Agents\n\n1. **Create agent class**\n   ```python\n   # src/agents/my_agent.py\n   from src.agents.base_agent import BaseAgent\n   \n   class MyAgent(BaseAgent):\n       def process_task(self, task: str) -\u003e Any:\n           # Implement your agent logic\n           pass\n       \n       def handle_tool_calls(self, tool_name: str, payload: Dict[str, Any]) -\u003e Any:\n           # Handle tool calls\n           pass\n   ```\n\n2. **Register the agent**\n   ```python\n   # src/agents/agent_registry.py\n   from src.agents.my_agent import MyAgent\n   \n   def register_builtin_agents(registry: AgentRegistry) -\u003e None:\n       registry.register(\"my_agent\", MyAgent)\n   ```\n\n3. **Create configuration**\n   ```yaml\n   # config/my_agent.yaml\n   type: my_agent\n   name: MySpecializedAgent\n   # ... rest of config\n   ```\n\n### Adding New Tools\n\n1. **Create tool class**\n   ```python\n   # src/tools/my_tool.py\n   from src.tools.base_tool import BaseTool\n   from pydantic import BaseModel, Field\n   \n   class MyToolInput(BaseModel):\n       param1: str = Field(..., description=\"Description of param1\")\n   \n   class MyToolOutput(BaseModel):\n       result: str = Field(..., description=\"Tool result\")\n   \n   class MyTool(BaseTool[MyToolInput, MyToolOutput]):\n       name = \"my.tool\"\n       description = \"Description of what this tool does\"\n       input_model = MyToolInput\n       output_model = MyToolOutput\n       \n       async def execute(self, params: MyToolInput, context: Optional[dict] = None) -\u003e MyToolOutput:\n           # Implement tool logic\n           return MyToolOutput(result=\"Tool executed successfully\")\n   ```\n\n2. **Register the tool**\n   ```python\n   # src/tools/builtin_loader.py\n   from src.tools.my_tool import MyTool\n   \n   def load_builtin_tools(registry):\n       # ... existing tools\n       registry.register_tool(MyTool())\n   ```\n\n## 🚨 Troubleshooting\n\n### Common Issues\n\n#### 1. **API Key Not Found**\n```\nError: No API key provided\n```\n**Solution:** Ensure your `.env` file contains either `OPENROUTER_API_KEY` or `OPENAI_API_KEY`\n\n#### 2. **Module Import Errors**\n```\nModuleNotFoundError: No module named 'src'\n```\n**Solution:** Make sure you're running from the project root directory and have activated your virtual environment\n\n#### 3. **Tool Execution Timeout**\n```\nToolExecutionError: Tool execution timed out\n```\n**Solution:** Increase timeout in your configuration or check network connectivity\n\n#### 4. **Memory Permission Errors**\n```\nPermissionError: [Errno 13] Permission denied: '/home/user/.flexygent'\n```\n**Solution:** Create the directory manually or change the `MEMORY_PATH` in your `.env` file\n\n#### 5. **Model Not Available**\n```\nError: Model 'gpt-4' not found\n```\n**Solution:** Check if your API key has access to the model, or try a different model like `gpt-4o-mini`\n\n### Debug Mode\n\nEnable debug logging for more detailed information:\n\n```bash\n# Set debug level\nexport LOG_LEVEL=DEBUG\n\n# Run with verbose output\npython app.py --verbose\n```\n\n### Performance Optimization\n\n1. **Reduce Model Costs**\n   ```bash\n   # Use smaller, faster models\n   OPENAI_MODEL=gpt-4o-mini\n   ```\n\n2. **Limit Tool Usage**\n   ```yaml\n   # In agent config\n   policy:\n     max_tool_calls: 3\n     max_steps: 5\n   ```\n\n3. **Enable Parallel Processing**\n   ```yaml\n   policy:\n     parallel_tool_calls: true\n   ```\n\n### Getting Help\n\n- **Check the logs**: Look for error messages in the console output\n- **Verify configuration**: Ensure all required environment variables are set\n- **Test with simple tasks**: Start with basic tasks like \"echo hello world\"\n- **Check API quotas**: Verify your API key has sufficient credits/quota\n\n## 📁 Project Structure\n\nUnderstanding the Flexygent codebase:\n\n```\nflexygent/\n├── src/                          # Core source code\n│   ├── agents/                   # Agent implementations\n│   │   ├── base_agent.py         # Abstract base class\n│   │   ├── master_agent.py       # Genesis coordinator\n│   │   ├── research_agent.py     # Web research specialist\n│   │   ├── tool_calling_agent.py # Tool-enabled agent\n│   │   └── ...                   # Other specialized agents\n│   ├── llm/                      # Language model providers\n│   │   ├── openrouter_provider.py # OpenRouter integration\n│   │   ├── openai_provider.py    # OpenAI integration\n│   │   └── provider_resolver.py  # Dynamic provider selection\n│   ├── tools/                    # Tool ecosystem\n│   │   ├── web/                  # Web tools (search, fetch, scrape)\n│   │   ├── coding/               # Code tools (run, analyze, format)\n│   │   ├── creative/             # Creative tools (ideas, content)\n│   │   ├── data/                 # Data analysis tools\n│   │   └── ...                   # Other tool categories\n│   ├── memory/                   # Memory management\n│   │   ├── stores.py             # Memory implementations\n│   │   └── interfaces.py         # Memory protocols\n│   ├── orchestration/            # Tool orchestration\n│   │   ├── tool_call_orchestrator.py # Main orchestration engine\n│   │   └── interaction_policy.py  # Policy enforcement\n│   ├── rag/                      # RAG capabilities\n│   │   ├── embedding.py          # Text embeddings\n│   │   ├── vector_store.py       # Vector storage\n│   │   └── query.py              # Query processing\n│   └── utils/                    # Utilities\n│       ├── config_loader.py      # Configuration management\n│       └── themes.py             # UI themes\n├── config/                       # Configuration files\n│   ├── default.yaml              # Default settings\n│   ├── genesis.yaml              # Master agent config\n│   ├── coding_agent.yaml         # Coding agent config\n│   └── ...                       # Other agent configs\n├── examples/                     # Example scripts\n│   ├── simple_agent.py           # Basic usage example\n│   ├── toolcalling_agent.py      # Tool-calling example\n│   └── rag_agent.py              # RAG example\n├── app.py                        # Main application entry point\n├── main.py                       # Alternative entry point\n├── requirements.txt              # Python dependencies\n└── README.md                     # This file\n```\n\n## 📊 Memory System\n\nFlexygent includes a sophisticated memory system:\n\n- **Short-term Memory**: In-memory storage for conversation context\n- **Long-term Memory**: Persistent file-based storage\n- **Agent Memory**: Composite memory with automatic routing\n\n```python\nfrom src.memory import InMemoryShortTerm, FileLongTerm, AgentMemory\n\n# Create memory system\nshort_term = InMemoryShortTerm(max_history_per_key=50)\nlong_term = FileLongTerm(file_path='~/.flexygent/memory.json')\nmemory = AgentMemory(short_term=short_term, long_term=long_term)\n\n# Usage in agents\nagent.memory.store_long(\"user_preference\", \"dark_mode\", {\"timestamp\": \"2024-01-15\"})\nrecent_context = agent.memory.get_recent_short(\"conversation\", 10)\n```\n\n## 🔒 Security \u0026 Policies\n\nFlexygent includes configurable security policies:\n\n- **Autonomy Levels**: `auto`, `confirm`, `never`\n- **Tool Allowlists**: Restrict which tools agents can use\n- **Execution Limits**: Maximum steps and tool calls\n- **Timeout Controls**: Prevent runaway executions\n\n## 🚀 Quick Start Checklist\n\nNew to Flexygent? Follow this checklist to get up and running:\n\n- [ ] **Install Python 3.11+** and verify with `python --version`\n- [ ] **Clone the repository** with `git clone https://github.com/yourusername/flexygent.git`\n- [ ] **Create virtual environment** with `python -m venv venv`\n- [ ] **Activate virtual environment** (`venv\\Scripts\\activate` on Windows, `source venv/bin/activate` on macOS/Linux)\n- [ ] **Install dependencies** with `pip install -r requirements.txt`\n- [ ] **Get API key** from [OpenRouter.ai](https://openrouter.ai/) or [OpenAI](https://platform.openai.com/)\n- [ ] **Create `.env` file** with your API key\n- [ ] **Test installation** with `python -c \"import src.agents; print('Success!')\"`\n- [ ] **Run Flexygent** with `python app.py`\n- [ ] **Try your first task** like \"echo hello world\" or \"search for AI news\"\n\n## 🤝 Contributing\n\nWe welcome contributions! Here's how to get started:\n\n1. **Fork the repository**\n2. **Create a feature branch** (`git checkout -b feature/amazing-feature`)\n3. **Make your changes** and test them thoroughly\n4. **Commit your changes** (`git commit -m 'Add amazing feature'`)\n5. **Push to the branch** (`git push origin feature/amazing-feature`)\n6. **Open a Pull Request**\n\n### Development Setup\n\n```bash\n# Clone your fork\ngit clone https://github.com/yourusername/flexygent.git\ncd flexygent\n\n# Install development dependencies\npip install -r requirements.txt\npip install black isort pytest\n\n# Run tests\npython -m pytest\n\n# Format code\nblack src/\nisort src/\n```\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Built with [Pydantic](https://pydantic.dev/) for robust data validation\n- Uses [OpenAI API](https://openai.com/) and [OpenRouter](https://openrouter.ai/) for LLM access\n- Inspired by modern AI agent frameworks and tool-calling patterns\n- Thanks to the open-source community for the amazing tools and libraries\n\n## 📞 Support \u0026 Community\n\n- 📖 **Documentation**: Check the `docs/` directory for detailed guides\n- 🐛 **Bug Reports**: [GitHub Issues](https://github.com/yourusername/flexygent/issues)\n- 💬 **Discussions**: [GitHub Discussions](https://github.com/yourusername/flexygent/discussions)\n- 💡 **Feature Requests**: Open an issue with the \"enhancement\" label\n- 🤝 **Contributing**: See our [Contributing Guidelines](CONTRIBUTING.md)\n\n## 🌟 What's Next?\n\n- **Web Interface**: Browser-based UI for easier interaction\n- **Plugin System**: Easy way to add custom tools and agents\n- **Cloud Deployment**: One-click deployment to cloud platforms\n- **Multi-language Support**: Agents that can work in multiple languages\n- **Advanced RAG**: Enhanced retrieval with better context understanding\n\n---\n\n**Flexygent** - Where AI agents collaborate to achieve more! 🚀\n\n*Built with ❤️ for the AI community*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxyonx%2Fflexygent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxyonx%2Fflexygent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxyonx%2Fflexygent/lists"}