Skip to main content
ClaudeWave
Skill6.1k estrellas del repoactualizado today

omni-combos-routing

OmniRoute Combos provides REST API endpoints to create, manage, and test 14 routing strategies including priority, weighted distribution, and round-robin patterns. Use this skill when you need to configure intelligent request routing with fallback chains, validate routing configurations before deployment, or analyze routing performance metrics across different strategy combinations.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/diegosouzapw/OmniRoute /tmp/omni-combos-routing && cp -r /tmp/omni-combos-routing/skills/omni-combos-routing ~/.claude/skills/omni-combos-routing
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->

## Overview

Create and manage routing combos with 14 strategies (priority, weighted, round-robin, Auto-combo, etc.). Configure fallback chains, test routing outcomes, and retrieve combo metrics.

## Authentication

All requests require a valid Bearer token or session cookie. Obtain a token via `POST /api/auth/login` or configure `REQUIRE_API_KEY=false` for local development.

## Endpoints

### GET /api/combos

List routing combos

```bash
curl https://localhost:20128/api/combos \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### POST /api/combos

Create routing combo

```bash
curl -X POST https://localhost:20128/api/combos \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
  -H "Content-Type: application/json" \
  -d '{}'
```

### PATCH /api/combos/{id}

Update combo

```bash
curl -X PATCH https://localhost:20128/api/combos/{id} \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
  -H "Content-Type: application/json" \
  -d '{}'
```

### DELETE /api/combos/{id}

Delete combo

```bash
curl -X DELETE https://localhost:20128/api/combos/{id} \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/combos/metrics

Get combo metrics

```bash
curl https://localhost:20128/api/combos/metrics \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### POST /api/combos/test

Test a combo configuration

```bash
curl -X POST https://localhost:20128/api/combos/test \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
  -H "Content-Type: application/json" \
  -d '{}'
```

### GET /api/fallback/chains

List fallback chains

Returns all registered fallback chains for model routing.

```bash
curl https://localhost:20128/api/fallback/chains \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### POST /api/fallback/chains

Create fallback chain

Registers a fallback routing chain for a model.

```bash
curl -X POST https://localhost:20128/api/fallback/chains \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
  -H "Content-Type: application/json" \
  -d '{}'
```

### DELETE /api/fallback/chains

Delete fallback chain

```bash
curl -X DELETE https://localhost:20128/api/fallback/chains \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

## Payloads

See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/reference/openapi.yaml` for detailed request/response schemas.

<!-- skill:custom-start -->
<!-- Migrated from skills/omniroute-routing/SKILL.md (preserved curated content) -->

# OmniRoute — Routing & Combos

Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.

## What is a combo?

A combo is a named group of providers/models with a routing strategy. All requests through a combo are automatically distributed, failed-over, and load-balanced — the caller uses a single model ID like `my-combo`.

## List existing combos

```bash
curl $OMNIROUTE_URL/api/combos \
  -H "Authorization: Bearer $OMNIROUTE_KEY"
```

Response includes `id`, `name`, `strategy`, `enabled`, and per-target stats.

## Create a combo

```bash
curl -X POST $OMNIROUTE_URL/api/combos \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-combo",
    "strategy": "priority",
    "targets": [
      { "provider": "anthropic", "model": "claude-opus-4-7", "weight": 1 },
      { "provider": "openai",    "model": "gpt-4o",           "weight": 1 }
    ]
  }'
```

## 14 routing strategies

| Strategy            | Description                                        |
| ------------------- | -------------------------------------------------- |
| `priority`          | Always use target[0]; fall back on error           |
| `weighted`          | Distribute by weight percentage                    |
| `round-robin`       | Rotate targets in order                            |
| `fill-first`        | Fill quota of target[0] before spilling            |
| `least-used`        | Route to target with fewest active requests        |
| `cost-optimized`    | Pick cheapest target for the token estimate        |
| `auto`              | 9-factor scoring: cost + latency + quota + circuit |
| `random`            | Uniform random selection                           |
| `strict-random`     | Random without repeating until all used            |
| `p2c`               | Power-of-2-choices: sample 2, pick better          |
| `reset-aware`       | Prefer targets near quota reset time               |
| `lkgp`              | Last-known-good-provider sticky routing            |
| `context-optimized` | Pick best model for context length                 |
| `context-relay`     | Chain models for very long contexts                |

## Auto-combo (recommended for production)

Auto-combo scores each candidate on 9 factors every request:

```bash
curl -X POST $OMNIROUTE_URL/api/combos \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "prod-auto",
    "strategy": "auto",
    "targets": [
      { "provider": "anthropic", "model": "claude-sonnet-4-6" },
      { "provider": "openai",    "model": "gpt-4o-mini" },
      { "provider": "google",    "model": "gemini-2.0-flash" }
    ]
  }'
```

Then call it with:

```bash
curl -X POST $OMNIROUTE_URL/v1/chat/completions \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "prod-auto", "messages": [{ "role": "user", "content": "Hello" }] }'
```

## Activate / deactivate a combo

```bash
# Activate
curl -X PUT $OMNIROUTE_URL/api/combos/{id}/toggle \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -d '{ "enabled": true }'
```

## Get combo metrics

```bash
curl $OMNIROUTE_URL/api/combos/{id}/metrics \
  -H "Authorization: Bearer $OMNIROUTE_KEY"
```

Returns p50/p95/p99 latency, success rate, cost, and per-target breakdown.

## Simulate routing (dry run)

```bash
curl -X POST