AI & LLMsDocumentedScanned

model-router

A comprehensive AI model routing system that automatically selects the optimal model.

Share:

Installation

npx clawhub@latest install model-router

View the full skill documentation and source below.

Documentation

Model Router

Intelligent AI model routing across multiple providers for optimal cost-performance balance.

Automatically select the best model for any task based on complexity, type, and your preferences. Support for 6 major AI providers with secure API key management and interactive configuration.

🎯 What It Does

  • Analyzes tasks and classifies them by type (coding, research, creative, simple, etc.)
  • Routes to optimal models from your configured providers
  • Optimizes costs by using cheaper models for simple tasks
  • Secures API keys with file permissions (600) and isolated storage
  • Provides recommendations with confidence scoring and reasoning

πŸš€ Quick Start

Step 1: Run the Setup Wizard

cd skills/model-router
python3 scripts/setup-wizard.py

The wizard will guide you through:

  • Provider setup - Add your API keys (Anthropic, OpenAI, Gemini, etc.)

  • Task mappings - Choose which model for each task type

  • Preferences - Set cost optimization level
  • Step 2: Use the Classifier

    # Get model recommendation for a task
    python3 scripts/classify_task.py "Build a React authentication system"
    
    # Output:
    # Recommended Model: claude-sonnet
    # Confidence: 85%
    # Cost Level: medium
    # Reasoning: Matched 2 keywords: build, system

    Step 3: Route Tasks with Sessions

    # Spawn with recommended model
    sessions_spawn --task "Debug this memory leak" --model claude-sonnet
    
    # Use aliases for quick access
    sessions_spawn --task "What's the weather?" --model haiku

    πŸ“Š Supported Providers

    ProviderModelsBest ForKey Format
    Anthropicclaude-opus-4-5, claude-sonnet-4-5, claude-haiku-4-5Coding, reasoning, creativesk-ant-...
    OpenAIgpt-4o, gpt-4o-mini, o1-mini, o1-previewTools, deep reasoningsk-proj-...
    Geminigemini-2.0-flash, gemini-1.5-pro, gemini-1.5-flashMultimodal, huge context (2M)AIza...
    Moonshotmoonshot-v1-8k/32k/128kChinese languagesk-...
    Z.aiglm-4.5-air, glm-4.7Cheapest, fastVarious
    GLMglm-4-flash, glm-4-plus, glm-4-0520Chinese, codingID.secret

    πŸŽ›οΈ Task Type Mappings

    Default routing (customizable via wizard):

    Task TypeDefault ModelWhy
    simpleglm-4.5-airFastest, cheapest for quick queries
    codingclaude-sonnet-4-5Excellent code understanding
    researchclaude-sonnet-4-5Balanced depth and speed
    creativeclaude-opus-4-5Maximum creativity
    matho1-miniSpecialized reasoning
    visiongemini-1.5-flashFast multimodal
    chineseglm-4.7Optimized for Chinese
    long_contextgemini-1.5-proUp to 2M tokens

    πŸ’° Cost Optimization

    Aggressive Mode

    Always uses the cheapest capable model:
    • Simple β†’ glm-4.5-air (~10% cost)
    • Coding β†’ claude-haiku-4-5 (~25% cost)
    • Research β†’ claude-sonnet-4-5 (~50% cost)
    Savings: 50-90% compared to always using premium models

    Balanced Mode (Default)

    Considers cost vs quality:
    • Simple tasks β†’ Cheap models
    • Critical tasks β†’ Premium models
    • Automatic escalation if cheap model fails

    Quality Mode

    Always uses the best model regardless of cost

    πŸ”’ Security

    API Key Storage

    ~/.model-router/
    β”œβ”€β”€ config.json       # Model mappings (chmod 600)
    └── .api-keys         # API keys (chmod 600)

    Features:

    • File permissions restricted to owner (600)

    • Isolated from version control

    • Encrypted at rest (via OS filesystem encryption)

    • Never logged or printed


    Best Practices


  • Never commit .api-keys to version control

  • Use environment variables for production deployments

  • Rotate keys regularly via the wizard

  • Audit access with ls -la ~/.model-router/
  • πŸ“– Usage Examples

    Example 1: Cost-Optimized Workflow

    # Classify task first
    python3 scripts/classify_task.py "Extract prices from this CSV"
    
    # Result: simple task β†’ use glm-4.5-air
    sessions_spawn --task "Extract prices" --model glm-4.5-air
    
    # Then analyze with better model if needed
    sessions_spawn --task "Analyze price trends" --model claude-sonnet

    Example 2: Progressive Escalation

    # Try cheap model first (60s timeout)
    sessions_spawn --task "Fix this bug" --model glm-4.5-air --runTimeoutSeconds 60
    
    # If fails, escalate to premium
    sessions_spawn --task "Fix complex architecture bug" --model claude-opus

    Example 3: Parallel Processing

    # Batch simple tasks in parallel with cheap model
    sessions_spawn --task "Summarize doc A" --model glm-4.5-air &
    sessions_spawn --task "Summarize doc B" --model glm-4.5-air &
    sessions_spawn --task "Summarize doc C" --model glm-4.5-air &
    wait

    Example 4: Multimodal with Gemini

    # Vision task with 2M token context
    sessions_spawn --task "Analyze these 100 images" --model gemini-1.5-pro

    πŸ› οΈ Configuration Files

    ~/.model-router/config.json

    {
      "version": "1.1.0",
      "providers": {
        "anthropic": {
          "configured": true,
          "models": ["claude-opus-4-5", "claude-sonnet-4-5", "claude-haiku-4-5"]
        },
        "openai": {
          "configured": true,
          "models": ["gpt-4o", "gpt-4o-mini", "o1-mini", "o1-preview"]
        }
      },
      "task_mappings": {
        "simple": "glm-4.5-air",
        "coding": "claude-sonnet-4-5",
        "research": "claude-sonnet-4-5",
        "creative": "claude-opus-4-5"
      },
      "preferences": {
        "cost_optimization": "balanced",
        "default_provider": "anthropic"
      }
    }

    ~/.model-router/.api-keys

    # Generated by setup wizard - DO NOT edit manually
    ANTHROPIC_API_KEY=sk-ant-...
    OPENAI_API_KEY=sk-proj-...
    GEMINI_API_KEY=AIza...

    πŸ”„ Version 1.1 Changes

    New Features

    • βœ… Interactive setup wizard for guided configuration
    • βœ… Secure API key storage with file permissions
    • βœ… Task-to-model mapping customization
    • βœ… Multi-provider support (6 providers)
    • βœ… Cost optimization levels (aggressive/balanced/quality)

    Improvements

    • βœ… Better task classification with confidence scores
    • βœ… Provider-specific model recommendations
    • βœ… Enhanced security with isolated storage
    • βœ… Comprehensive documentation

    Migration from 1.0

    Run the setup wizard to reconfigure:
    python3 scripts/setup-wizard.py

    πŸ“š Command Reference

    Setup Wizard

    python3 scripts/setup-wizard.py
    Interactive configuration of providers, mappings, and preferences.

    Task Classifier

    python3 scripts/classify_task.py "your task description"
    python3 scripts/classify_task.py "your task" --format json
    Get model recommendation with reasoning.

    List Models

    python3 scripts/setup-wizard.py --list
    Show all available models and their status.

    🀝 Integration with Other Skills

    SkillIntegration
    model-usageTrack cost per provider to optimize routing
    sessions_spawnPrimary tool for model delegation
    session_statusCheck current model and usage

    ⚑ Performance Tips

  • Start simple - Try cheap models first

  • Batch tasks - Combine multiple simple tasks

  • Use cleanup - Delete sessions after one-off tasks

  • Set timeouts - Prevent runaway sub-agents

  • Monitor usage - Track costs per provider
  • πŸ› Troubleshooting

    "No suitable model found"

    • Run setup wizard to configure providers
    • Check API keys are valid
    • Verify permissions on .api-keys file

    "Module not found"

    pip3 install -r requirements.txt  # if needed

    Wrong model selected

  • Customize task mappings via wizard
  • Use explicit model in sessions_spawn --model
  • Adjust cost optimization preference
  • πŸ“– Additional Resources

    • Provider Docs:
    - [Anthropic]() - [OpenAI]() - [Gemini]() - [Moonshot]() - [Z.ai]() - [GLM]()
    • Setup: Run python3 scripts/setup-wizard.py
    • Support: Check references/ folder for detailed guides