Skip to content

brothergbk/agent-swarm-docker

Repository files navigation

AutoIT Swarm

A fully autonomous, agent-swarm-based IT company system powered by multiple LLM providers (Ollama, OpenAI, Claude, OpenRouter, DeepSeek, Qwen). The system simulates a real IT company with specialized AI agents collaborating to deliver IT services end-to-end, with file generation, MCP tools, and Human-in-the-Loop (HITL) escalation.

AutoIT Swarm Python Multi-LLM MCP Docker

πŸš€ Quick Start

# Set environment and start
$env:OLLAMA_URL="http://localhost:11434"  # Windows
python main.py --mode web

# Access dashboard at http://localhost:5000
# Configure LLM and agents in Settings

πŸ“– Documentation

Document Description
Getting Started Quick start and usage examples
Features Key features and capabilities
Architecture System design and agent architecture
Configuration Complete configuration reference
Agent Tools NEW MCP, web search, and tools
Dashboard & API Web dashboard and API documentation

Additional Guides

Document Description
Installation Guide Detailed setup instructions
Agents Guide Agent roles and capabilities
Task Management Task control, progress, and pause/resume
HITL Guide Human-in-the-Loop escalation system
API Reference REST API reference
Troubleshooting Common issues and solutions

🎯 What is AutoIT Swarm?

AutoIT Swarm simulates a complete IT company with 12 specialized AI agents that collaborate to deliver IT services:

  • Leadership: CEO, Project Manager
  • Development: Senior/Junior Developers, Solutions Architect
  • Quality: QA Testing, Security Expert
  • Operations: DevOps Engineer, Database Administrator
  • Support: Support Specialist, Billing Agent
  • Marketing: Marketing Agent (NEW)

Plus dynamic sub-agents that can be created on-the-fly for specialized tasks.

✨ Key Features (v2.0)

🧠 Multi-LLM Provider Support

  • Ollama - Local LLM (free, private)
  • OpenAI - GPT-4, GPT-3.5 Turbo
  • Claude - Anthropic Claude 3 family
  • OpenRouter - Multi-provider gateway
  • DeepSeek - DeepSeek AI models
  • Qwen - Alibaba Qwen models

πŸ”Œ MCP & External Tools

  • Web Search - Research via Tavily/Serper
  • Web Fetch - Get content from URLs
  • Document Search - Internal knowledge base
  • Code Execution - Safe Python execution
  • File Read/Write - Access allowed directories

πŸ“€ File Generation (15+ Formats)

  • Code: HTML, CSS, JavaScript, Python
  • Data: JSON, CSV, Excel (XLSX)
  • Documents: Markdown, PDF, Word (DOCX)
  • Images: PNG, JPEG
  • Auto-saved to ./output/{project_id}/

πŸŽ›οΈ Enhanced Dashboard

  • Projects Page - Card/list view, deliverables download
  • Settings Page - 6 tabs (LLM, HITL, Output, Webhooks, Agents, System)
  • Agent Editor - Configure capabilities per agent
  • Real-time Updates - Socket.IO integration

πŸ”„ Task Management

  • Pause/Resume controls
  • Progress percentage tracking (0-100%)
  • Task timeout (auto-fail old tasks)
  • Infinite loop prevention
  • Retry logic with max retries

πŸ”€ Human-in-the-Loop (HITL)

  • 8 escalation triggers
  • Web-based review panel
  • Decision tracking and audit
  • Email/Webhook notifications

πŸ“¦ Installation

# Clone the repository
git clone <repository-url>
cd KimiAS

# Install dependencies
pip install -r requirements.txt

# Configure your LLM provider
# Option 1: Local Ollama (no API key needed)
$env:OLLAMA_URL="http://localhost:11434"

# Option 2: Cloud providers (set API key in Settings)
# OpenAI, Claude, OpenRouter, DeepSeek, Qwen

See Installation Guide for detailed instructions.

πŸƒ Run the System

# Web dashboard mode (recommended)
python main.py --mode web

# Access dashboard at http://localhost:5000
# Configure LLM provider in Settings β†’ LLM Providers

# Single request mode
python main.py --request "Build me a REST API for user authentication"

# Check system status
python main.py --status

🌐 Web Dashboard

Access the dashboard at http://localhost:5000 for:

Page Description
Dashboard Overview with stats, health, performance
Tasks Task board with pause/resume controls
Agents Agent status and activity
Projects Projects with card/list view, deliverables
HITL Human review panel for escalations
Settings LLM, Output, Webhooks, Agents configuration

Dashboard Features

  • 4 Stats Cards: Total, In Progress, Completed, Pending HITL
  • Task Status Chart: Visual breakdown by status
  • Recent Tasks: Last 5 tasks with assignee
  • Agent Activity: Active agents with task counts
  • System Health: LLM, Task Board, Message Queue, Memory
  • Active Projects: Project progress bars
  • Performance: Completion rate, escalation rate, avg confidence

πŸ”Œ API & Webhooks

Submit Request via API

curl -X POST http://localhost:5000/api/submit-request \
  -H "Content-Type: application/json" \
  -d '{"request": "Build a user authentication system"}'

Create Task via Webhook

curl -X POST http://localhost:5000/api/webhook/incoming \
  -H "Authorization: Bearer your-token" \
  -H "Content-Type: application/json" \
  -d '{"description": "Build a login page", "agent": "SeniorDeveloper"}'

Execute MCP Tool

curl -X POST http://localhost:5000/api/mcp/execute \
  -H "Content-Type: application/json" \
  -d '{"tool": "web_search", "arguments": {"query": "Python best practices"}}'

Configure Agent Capabilities

curl -X PUT http://localhost:5000/api/agents/config/SeniorDeveloper/capabilities \
  -H "Content-Type: application/json" \
  -d '{"internet_access": true, "mcp": true, "document_access": false}'

βš™οΈ Configuration

Configure via Settings page in the dashboard or config.yaml:

# LLM Provider
llm:
  provider: "ollama"  # or openai, claude, openrouter, deepseek, qwen
  url: "http://localhost:11434"
  model: "lfm2.5-thinking:latest"
  temperature: 0.7
  max_tokens: 4096

# Web Search (for agent internet access)
web_search:
  enabled: true
  provider: "tavily"
  api_key: "your-api-key"

# Output Destinations
output:
  file:
    enabled: true
    directory: "./output"
    format: "json"

# Webhooks
webhooks:
  outgoing:
    enabled: true
    url: "https://your-system.com/webhook"
  incoming:
    enabled: true
    auth_token: "your-secret-token"

# MCP Servers
mcp:
  enabled: true
  servers:
    filesystem:
      url: ""
      api_key: ""

See Configuration Guide for all options.

🎯 Example Workflows

1. Generate HTML Page with File Output

# Submit via dashboard
# "Create a responsive login page with HTML and CSS"

# Files generated:
# ./output/{project_id}/login_page.html
# ./output/{project_id}/styles.css

# Download from: Projects β†’ Your Project β†’ Deliverables

2. Agent with Internet Research

  1. Settings β†’ Agents β†’ Edit SeniorDeveloper
  2. Enable "Internet Access"
  3. Submit: "Research best Python web frameworks 2026"
  4. Agent searches web and generates report

3. External Integration

# Configure webhook in Settings
# External system creates task:
curl -X POST http://localhost:5000/api/webhook/incoming \
  -H "Authorization: Bearer token" \
  -d '{"description": "Fix login bug", "agent": "SeniorDeveloper"}'

# Receive completion events at your endpoint

πŸ”— Quick Links


Need Help? Check the Troubleshooting Guide or open an issue.

Version: 2.0 | Last Updated: March 2026

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages