sc2-universal-orchestrator 1.0.0
(SC)² - Universal multi-agent orchestration system supporting multiple frameworks
Requires Python: >=3.8
Keywords: multi-agent, orchestration, autogen, crewai, ai, automation, sc2

# (SC)² Universal Multi-Agent Orchestration System

A powerful, framework-agnostic system for orchestrating AI agents across multiple frameworks including AutoGen, CrewAI, and more. This system dynamically assembles agent teams based on task requirements and automatically adapts team composition for optimal performance.

## 🚀 Features

- **Multi-Framework Support**: Works with AutoGen, CrewAI, and other frameworks
- **Dynamic Team Assembly**: Automatically selects the best agents for your task
- **Performance Monitoring**: Tracks agent participation and conversation health
- **Self-Modification**: Adjusts team composition if performance issues detected
- **Web UI**: Beautiful Gradio interface for easy interaction
- **Docker Support**: Ready-to-deploy containerized solution
- **Enterprise Ready**: Designed for organizational deployment

## 📋 Prerequisites

- Python 3.8 or higher
- OpenAI API key (for AutoGen and CrewAI frameworks)
- Docker (optional, for containerized deployment)

## 🛠️ Installation

### Option 1: Quick Start with Docker (Recommended)

```bash
# Clone the repository
git clone https://github.com/yourorg/sc2-universal-orchestrator.git
cd sc2-universal-orchestrator

# Build and run with Docker
docker build -t sc2-orchestrator .
docker run -p 7860:7860 -e OPENAI_API_KEY=your_api_key_here sc2-orchestrator
```

### Option 2: Local Installation

```bash
# Clone the repository
git clone https://github.com/yourorg/sc2-universal-orchestrator.git
cd sc2-universal-orchestrator

# Install dependencies
pip install -r requirements.txt

# Run the application
python universal_ui.py
```

### Option 3: Install as Python Package

```bash
# Install from PyPI (when available)
pip install sc2-universal-orchestrator

# Or install from source
pip install -e .
```

## 🎯 Quick Start

1. **Start the Application**
   ```bash
   python universal_ui.py
   ```

2. **Access the Web Interface**
   - Open your browser to `http://localhost:7860`

3. **Configure Your Agents**
   - Upload an agent configuration file (YAML format)
   - See `examples/agents.yaml` for a template

4. **Execute Tasks**
   - Select your preferred framework (AutoGen, CrewAI, Generic)
   - Enter your task description
   - Optionally upload guidelines or requirements
   - Click "Execute Task"

## 📁 Project Structure

```
sc2-universal-orchestrator/
├── universal_multi_agent_orchestrator/     # Main package
│   ├── __init__.py
│   ├── core/                               # Core orchestration logic
│   │   ├── abstract_orchestration.py       # Abstract base classes
│   │   └── models.py                       # Data models
│   ├── frameworks/                         # Framework implementations
│   │   ├── autogen_child.py               # AutoGen integration
│   │   ├── crewai_child.py                # CrewAI integration
│   │   └── generic_child.py               # Generic framework
│   ├── ui/                                 # User interface
│   │   └── universal_ui.py                # Gradio web interface
│   ├── cli/                                # Command line interface
│   │   └── cli.py                         # CLI implementation
│   └── configs/                            # Configuration files
│       └── agents.yaml                     # Default agent configurations
├── examples/                               # Example configurations
├── tests/                                  # Test suite
├── docs/                                   # Documentation
├── docker/                                 # Docker configuration
├── requirements.txt                        # Python dependencies
├── setup.py                               # Package setup
├── Dockerfile                             # Docker image
├── docker-compose.yml                     # Docker Compose
└── README.md                              # This file
```

## 🔧 Configuration

### Agent Configuration Format

Create a YAML file with your agent definitions:

```yaml
agents:
  coder:
    name: "coder"
    system_message: |
      You are a coding expert focused on writing efficient, clean code.
      - Write only the code requested by the user
      - Focus on functionality and best practices
    description: "Expert in writing efficient code and algorithms"
    
  reviewer:
    name: "reviewer"
    system_message: |
      You are a senior code reviewer focused on code quality.
      - Review code for bugs and best practices
      - Provide specific, actionable feedback
    description: "Expert in code review and quality assurance"
```

### Environment Variables

```bash
# Required for OpenAI-based frameworks
export OPENAI_API_KEY="your_openai_api_key_here"

# Optional configuration
export GRADIO_SERVER_NAME="0.0.0.0"
export GRADIO_SERVER_PORT="7860"
export LOG_LEVEL="INFO"
```

## 🏢 Enterprise Deployment

### Docker Compose (Recommended for Production)

```yaml
# docker-compose.yml
version: '3.8'
services:
  sc2-orchestrator:
    build: .
    ports:
      - "7860:7860"
    environment:
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      - GRADIO_SERVER_NAME=0.0.0.0
      - GRADIO_SERVER_PORT=7860
    volumes:
      - ./configs:/app/configs
      - ./uploads:/app/uploads
      - ./outputs:/app/outputs
    restart: unless-stopped
```

### Kubernetes Deployment

```yaml
# k8s-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sc2-orchestrator
spec:
  replicas: 3
  selector:
    matchLabels:
      app: sc2-orchestrator
  template:
    metadata:
      labels:
        app: sc2-orchestrator
    spec:
      containers:
      - name: orchestrator
        image: yourorg/sc2-orchestrator:latest
        ports:
        - containerPort: 7860
        env:
        - name: OPENAI_API_KEY
          valueFrom:
            secretKeyRef:
              name: openai-secret
              key: api-key
        resources:
          requests:
            memory: "512Mi"
```

## 📚 Documentation

- [User Guide](USER_GUIDE.md) - Comprehensive guide for different user types
- [Quick Reference](QUICK_REFERENCE.md) - Quick commands and examples
- [Installation Guide](INSTALLATION.md) - Detailed installation instructions
- [Deployment Guide](DEPLOYMENT.md) - Production deployment options

## 🤝 Contributing

We welcome contributions! Please see our contributing guidelines for more details.

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🆘 Support

- **Documentation**: Check our comprehensive guides
- **Issues**: Report bugs and feature requests on GitHub
- **Discussions**: Join our community discussions

---

**Powered by (SC)² - The Universal Multi-Agent Orchestration System**