feat(skills): generate 42 SKILL.md (22 API + 20 CLI) + prune 18 omniroute-* orphans

This commit is contained in:
diegosouzapw
2026-05-27 23:50:13 -03:00
parent 591d99ca36
commit f4571094c2
60 changed files with 5669 additions and 1570 deletions

142
skills/cli-a2a/SKILL.md Normal file
View File

@@ -0,0 +1,142 @@
---
name: cli-a2a
description: Interact with the OmniRoute A2A server from the CLI. Send tasks, inspect skill execution history, and test the JSON-RPC 2.0 agent-to-agent protocol interactively.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Interact with the OmniRoute A2A server from the CLI. Send tasks, inspect skill execution history, and test the JSON-RPC 2.0 agent-to-agent protocol interactively.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `a2a`
Agent-to-Agent (A2A) server
**Exemplo:**
```bash
omniroute a2a
```
### `a2a status`
Show A2A server status
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute a2a status
```
### `a2a card`
Print the Agent Card JSON
**Exemplo:**
```bash
omniroute a2a card
```
### `a2a skills`
**Exemplo:**
```bash
omniroute a2a skills
```
### `a2a invoke <skill>`
**Flags:**
- `--input <json>`
- `--input-file <path>`
- `--wait`
- `--timeout <ms>`
**Exemplo:**
```bash
omniroute a2a invoke <skill>
```
### `a2a tasks`
**Exemplo:**
```bash
omniroute a2a tasks
```
### `a2a list`
**Flags:**
- `--status <s>`
- `--skill <s>`
- `--limit <n>`
- `--since <ts>`
**Exemplo:**
```bash
omniroute a2a list
```
### `a2a get <id>`
**Exemplo:**
```bash
omniroute a2a get <id>
```
### `a2a cancel <id>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute a2a cancel <id>
```
### `a2a watch <id>`
**Exemplo:**
```bash
omniroute a2a watch <id>
```
### `a2a stream <id>`
**Exemplo:**
```bash
omniroute a2a stream <id>
```
### `a2a logs <id>`
**Exemplo:**
```bash
omniroute a2a logs <id>
```

View File

@@ -0,0 +1,367 @@
---
name: cli-backup-sync
description: Backup and restore OmniRoute data from the CLI. Trigger incremental snapshots, sync to cloud storage, manage backup schedules, and restore from archive files.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Backup and restore OmniRoute data from the CLI. Trigger incremental snapshots, sync to cloud storage, manage backup schedules, and restore from archive files.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `backup`
**Exemplo:**
```bash
omniroute backup
```
### `backup create`
**Flags:**
- `--name <name>`
- `--cloud`
- `--encrypt`
- `--key-file <path>`
- `--exclude <pattern>`
- `--retention <n>`
**Exemplo:**
```bash
omniroute backup create
```
### `backup auto`
**Exemplo:**
```bash
omniroute backup auto
```
### `backup enable`
**Flags:**
- `--cron <expr>`
- `--cloud`
- `--encrypt`
- `--retention <n>`
**Exemplo:**
```bash
omniroute backup enable
```
### `backup disable`
**Exemplo:**
```bash
omniroute backup disable
```
### `backup status`
**Flags:**
- `--name <name>`
- `--cloud`
- `--encrypt`
- `--key-file <path>`
- `--exclude <pattern>`
- `--retention <n>`
**Exemplo:**
```bash
omniroute backup status
```
### `backup restore [backupId]`
**Flags:**
- `--list`
- `--yes`
**Exemplo:**
```bash
omniroute backup restore [backupId]
```
### `task`
**Exemplo:**
```bash
omniroute task
```
### `cloud create`
**Flags:**
- `--title <t>`
- `--prompt <p>`
- `--prompt-file <path>`
- `--repo <url>`
- `--branch <b>`
- `--metadata <json>`
**Exemplo:**
```bash
omniroute cloud create
```
### `cloud list`
**Flags:**
- `--status <s>`
- `--limit <n>`
**Exemplo:**
```bash
omniroute cloud list
```
### `cloud get <taskId>`
**Exemplo:**
```bash
omniroute cloud get <taskId>
```
### `cloud status <taskId>`
**Exemplo:**
```bash
omniroute cloud status <taskId>
```
### `cloud cancel <taskId>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute cloud cancel <taskId>
```
### `cloud approve <taskId>`
**Exemplo:**
```bash
omniroute cloud approve <taskId>
```
### `cloud message <taskId> <message>`
**Exemplo:**
```bash
omniroute cloud message <taskId> <message>
```
### `cloud sources <taskId>`
**Exemplo:**
```bash
omniroute cloud sources <taskId>
```
### `cloud cloud`
**Exemplo:**
```bash
omniroute cloud cloud
```
### `cloud agents`
**Exemplo:**
```bash
omniroute cloud agents
```
### `cloud auth`
**Flags:**
- `--no-browser`
- `--timeout <ms>`
**Exemplo:**
```bash
omniroute cloud auth
```
### `sync`
**Exemplo:**
```bash
omniroute sync
```
### `sync push`
**Flags:**
- `--target <t>`
- `--bundle <list>`
- `--dry-run`
**Exemplo:**
```bash
omniroute sync push
```
### `sync pull`
**Flags:**
- `--source <s>`
- `--merge`
- `--replace`
- `--dry-run`
**Exemplo:**
```bash
omniroute sync pull
```
### `sync diff`
**Flags:**
- `--source <s>`
- `--target <t>`
**Exemplo:**
```bash
omniroute sync diff
```
### `sync bundle <outPath>`
**Flags:**
- `--include <list>`
**Exemplo:**
```bash
omniroute sync bundle <outPath>
```
### `sync import <bundlePath>`
**Flags:**
- `--dry-run`
**Exemplo:**
```bash
omniroute sync import <bundlePath>
```
### `sync initialize`
**Flags:**
- `--from-cloud`
**Exemplo:**
```bash
omniroute sync initialize
```
### `sync tokens`
**Exemplo:**
```bash
omniroute sync tokens
```
### `sync list`
**Exemplo:**
```bash
omniroute sync list
```
### `sync create`
**Flags:**
- `--name <n>`
- `--scope <s>`
- `--ttl <duration>`
**Exemplo:**
```bash
omniroute sync create
```
### `sync revoke <id>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute sync revoke <id>
```
### `sync status`
**Exemplo:**
```bash
omniroute sync status
```
### `sync resolve`
**Exemplo:**
```bash
omniroute sync resolve
```

183
skills/cli-batches/SKILL.md Normal file
View File

@@ -0,0 +1,183 @@
---
name: cli-batches
description: Submit and monitor batch inference jobs from the CLI. Upload and manage files for batch processing, retrieve results, and integrate batch pipelines with CI/CD workflows.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Submit and monitor batch inference jobs from the CLI. Upload and manage files for batch processing, retrieve results, and integrate batch pipelines with CI/CD workflows.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `batches`
**Exemplo:**
```bash
omniroute batches
```
### `batches list`
**Flags:**
- `--status <s>`
- `--limit <n>`
**Exemplo:**
```bash
omniroute batches list
```
### `batches get <batchId>`
**Exemplo:**
```bash
omniroute batches get <batchId>
```
### `batches create`
**Flags:**
- `--endpoint <e>`
- `--completion-window <w>`
- `--metadata <kv>`
**Exemplo:**
```bash
omniroute batches create
```
### `batches submit`
**Flags:**
- `--endpoint <e>`
- `--wait`
**Exemplo:**
```bash
omniroute batches submit
```
### `batches cancel <batchId>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute batches cancel <batchId>
```
### `batches wait <batchId>`
**Flags:**
- `--timeout <ms>`
**Exemplo:**
```bash
omniroute batches wait <batchId>
```
### `batches output <batchId>`
**Flags:**
- `--out <path>`
**Exemplo:**
```bash
omniroute batches output <batchId>
```
### `batches errors <batchId>`
**Flags:**
- `--out <path>`
**Exemplo:**
```bash
omniroute batches errors <batchId>
```
### `files`
**Exemplo:**
```bash
omniroute files
```
### `files list`
**Flags:**
- `--purpose <p>`
- `--limit <n>`
**Exemplo:**
```bash
omniroute files list
```
### `files get <fileId>`
**Exemplo:**
```bash
omniroute files get <fileId>
```
### `files upload <path>`
**Exemplo:**
```bash
omniroute files upload <path>
```
### `files content <fileId>`
**Flags:**
- `--out <path>`
**Exemplo:**
```bash
omniroute files content <fileId>
```
### `files delete <fileId>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute files delete <fileId>
```

78
skills/cli-chat/SKILL.md Normal file
View File

@@ -0,0 +1,78 @@
---
name: cli-chat
description: Send chat completions, stream responses, and start an interactive REPL session from the CLI. Supports all OmniRoute providers, combo routing, and system prompt configuration.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Send chat completions, stream responses, and start an interactive REPL session from the CLI. Supports all OmniRoute providers, combo routing, and system prompt configuration.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `chat [prompt]`
**Flags:**
- `--file <path>`
- `--stdin`
- `-s, --system <prompt>`
- `-m, --model <id>`
- `--max-tokens <n>`
- `--temperature <t>`
- `--top-p <p>`
- `--reasoning-effort <level>`
- `--thinking-budget <tokens>`
- `--combo <name>`
- `--responses-api`
- `--stream`
- `--no-history`
**Exemplo:**
```bash
omniroute chat [prompt]
```
### `repl`
**Flags:**
- `-m, --model <id>`
- `--combo <name>`
- `-s, --system <prompt>`
- `--resume <session>`
**Exemplo:**
```bash
omniroute repl
```
### `stream [prompt]`
**Flags:**
- `--file <path>`
- `--stdin`
- `-m, --model <id>`
- `-s, --system <prompt>`
- `--combo <name>`
- `--max-tokens <n>`
- `--responses-api`
- `--raw`
- `--debug`
- `--save <path>`
**Exemplo:**
```bash
omniroute stream [prompt]
```

View File

@@ -0,0 +1,157 @@
---
name: cli-compression
description: Configure and test prompt compression from the CLI. Manage RTK filters, Caveman rules, stacked compression modes, and preview compression output with real prompts.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Configure and test prompt compression from the CLI. Manage RTK filters, Caveman rules, stacked compression modes, and preview compression output with real prompts.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `compression`
**Exemplo:**
```bash
omniroute compression
```
### `compression status`
**Exemplo:**
```bash
omniroute compression status
```
### `compression configure`
**Flags:**
- `--engine <e>`
- `--caveman-aggressiveness <n>`
- `--rtk-budget <n>`
- `--language-pack <p>`
**Exemplo:**
```bash
omniroute compression configure
```
### `compression engine`
**Exemplo:**
```bash
omniroute compression engine
```
### `compression set <name>`
**Exemplo:**
```bash
omniroute compression set <name>
```
### `compression get`
**Exemplo:**
```bash
omniroute compression get
```
### `compression combos`
**Exemplo:**
```bash
omniroute compression combos
```
### `compression list`
**Exemplo:**
```bash
omniroute compression list
```
### `compression stats`
**Flags:**
- `--period <p>`
**Exemplo:**
```bash
omniroute compression stats
```
### `compression rules`
**Exemplo:**
```bash
omniroute compression rules
```
### `compression list`
**Exemplo:**
```bash
omniroute compression list
```
### `compression add`
**Flags:**
- `--replacement <r>`
**Exemplo:**
```bash
omniroute compression add
```
### `compression remove <id>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute compression remove <id>
```
### `compression language-packs`
**Exemplo:**
```bash
omniroute compression language-packs
```
### `compression preview`
**Exemplo:**
```bash
omniroute compression preview
```

View File

@@ -0,0 +1,382 @@
---
name: cli-contexts
description: Manage context engineering configurations, RTK filter sets, and conversation sessions from the CLI. Apply context-relay settings and inspect active context pipelines.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Manage context engineering configurations, RTK filter sets, and conversation sessions from the CLI. Apply context-relay settings and inspect active context pipelines.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `context-eng`
**Exemplo:**
```bash
omniroute context-eng
```
### `context-eng analytics`
**Flags:**
- `--period <p>`
**Exemplo:**
```bash
omniroute context-eng analytics
```
### `context-eng caveman`
**Exemplo:**
```bash
omniroute context-eng caveman
```
### `context-eng config`
**Exemplo:**
```bash
omniroute context-eng config
```
### `context-eng show`
**Exemplo:**
```bash
omniroute context-eng show
```
### `context-eng set`
**Flags:**
- `--aggressiveness <n>`
- `--max-shrink-pct <n>`
- `--preserve-tags <list>`
**Exemplo:**
```bash
omniroute context-eng set
```
### `context-eng rtk`
**Exemplo:**
```bash
omniroute context-eng rtk
```
### `context-eng config`
**Exemplo:**
```bash
omniroute context-eng config
```
### `context-eng show`
**Exemplo:**
```bash
omniroute context-eng show
```
### `context-eng set`
**Flags:**
- `--token-budget <n>`
- `--reserve-pct <n>`
**Exemplo:**
```bash
omniroute context-eng set
```
### `context-eng filters`
**Exemplo:**
```bash
omniroute context-eng filters
```
### `context-eng list`
**Exemplo:**
```bash
omniroute context-eng list
```
### `context-eng add`
**Flags:**
- `--priority <n>`
- `--action <a>`
**Exemplo:**
```bash
omniroute context-eng add
```
### `context-eng remove <id>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute context-eng remove <id>
```
### `context-eng test`
**Exemplo:**
```bash
omniroute context-eng test
```
### `context-eng raw-output <id>`
**Exemplo:**
```bash
omniroute context-eng raw-output <id>
```
### `context-eng combos`
**Exemplo:**
```bash
omniroute context-eng combos
```
### `context-eng list`
**Exemplo:**
```bash
omniroute context-eng list
```
### `context-eng get <id>`
**Exemplo:**
```bash
omniroute context-eng get <id>
```
### `context-eng assignments <id>`
**Exemplo:**
```bash
omniroute context-eng assignments <id>
```
### `contexts`
**Exemplo:**
```bash
omniroute contexts
```
### `contexts list`
List all contexts
**Exemplo:**
```bash
omniroute contexts list
```
### `contexts add <name>`
Add a new context
**Flags:**
- `--api-key <k>`
- `--api-key-stdin`
- `--description <d>`
**Exemplo:**
```bash
omniroute contexts add <name>
```
### `contexts use <name>`
Switch active context
**Exemplo:**
```bash
omniroute contexts use <name>
```
### `contexts current`
Show current active context name
**Exemplo:**
```bash
omniroute contexts current
```
### `contexts show <name>`
Show context details
**Exemplo:**
```bash
omniroute contexts show <name>
```
### `contexts remove <name>`
Remove a context
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute contexts remove <name>
```
### `contexts rename <old> <new>`
Rename a context
**Exemplo:**
```bash
omniroute contexts rename <old> <new>
```
### `contexts export`
Export contexts to JSON
**Flags:**
- `--out <path>`
- `--no-secrets`
**Exemplo:**
```bash
omniroute contexts export
```
### `contexts import <file>`
Import contexts from a JSON file
**Flags:**
- `--merge`
**Exemplo:**
```bash
omniroute contexts import <file>
```
### `sessions`
**Exemplo:**
```bash
omniroute sessions
```
### `sessions list`
**Flags:**
- `--user <u>`
- `--kind <k>`
- `--active`
- `--limit <n>`
**Exemplo:**
```bash
omniroute sessions list
```
### `sessions show <sessionId>`
**Exemplo:**
```bash
omniroute sessions show <sessionId>
```
### `sessions expire <sessionId>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute sessions expire <sessionId>
```
### `sessions expire-all`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute sessions expire-all
```
### `sessions current`
**Exemplo:**
```bash
omniroute sessions current
```

View File

@@ -0,0 +1,252 @@
---
name: cli-cost-usage
description: View cost breakdowns, token usage, and call logs from the CLI. Filter by provider, model, or date range. Export usage reports and inspect per-connection spending.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
View cost breakdowns, token usage, and call logs from the CLI. Filter by provider, model, or date range. Export usage reports and inspect per-connection spending.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `cost`
**Flags:**
- `--period <range>`
- `--since <date>`
- `--until <date>`
- `--group-by <field>`
- `--api-key <key>`
- `--limit <n>`
**Exemplo:**
```bash
omniroute cost
```
### `pricing`
**Exemplo:**
```bash
omniroute pricing
```
### `pricing sync`
**Flags:**
- `--provider <p>`
- `--force`
**Exemplo:**
```bash
omniroute pricing sync
```
### `pricing list`
**Flags:**
- `--provider <p>`
- `--model <m>`
- `--limit <n>`
**Exemplo:**
```bash
omniroute pricing list
```
### `pricing get <model>`
**Exemplo:**
```bash
omniroute pricing get <model>
```
### `pricing defaults`
**Exemplo:**
```bash
omniroute pricing defaults
```
### `pricing show`
**Exemplo:**
```bash
omniroute pricing show
```
### `pricing set`
**Flags:**
- `--input <p>`
- `--output <p>`
- `--cache-read <p>`
- `--cache-write <p>`
**Exemplo:**
```bash
omniroute pricing set
```
### `pricing diff`
**Flags:**
- `--model <m>`
**Exemplo:**
```bash
omniroute pricing diff
```
### `usage`
**Exemplo:**
```bash
omniroute usage
```
### `usage analytics`
**Flags:**
- `--period <range>`
- `--provider <id>`
**Exemplo:**
```bash
omniroute usage analytics
```
### `usage budget`
**Exemplo:**
```bash
omniroute usage budget
```
### `usage list`
**Exemplo:**
```bash
omniroute usage list
```
### `usage get [scope]`
**Exemplo:**
```bash
omniroute usage get [scope]
```
### `usage set <amount>`
**Flags:**
- `--scope <s>`
- `--period <p>`
**Exemplo:**
```bash
omniroute usage set <amount>
```
### `usage reset [scope]`
**Exemplo:**
```bash
omniroute usage reset [scope]
```
### `usage quota`
**Flags:**
- `--provider <id>`
- `--check`
**Exemplo:**
```bash
omniroute usage quota
```
### `usage logs`
**Flags:**
- `--limit <n>`
- `--search <q>`
- `--since <ts>`
- `--follow`
- `--api-key <k>`
**Exemplo:**
```bash
omniroute usage logs
```
### `usage utilization`
**Flags:**
- `--api-key <k>`
**Exemplo:**
```bash
omniroute usage utilization
```
### `usage history`
**Flags:**
- `--limit <n>`
**Exemplo:**
```bash
omniroute usage history
```
### `usage proxy-logs`
**Flags:**
- `--limit <n>`
**Exemplo:**
```bash
omniroute usage proxy-logs
```

View File

@@ -1,7 +1,153 @@
---
name: cli-eval
description: Run and manage OmniRoute eval suites from the CLI — create suites, run benchmarks, watch live results, view scorecards, and compare model performance.
description: Create and run evaluation suites, watch live benchmark progress, view scorecards, compare model performance, and integrate eval runs with CI workflows from the CLI.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Create and run evaluation suites, watch live benchmark progress, view scorecards, compare model performance, and integrate eval runs with CI workflows from the CLI.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `eval`
**Exemplo:**
```bash
omniroute eval
```
### `eval suites`
**Exemplo:**
```bash
omniroute eval suites
```
### `eval list`
**Exemplo:**
```bash
omniroute eval list
```
### `eval get <suiteId>`
**Exemplo:**
```bash
omniroute eval get <suiteId>
```
### `eval create`
**Flags:**
- `--file <path>`
**Exemplo:**
```bash
omniroute eval create
```
### `eval run <suiteId>`
**Flags:**
- `-m, --model <id>`
- `--combo <name>`
- `--concurrency <n>`
- `--tag <tag>`
- `--watch`
**Exemplo:**
```bash
omniroute eval run <suiteId>
```
### `eval list`
**Flags:**
- `--suite <id>`
- `--status <s>`
- `--since <ts>`
- `--limit <n>`
**Exemplo:**
```bash
omniroute eval list
```
### `eval get <runId>`
**Exemplo:**
```bash
omniroute eval get <runId>
```
### `eval results <runId>`
**Flags:**
- `--failed`
**Exemplo:**
```bash
omniroute eval results <runId>
```
### `eval cancel <runId>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute eval cancel <runId>
```
### `eval scorecard <runId>`
**Exemplo:**
```bash
omniroute eval scorecard <runId>
```
### `simulate [prompt]`
**Flags:**
- `--file <path>`
- `-m, --model <id>`
- `--combo <name>`
- `--reasoning-effort <level>`
- `--thinking-budget <n>`
- `--explain`
**Exemplo:**
```bash
omniroute simulate [prompt]
```
<!-- skill:custom-start -->
<!-- Migrated from skills/omniroute-cli-eval/SKILL.md (preserved curated content) -->

View File

@@ -0,0 +1,88 @@
---
name: cli-health
description: Check server health, component status, and live metrics from the CLI. Run `health`, `health components`, and `health watch` for a real-time dashboard of circuit breakers and provider status.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Check server health, component status, and live metrics from the CLI. Run `health`, `health components`, and `health watch` for a real-time dashboard of circuit breakers and provider status.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `doctor`
**Flags:**
- `--no-liveness`
- `--host <host>`
- `--liveness-url <url>`
**Exemplo:**
```bash
omniroute doctor
```
### `health`
**Flags:**
- `-v, --verbose`
- `--json`
- `--alerts-only`
**Exemplo:**
```bash
omniroute health
```
### `health components`
List health components and their status
**Flags:**
- `--alerts-only`
**Exemplo:**
```bash
omniroute health components
```
### `health watch`
Live dashboard — refresh every N seconds
**Flags:**
- `--interval <s>`
**Exemplo:**
```bash
omniroute health watch
```
### `status`
Show OmniRoute status dashboard
**Flags:**
- `-v, --verbose`
**Exemplo:**
```bash
omniroute status
```

226
skills/cli-keys/SKILL.md Normal file
View File

@@ -0,0 +1,226 @@
---
name: cli-keys
description: Create, list, rotate, and revoke OmniRoute API keys from the CLI. Manage OAuth flows for provider authentication and inspect key scopes and expiration.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Create, list, rotate, and revoke OmniRoute API keys from the CLI. Manage OAuth flows for provider authentication and inspect key scopes and expiration.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `keys`
**Exemplo:**
```bash
omniroute keys
```
### `keys add <provider> [apiKey]`
**Flags:**
- `--stdin`
**Exemplo:**
```bash
omniroute keys add <provider> [apiKey]
```
### `keys list`
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute keys list
```
### `keys remove <provider>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute keys remove <provider>
```
### `keys regenerate <id>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute keys regenerate <id>
```
### `keys revoke <id>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute keys revoke <id>
```
### `keys reveal <id>`
**Exemplo:**
```bash
omniroute keys reveal <id>
```
### `keys usage <id>`
**Flags:**
- `--limit <n>`
**Exemplo:**
```bash
omniroute keys usage <id>
```
### `keys policy`
**Exemplo:**
```bash
omniroute keys policy
```
### `keys show <id>`
**Exemplo:**
```bash
omniroute keys show <id>
```
### `keys set <id>`
**Flags:**
- `--rate-limit <n>`
- `--max-cost <n>`
- `--allowed-models <list>`
**Exemplo:**
```bash
omniroute keys set <id>
```
### `keys expiration`
**Exemplo:**
```bash
omniroute keys expiration
```
### `keys list`
**Flags:**
- `--days <n>`
- `--json`
**Exemplo:**
```bash
omniroute keys list
```
### `keys rotate <id>`
**Flags:**
- `--grace-period <ms>`
- `--yes`
**Exemplo:**
```bash
omniroute keys rotate <id>
```
### `oauth`
**Exemplo:**
```bash
omniroute oauth
```
### `oauth providers`
**Exemplo:**
```bash
omniroute oauth providers
```
### `oauth start`
**Flags:**
- `--no-browser`
- `--import-from-system`
- `--social <s>`
- `--timeout <ms>`
**Exemplo:**
```bash
omniroute oauth start
```
### `oauth status`
**Flags:**
- `--provider <id>`
**Exemplo:**
```bash
omniroute oauth status
```
### `oauth revoke`
**Flags:**
- `--connection-id <id>`
- `--yes`
**Exemplo:**
```bash
omniroute oauth revoke
```

150
skills/cli-mcp/SKILL.md Normal file
View File

@@ -0,0 +1,150 @@
---
name: cli-mcp
description: Inspect the MCP server status, list registered tools and scopes, run tool invocations, and manage MCP audit logs from the CLI.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Inspect the MCP server status, list registered tools and scopes, run tool invocations, and manage MCP audit logs from the CLI.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `mcp`
**Exemplo:**
```bash
omniroute mcp
```
### `mcp status`
Show MCP server status
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute mcp status
```
### `mcp restart`
Restart the MCP server
**Exemplo:**
```bash
omniroute mcp restart
```
### `mcp call <tool> [argsJson]`
**Flags:**
- `--args <json>`
- `--args-file <path>`
- `--stream`
- `--scope <s>`
**Exemplo:**
```bash
omniroute mcp call <tool> [argsJson]
```
### `mcp scopes`
**Flags:**
- `--tool <name>`
**Exemplo:**
```bash
omniroute mcp scopes
```
### `mcp tools`
**Exemplo:**
```bash
omniroute mcp tools
```
### `mcp list`
**Flags:**
- `--scope <s>`
**Exemplo:**
```bash
omniroute mcp list
```
### `mcp info <name>`
**Exemplo:**
```bash
omniroute mcp info <name>
```
### `mcp schema <name>`
**Flags:**
- `--io <kind>`
**Exemplo:**
```bash
omniroute mcp schema <name>
```
### `mcp audit`
**Exemplo:**
```bash
omniroute mcp audit
```
### `mcp tail`
**Flags:**
- `--follow`
- `--limit <n>`
**Exemplo:**
```bash
omniroute mcp tail
```
### `mcp stats`
**Flags:**
- `--period <p>`
**Exemplo:**
```bash
omniroute mcp stats
```

View File

@@ -0,0 +1,31 @@
---
name: cli-models
description: Query available AI models, list model aliases, and browse the full model catalog from the CLI. Filter by provider, search by capability, and resolve model name variants.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Query available AI models, list model aliases, and browse the full model catalog from the CLI. Filter by provider, search by capability, and resolve model name variants.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `models [provider]`
**Flags:**
- `--search <query>`
- `--json`
**Exemplo:**
```bash
omniroute models [provider]
```

View File

@@ -0,0 +1,385 @@
---
name: cli-plugins-skills
description: Manage Omni Skills (list, install, test, remove), plugins (create, configure), and persistent memory (search, add, clear) from the CLI.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Manage Omni Skills (list, install, test, remove), plugins (create, configure), and persistent memory (search, add, clear) from the CLI.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `memory`
**Exemplo:**
```bash
omniroute memory
```
### `memory search <query>`
**Flags:**
- `--type <type>`
- `--limit <n>`
- `--api-key <key>`
- `--token-budget <n>`
**Exemplo:**
```bash
omniroute memory search <query>
```
### `memory add`
**Flags:**
- `--content <text>`
- `--file <path>`
- `--type <type>`
- `--metadata <json>`
- `--api-key <key>`
**Exemplo:**
```bash
omniroute memory add
```
### `memory clear`
**Flags:**
- `--type <type>`
- `--older-than <duration>`
- `--api-key <key>`
- `--yes`
**Exemplo:**
```bash
omniroute memory clear
```
### `memory list`
**Flags:**
- `--type <type>`
- `--limit <n>`
- `--api-key <key>`
**Exemplo:**
```bash
omniroute memory list
```
### `memory get <id>`
**Exemplo:**
```bash
omniroute memory get <id>
```
### `memory delete <id>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute memory delete <id>
```
### `memory health`
**Exemplo:**
```bash
omniroute memory health
```
### `PLUGIN_NAME`
**Exemplo:**
```bash
omniroute PLUGIN_NAME
```
### `plugin plugin`
**Exemplo:**
```bash
omniroute plugin plugin
```
### `plugin list`
**Exemplo:**
```bash
omniroute plugin list
```
### `plugin install <name>`
**Flags:**
- `-y, --yes`
**Exemplo:**
```bash
omniroute plugin install <name>
```
### `plugin remove <name>`
**Flags:**
- `-y, --yes`
**Exemplo:**
```bash
omniroute plugin remove <name>
```
### `plugin info <name>`
**Exemplo:**
```bash
omniroute plugin info <name>
```
### `plugin search [query]`
**Exemplo:**
```bash
omniroute plugin search [query]
```
### `plugin update [name]`
**Exemplo:**
```bash
omniroute plugin update [name]
```
### `plugin scaffold <name>`
**Exemplo:**
```bash
omniroute plugin scaffold <name>
```
### `marketplace`
**Exemplo:**
```bash
omniroute marketplace
```
### `skills search [query]`
**Flags:**
- `--category <c>`
- `--tag <t>`
- `--limit <n>`
- `--sort <s>`
**Exemplo:**
```bash
omniroute skills search [query]
```
### `skills info <packageId>`
**Exemplo:**
```bash
omniroute skills info <packageId>
```
### `skills install <packageId>`
**Flags:**
- `--version <v>`
- `--enable`
- `--yes`
**Exemplo:**
```bash
omniroute skills install <packageId>
```
### `skills categories`
**Exemplo:**
```bash
omniroute skills categories
```
### `skills featured`
**Exemplo:**
```bash
omniroute skills featured
```
### `skills skills`
**Exemplo:**
```bash
omniroute skills skills
```
### `skills list`
**Flags:**
- `--type <type>`
- `--enabled`
- `--disabled`
- `--api-key <key>`
**Exemplo:**
```bash
omniroute skills list
```
### `skills get <id>`
**Exemplo:**
```bash
omniroute skills get <id>
```
### `skills install`
**Flags:**
- `--from-file <path>`
- `--from-url <url>`
- `--type <type>`
- `--enable`
**Exemplo:**
```bash
omniroute skills install
```
### `skills enable <id>`
**Exemplo:**
```bash
omniroute skills enable <id>
```
### `skills disable <id>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute skills disable <id>
```
### `skills delete <id>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute skills delete <id>
```
### `skills execute <id>`
**Flags:**
- `--input <json>`
- `--input-file <path>`
- `--timeout <ms>`
**Exemplo:**
```bash
omniroute skills execute <id>
```
### `skills executions`
**Flags:**
- `--skill <id>`
- `--limit <n>`
- `--status <s>`
**Exemplo:**
```bash
omniroute skills executions
```
### `skills skillssh`
**Exemplo:**
```bash
omniroute skills skillssh
```
### `skills list`
**Exemplo:**
```bash
omniroute skills list
```
### `skills install <url>`
**Exemplo:**
```bash
omniroute skills install <url>
```

View File

@@ -0,0 +1,244 @@
---
name: cli-policy-audit
description: Inspect audit logs, manage access policies, view telemetry data, and review request history from the CLI. Filter by event type, user, or time range for compliance workflows.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Inspect audit logs, manage access policies, view telemetry data, and review request history from the CLI. Filter by event type, user, or time range for compliance workflows.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `audit`
**Exemplo:**
```bash
omniroute audit
```
### `audit tail`
**Flags:**
- `--source <s>`
- `--follow`
- `--limit <n>`
**Exemplo:**
```bash
omniroute audit tail
```
### `audit search <query>`
**Flags:**
- `--source <s>`
- `--since <ts>`
- `--until <ts>`
- `--limit <n>`
- `--actor <id>`
- `--action <a>`
**Exemplo:**
```bash
omniroute audit search <query>
```
### `audit export <file>`
**Flags:**
- `--source <s>`
- `--format <f>`
- `--since <ts>`
- `--until <ts>`
**Exemplo:**
```bash
omniroute audit export <file>
```
### `audit stats`
**Flags:**
- `--source <s>`
- `--period <p>`
**Exemplo:**
```bash
omniroute audit stats
```
### `audit get <id>`
**Flags:**
- `--source <s>`
**Exemplo:**
```bash
omniroute audit get <id>
```
### `logs`
**Flags:**
- `--follow`
- `--filter <level>`
- `--lines <n>`
- `--timeout <ms>`
- `--base-url <url>`
- `--request-id <id>`
- `--api-key <key>`
- `--combo <name>`
- `--status <code>`
- `--duration-min <ms>`
- `--duration-max <ms>`
- `--export <path>`
**Exemplo:**
```bash
omniroute logs
```
### `policy`
**Exemplo:**
```bash
omniroute policy
```
### `policy list`
**Flags:**
- `--kind <k>`
- `--scope <s>`
**Exemplo:**
```bash
omniroute policy list
```
### `policy get <id>`
**Exemplo:**
```bash
omniroute policy get <id>
```
### `policy create`
**Exemplo:**
```bash
omniroute policy create
```
### `policy update <id>`
**Exemplo:**
```bash
omniroute policy update <id>
```
### `policy delete <id>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute policy delete <id>
```
### `policy evaluate`
**Flags:**
- `--resource <r>`
- `--context <json>`
**Exemplo:**
```bash
omniroute policy evaluate
```
### `policy export <file>`
**Exemplo:**
```bash
omniroute policy export <file>
```
### `policy import <file>`
**Flags:**
- `--overwrite`
**Exemplo:**
```bash
omniroute policy import <file>
```
### `telemetry`
**Exemplo:**
```bash
omniroute telemetry
```
### `telemetry summary`
**Flags:**
- `--period <p>`
- `--compare-to <p>`
**Exemplo:**
```bash
omniroute telemetry summary
```
### `telemetry export`
**Flags:**
- `--out <path>`
- `--period <p>`
**Exemplo:**
```bash
omniroute telemetry export
```

View File

@@ -1,7 +1,190 @@
---
name: cli-providers
description: Manage OmniRoute provider connections, API keys, and routing combos via CLI — add/list/test/remove providers, rotate keys, run OAuth flows, list models, and create/switch combos.
description: "Manage provider connections from the CLI: list available/configured providers, add, test, test-all, validate, rotate API keys, and view per-provider metrics."
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Manage provider connections from the CLI: list available/configured providers, add, test, test-all, validate, rotate API keys, and view per-provider metrics.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `provider-cmd provider [subcommand]`
Manage provider connections (use
**Exemplo:**
```bash
omniroute provider-cmd provider [subcommand]
```
### `providers`
**Exemplo:**
```bash
omniroute providers
```
### `providers available`
Show available providers in the OmniRoute catalog
**Flags:**
- `--json`
- `--search <query>`
- `-q, --q <query>`
- `--category <category>`
**Exemplo:**
```bash
omniroute providers available
```
### `providers list`
List configured provider connections
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute providers list
```
### `providers test <idOrName>`
Test a configured provider connection
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute providers test <idOrName>
```
### `providers test-all`
Test all active provider connections
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute providers test-all
```
### `providers validate`
Validate local provider configuration without calling upstream
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute providers validate
```
### `providers rotate <idOrName>`
**Flags:**
- `--new-key <key>`
- `--from-env <VAR>`
- `--oauth`
- `--yes`
- `--skip-test`
- `--dry-run`
**Exemplo:**
```bash
omniroute providers rotate <idOrName>
```
### `providers status`
**Flags:**
- `--provider <name>`
- `--json`
**Exemplo:**
```bash
omniroute providers status
```
### `providers metrics`
**Flags:**
- `--provider <id>`
- `--connection-id <id>`
- `--period <p>`
- `--metric <m>`
- `--sort-by <field>`
- `--limit <n>`
- `--watch`
- `--compare <list>`
**Exemplo:**
```bash
omniroute providers metrics
```
### `providers metric <connectionId> <metric>`
**Flags:**
- `--period <p>`
**Exemplo:**
```bash
omniroute providers metric <connectionId> <metric>
```
### `test-provider test [provider] [model]`
**Flags:**
- `--all-providers`
- `--json`
- `--latency`
- `--repeat <n>`
- `--compare <models>`
- `--save <path>`
**Exemplo:**
```bash
omniroute test-provider test [provider] [model]
```
<!-- skill:custom-start -->
<!-- Migrated from skills/omniroute-cli-providers/SKILL.md (preserved curated content) -->

View File

@@ -0,0 +1,158 @@
---
name: cli-resilience
description: Inspect and manage circuit-breaker states, connection cooldowns, quota limits, and backoff levels from the CLI. Reset stuck providers and configure resilience thresholds.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Inspect and manage circuit-breaker states, connection cooldowns, quota limits, and backoff levels from the CLI. Reset stuck providers and configure resilience thresholds.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `quota`
**Flags:**
- `--provider <id>`
- `--json`
**Exemplo:**
```bash
omniroute quota
```
### `resilience`
**Exemplo:**
```bash
omniroute resilience
```
### `resilience status`
**Flags:**
- `--provider <p>`
**Exemplo:**
```bash
omniroute resilience status
```
### `resilience breakers`
**Flags:**
- `--provider <p>`
**Exemplo:**
```bash
omniroute resilience breakers
```
### `resilience cooldowns`
**Flags:**
- `--provider <p>`
- `--connection-id <id>`
**Exemplo:**
```bash
omniroute resilience cooldowns
```
### `resilience lockouts`
**Flags:**
- `--provider <p>`
- `--model <m>`
**Exemplo:**
```bash
omniroute resilience lockouts
```
### `resilience reset`
**Flags:**
- `--connection-id <id>`
- `--model <m>`
- `--all-cooldowns`
- `--yes`
**Exemplo:**
```bash
omniroute resilience reset
```
### `resilience profile`
**Exemplo:**
```bash
omniroute resilience profile
```
### `resilience show`
**Exemplo:**
```bash
omniroute resilience show
```
### `resilience set`
**Exemplo:**
```bash
omniroute resilience set
```
### `resilience config`
**Exemplo:**
```bash
omniroute resilience config
```
### `resilience show`
**Exemplo:**
```bash
omniroute resilience show
```
### `resilience set`
**Flags:**
- `--threshold <n>`
- `--reset-timeout <ms>`
- `--base-cooldown <ms>`
**Exemplo:**
```bash
omniroute resilience set
```

View File

@@ -0,0 +1,91 @@
---
name: cli-routing
description: Create, list, update, and delete routing combos from the CLI. Test routing strategies, inspect combo metrics, and configure fallback chains interactively.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Create, list, update, and delete routing combos from the CLI. Test routing strategies, inspect combo metrics, and configure fallback chains interactively.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `suggest`
**Flags:**
- `--max-cost <usd>`
- `--max-latency-ms <ms>`
- `--weights <json>`
- `--top <n>`
- `--explain`
- `--switch`
**Exemplo:**
```bash
omniroute suggest
```
### `combo combo`
**Exemplo:**
```bash
omniroute combo combo
```
### `combo list`
List configured routing combos
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute combo list
```
### `combo switch <name>`
Activate a routing combo
**Exemplo:**
```bash
omniroute combo switch <name>
```
### `combo create <name>`
Create a new routing combo
**Exemplo:**
```bash
omniroute combo create <name>
```
### `combo delete <name>`
Delete a routing combo
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute combo delete <name>
```

View File

@@ -1,7 +1,74 @@
---
name: cli-serve
description: OmniRoute CLI entry point and server admin — install, global flags, output formats, server lifecycle (start/stop/restart), setup wizard, diagnostics, backup/restore, autostart, tunnels, and CI/Docker provisioning.
description: Start, stop, and restart the OmniRoute server from the CLI. Manage daemon mode, port configuration, auto-recovery, system tray integration, and the dashboard open shortcut.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Start, stop, and restart the OmniRoute server from the CLI. Manage daemon mode, port configuration, auto-recovery, system tray integration, and the dashboard open shortcut.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `dashboard`
**Flags:**
- `--url`
- `--port <port>`
- `--tui`
**Exemplo:**
```bash
omniroute dashboard
```
### `restart`
**Flags:**
- `--port <port>`
**Exemplo:**
```bash
omniroute restart
```
### `serve`
**Flags:**
- `--port <port>`
- `--no-open`
- `--daemon`
- `--log`
- `--no-recovery`
- `--max-restarts <n>`
- `--tray`
- `--no-tray`
**Exemplo:**
```bash
omniroute serve
```
### `stop`
**Exemplo:**
```bash
omniroute stop
```
<!-- skill:custom-start -->
<!-- Aggregated from: omniroute-cli (setup + index), omniroute-cli-admin (lifecycle/setup/backup/tunnel) -->

261
skills/cli-setup/SKILL.md Normal file
View File

@@ -0,0 +1,261 @@
---
name: cli-setup
description: Run initial setup, configure global CLI settings, manage environment variables, check for updates, and configure autostart via the CLI setup and config commands.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Run initial setup, configure global CLI settings, manage environment variables, check for updates, and configure autostart via the CLI setup and config commands.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `autostart`
**Exemplo:**
```bash
omniroute autostart
```
### `autostart enable`
**Exemplo:**
```bash
omniroute autostart enable
```
### `autostart disable`
**Exemplo:**
```bash
omniroute autostart disable
```
### `autostart status`
**Exemplo:**
```bash
omniroute autostart status
```
### `config`
Show or update CLI tool configuration
**Exemplo:**
```bash
omniroute config
```
### `config list`
List all CLI tools and config status
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute config list
```
### `config get <tool>`
Show current config for a tool
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute config get <tool>
```
### `config set <tool>`
Write config for a tool
**Flags:**
- `--model <model>`
- `--non-interactive`
- `--yes`
**Exemplo:**
```bash
omniroute config set <tool>
```
### `config validate <tool>`
Validate config format without writing
**Flags:**
- `--model <model>`
- `--json`
**Exemplo:**
```bash
omniroute config validate <tool>
```
### `config opencode`
Generate OpenCode config (alias for
**Flags:**
- `--model <model>`
- `--non-interactive`
- `--yes`
**Exemplo:**
```bash
omniroute config opencode
```
### `config lang`
**Exemplo:**
```bash
omniroute config lang
```
### `config get`
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute config get
```
### `config set <code>`
**Flags:**
- `--force`
**Exemplo:**
```bash
omniroute config set <code>
```
### `config list`
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute config list
```
### `env`
Show and manage environment variables
**Exemplo:**
```bash
omniroute env
```
### `env show`
Show current environment variables
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute env show
```
### `env get <key>`
Get a single environment variable
**Exemplo:**
```bash
omniroute env get <key>
```
### `env set <key> <value>`
Set an environment variable (current session only)
**Exemplo:**
```bash
omniroute env set <key> <value>
```
### `setup`
**Flags:**
- `--password <value>`
- `--add-provider`
- `--provider <id>`
- `--provider-name <name>`
- `--api-key <value>`
- `--default-model <model>`
- `--provider-base-url <url>`
- `--test-provider`
- `--non-interactive`
- `--list`
**Exemplo:**
```bash
omniroute setup
```
### `update`
**Flags:**
- `--check`
- `--apply`
- `--changelog`
- `--dry-run`
- `--no-backup`
- `--yes`
**Exemplo:**
```bash
omniroute update
```

106
skills/cli-tunnel/SKILL.md Normal file
View File

@@ -0,0 +1,106 @@
---
name: cli-tunnel
description: Start and stop tunnel connections (ngrok, Cloudflare, custom) from the CLI. Inspect active tunnel URLs, configure authentication, and test external reachability.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Start and stop tunnel connections (ngrok, Cloudflare, custom) from the CLI. Inspect active tunnel URLs, configure authentication, and test external reachability.
## Instalação rápida
```bash
npm install -g omniroute # or: npx omniroute
omniroute --version
```
## Subcomandos
### `tunnel`
**Exemplo:**
```bash
omniroute tunnel
```
### `tunnel list`
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute tunnel list
```
### `tunnel create [type]`
**Exemplo:**
```bash
omniroute tunnel create [type]
```
### `tunnel stop <type>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute tunnel stop <type>
```
### `tunnel status <type>`
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute tunnel status <type>
```
### `tunnel logs <type>`
**Flags:**
- `--tail <n>`
**Exemplo:**
```bash
omniroute tunnel logs <type>
```
### `tunnel info <type>`
**Flags:**
- `--json`
**Exemplo:**
```bash
omniroute tunnel info <type>
```
### `tunnel rotate <type>`
**Flags:**
- `--yes`
**Exemplo:**
```bash
omniroute tunnel rotate <type>
```

View File

@@ -1,7 +1,23 @@
---
name: omni-agents-a2a
description: OmniRoute exposes an A2A (Agent-to-Agent) JSON-RPC 2.0 server with 5 skills (smart-routing, quota-management, provider-discovery, cost-analysis, health-report). Use when the user wants OmniRoute to act as an agent peer in an A2A network or multi-agent pipeline.
description: "Interact with OmniRoute via JSON-RPC 2.0 agent-to-agent protocol. 6 built-in A2A skills: smart-routing, quota-management, provider-discovery, cost-analysis, health-report, list-capabilities."
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Interact with OmniRoute via JSON-RPC 2.0 agent-to-agent protocol. 6 built-in A2A skills: smart-routing, quota-management, provider-discovery, cost-analysis, health-report, list-capabilities.
## Autenticação
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
_No endpoints mapped for this area yet._
## 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-a2a/SKILL.md (preserved curated content) -->

View File

@@ -0,0 +1,48 @@
---
name: omni-api-keys
description: Create, list, rotate, and revoke OmniRoute API keys. Control per-key scopes, spending limits, and expiration. Keys gate access to all proxy and management endpoints.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Create, list, rotate, and revoke OmniRoute API keys. Control per-key scopes, spending limits, and expiration. Keys gate access to all proxy and management endpoints.
## Autenticação
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/keys
List API keys
```bash
curl https://localhost:20128/api/keys \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/keys
Create API key
```bash
curl -X POST https://localhost:20128/api/keys \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/keys/{id}
Delete API key
```bash
curl -X DELETE https://localhost:20128/api/keys/{id} \
-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.

View File

@@ -1,7 +1,44 @@
---
name: omni-auth
description: Entry point for OmniRoute — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, STT, embeddings, web search, web fetch, MCP, A2A. Setup, index of capability skills, and differentiators.
description: Manage API key authentication and session tokens. Start here to authenticate requests via Bearer token, obtain session cookies, and configure login requirements for the OmniRoute API.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Manage API key authentication and session tokens. Start here to authenticate requests via Bearer token, obtain session cookies, and configure login requirements for the OmniRoute API.
## Autenticação
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
### POST /api/auth/login
Authenticate user
```bash
curl -X POST https://localhost:20128/api/auth/login \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/auth/logout
Log out
```bash
curl -X POST https://localhost:20128/api/auth/logout \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
## 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/SKILL.md (preserved curated content) -->

View File

@@ -0,0 +1,39 @@
---
name: omni-budget
description: Configure spending limits, token quotas, and rate-limit policies per API key or globally. Inspect current consumption and enforce cost controls across providers.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Configure spending limits, token quotas, and rate-limit policies per API key or globally. Inspect current consumption and enforce cost controls across providers.
## Autenticação
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/rate-limit
Get rate limit configuration
```bash
curl https://localhost:20128/api/rate-limit \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/rate-limit
Update rate limit configuration
```bash
curl -X POST https://localhost:20128/api/rate-limit \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
## Payloads
See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/reference/openapi.yaml` for detailed request/response schemas.

View File

@@ -0,0 +1,57 @@
---
name: omni-cache
description: Manage the LLM response cache. View cache statistics, clear entries, configure TTL policies, and control semantic-similarity caching thresholds.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Manage the LLM response cache. View cache statistics, clear entries, configure TTL policies, and control semantic-similarity caching thresholds.
## Autenticação
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/cache
Get cache statistics
```bash
curl https://localhost:20128/api/cache \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### DELETE /api/cache
Clear all caches
```bash
curl -X DELETE https://localhost:20128/api/cache \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/cache/stats
Get detailed cache statistics
Returns detailed statistics for all cache layers.
```bash
curl https://localhost:20128/api/cache/stats \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### DELETE /api/cache/stats
Clear cache statistics
```bash
curl -X DELETE https://localhost:20128/api/cache/stats \
-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.

View File

@@ -0,0 +1,320 @@
---
name: omni-cli-tools
description: "Manage CLI tool integrations exposed via the API. List, configure, and invoke CLI tool plugins that extend OmniRoute's automation surface."
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Manage CLI tool integrations exposed via the API. List, configure, and invoke CLI tool plugins that extend OmniRoute's automation surface.
## Autenticação
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/cli-tools/backups
List CLI tool backups
```bash
curl https://localhost:20128/api/cli-tools/backups \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/cli-tools/backups
Create CLI tool backup
```bash
curl -X POST https://localhost:20128/api/cli-tools/backups \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/cli-tools/runtime/{toolId}
Get runtime status for a CLI tool
```bash
curl https://localhost:20128/api/cli-tools/runtime/{toolId} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/cli-tools/guide-settings/{toolId}
Get guide settings for a tool
```bash
curl https://localhost:20128/api/cli-tools/guide-settings/{toolId} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/cli-tools/antigravity-mitm
Get Antigravity MITM proxy settings
```bash
curl https://localhost:20128/api/cli-tools/antigravity-mitm \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/cli-tools/antigravity-mitm
Update Antigravity MITM proxy settings
```bash
curl -X POST https://localhost:20128/api/cli-tools/antigravity-mitm \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/cli-tools/antigravity-mitm
Reset Antigravity MITM proxy settings
```bash
curl -X DELETE https://localhost:20128/api/cli-tools/antigravity-mitm \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/cli-tools/antigravity-mitm/alias
Get Antigravity MITM alias configuration
```bash
curl https://localhost:20128/api/cli-tools/antigravity-mitm/alias \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/cli-tools/antigravity-mitm/alias
Update Antigravity MITM alias configuration
```bash
curl -X PUT https://localhost:20128/api/cli-tools/antigravity-mitm/alias \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/cli-tools/claude-settings
Get Claude CLI settings
```bash
curl https://localhost:20128/api/cli-tools/claude-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/cli-tools/claude-settings
Apply Claude CLI settings
```bash
curl -X POST https://localhost:20128/api/cli-tools/claude-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/cli-tools/claude-settings
Reset Claude CLI settings
```bash
curl -X DELETE https://localhost:20128/api/cli-tools/claude-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/cli-tools/cline-settings
Get Cline CLI settings
```bash
curl https://localhost:20128/api/cli-tools/cline-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/cli-tools/cline-settings
Apply Cline CLI settings
```bash
curl -X POST https://localhost:20128/api/cli-tools/cline-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/cli-tools/cline-settings
Reset Cline CLI settings
```bash
curl -X DELETE https://localhost:20128/api/cli-tools/cline-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/cli-tools/codex-profiles
Get Codex profiles
```bash
curl https://localhost:20128/api/cli-tools/codex-profiles \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/cli-tools/codex-profiles
Create Codex profile
```bash
curl -X POST https://localhost:20128/api/cli-tools/codex-profiles \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### PUT /api/cli-tools/codex-profiles
Update Codex profile
```bash
curl -X PUT https://localhost:20128/api/cli-tools/codex-profiles \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/cli-tools/codex-profiles
Delete Codex profile
```bash
curl -X DELETE https://localhost:20128/api/cli-tools/codex-profiles \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/cli-tools/codex-settings
Get Codex CLI settings
```bash
curl https://localhost:20128/api/cli-tools/codex-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/cli-tools/codex-settings
Apply Codex CLI settings
```bash
curl -X POST https://localhost:20128/api/cli-tools/codex-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/cli-tools/codex-settings
Reset Codex CLI settings
```bash
curl -X DELETE https://localhost:20128/api/cli-tools/codex-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/cli-tools/droid-settings
Get Droid CLI settings
```bash
curl https://localhost:20128/api/cli-tools/droid-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/cli-tools/droid-settings
Apply Droid CLI settings
```bash
curl -X POST https://localhost:20128/api/cli-tools/droid-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/cli-tools/droid-settings
Reset Droid CLI settings
```bash
curl -X DELETE https://localhost:20128/api/cli-tools/droid-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/cli-tools/kilo-settings
Get Kilo CLI settings
```bash
curl https://localhost:20128/api/cli-tools/kilo-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/cli-tools/kilo-settings
Apply Kilo CLI settings
```bash
curl -X POST https://localhost:20128/api/cli-tools/kilo-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/cli-tools/kilo-settings
Reset Kilo CLI settings
```bash
curl -X DELETE https://localhost:20128/api/cli-tools/kilo-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/cli-tools/openclaw-settings
Get OpenClaw CLI settings
```bash
curl https://localhost:20128/api/cli-tools/openclaw-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/cli-tools/openclaw-settings
Apply OpenClaw CLI settings
```bash
curl -X POST https://localhost:20128/api/cli-tools/openclaw-settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/cli-tools/openclaw-settings
Reset OpenClaw CLI settings
```bash
curl -X DELETE https://localhost:20128/api/cli-tools/openclaw-settings \
-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.

View File

@@ -1,7 +1,115 @@
---
name: omni-combos-routing
description: Create and configure OmniRoute routing combos, choose from 14 strategies (priority, weighted, auto, round-robin, cost-optimized, etc.), activate Auto-combo 9-factor scoring, and set up fallback chains.
description: 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.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
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.
## Autenticação
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) -->

View File

@@ -1,7 +1,51 @@
---
name: omni-compression
description: Configure OmniRoute token compression to save 60-90% of context tokens. Covers RTK (command/tool output), Caveman (prose), stacked mode (both), and the MCP accessibility-tree filter (browser snapshots).
description: Configure RTK (command output), Caveman (prose), and stacked compression modes. Manage language packs, custom rules, and test prompt compression reducing tokens by 6090%.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Configure RTK (command output), Caveman (prose), and stacked compression modes. Manage language packs, custom rules, and test prompt compression reducing tokens by 6090%.
## Autenticação
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
### POST /api/compression/preview
Preview compression for a message payload
```bash
curl -X POST https://localhost:20128/api/compression/preview \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/compression/language-packs
List Caveman compression language packs
```bash
curl https://localhost:20128/api/compression/language-packs \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/compression/rules
List Caveman compression rule metadata
```bash
curl https://localhost:20128/api/compression/rules \
-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-compression/SKILL.md (preserved curated content) -->

View File

@@ -0,0 +1,68 @@
---
name: omni-context-rtk
description: Configure RTK filters, context engineering rules, and context relay settings. Test compression with real prompt samples and manage context transformation pipelines.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Configure RTK filters, context engineering rules, and context relay settings. Test compression with real prompt samples and manage context transformation pipelines.
## Autenticação
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/context/rtk/config
Get RTK compression settings
```bash
curl https://localhost:20128/api/context/rtk/config \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/context/rtk/config
Update RTK compression settings
```bash
curl -X PUT https://localhost:20128/api/context/rtk/config \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/context/rtk/filters
List RTK filters and load diagnostics
```bash
curl https://localhost:20128/api/context/rtk/filters \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/context/rtk/test
Run RTK compression preview for text
```bash
curl -X POST https://localhost:20128/api/context/rtk/test \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/context/rtk/raw-output/{id}
Read retained redacted RTK raw output
```bash
curl https://localhost:20128/api/context/rtk/raw-output/{id} \
-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.

View File

@@ -0,0 +1,20 @@
---
name: omni-db-backups
description: Trigger system backups, restore from backup files, and manage the SQLite database lifecycle. Supports export, import, and incremental snapshot strategies.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Trigger system backups, restore from backup files, and manage the SQLite database lifecycle. Supports export, import, and incremental snapshot strategies.
## Autenticação
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
_No endpoints mapped for this area yet._
## Payloads
See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/reference/openapi.yaml` for detailed request/response schemas.

View File

@@ -1,7 +1,216 @@
---
name: omni-inference
description: Inference capabilities via OmniRoute — chat completions, image generation, text-to-speech, speech-to-text, embeddings, web search, and web fetch. OpenAI-compatible endpoints with auto-fallback across 207+ providers.
description: "The core OpenAI-compatible inference endpoints: chat completions, embeddings, images, audio (TTS/STT), moderations, rerank, and the Responses API. The primary integration surface for AI agents."
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
The core OpenAI-compatible inference endpoints: chat completions, embeddings, images, audio (TTS/STT), moderations, rerank, and the Responses API. The primary integration surface for AI agents.
## Autenticação
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
### POST /api/v1/chat/completions
Create chat completion
OpenAI-compatible chat completions endpoint. Routes to configured providers.
```bash
curl -X POST https://localhost:20128/api/v1/chat/completions \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/providers/{provider}/chat/completions
Create chat completion (provider-specific)
Routes to a specific provider by name.
```bash
curl -X POST https://localhost:20128/api/v1/providers/{provider}/chat/completions \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/api/chat
Ollama-compatible chat endpoint
Provides compatibility with Ollama's /api/chat format.
```bash
curl -X POST https://localhost:20128/api/v1/api/chat \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/messages
Create message (Anthropic-compatible)
Anthropic Messages API endpoint. Routes to Claude providers.
```bash
curl -X POST https://localhost:20128/api/v1/messages \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/messages/count_tokens
Count tokens for a message
```bash
curl -X POST https://localhost:20128/api/v1/messages/count_tokens \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/responses
Create response (OpenAI Responses API)
OpenAI Responses API endpoint.
```bash
curl -X POST https://localhost:20128/api/v1/responses \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/embeddings
Create embeddings
```bash
curl -X POST https://localhost:20128/api/v1/embeddings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/providers/{provider}/embeddings
Create embeddings (provider-specific)
```bash
curl -X POST https://localhost:20128/api/v1/providers/{provider}/embeddings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/images/generations
Generate images
```bash
curl -X POST https://localhost:20128/api/v1/images/generations \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/providers/{provider}/images/generations
Generate images (provider-specific)
```bash
curl -X POST https://localhost:20128/api/v1/providers/{provider}/images/generations \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/audio/speech
Generate speech audio
Text-to-speech endpoint. Routes to configured TTS providers.
```bash
curl -X POST https://localhost:20128/api/v1/audio/speech \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/audio/transcriptions
Transcribe audio
Audio-to-text transcription endpoint.
```bash
curl -X POST https://localhost:20128/api/v1/audio/transcriptions \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/moderations
Create moderation
Content moderation endpoint. Routes to configured moderation providers.
```bash
curl -X POST https://localhost:20128/api/v1/moderations \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/v1/rerank
Rerank documents
Document reranking endpoint.
```bash
curl -X POST https://localhost:20128/api/v1/rerank \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/v1
API v1 root endpoint
Returns basic API info and status.
```bash
curl https://localhost:20128/api/v1 \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/v1/providers/{provider}/models
List models for a specific provider
Returns only models for the selected provider with provider prefix removed from each model id.
```bash
curl https://localhost:20128/api/v1/providers/{provider}/models \
-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 -->
<!-- Aggregated from: omniroute-chat, omniroute-image, omniroute-tts, omniroute-stt, omniroute-embeddings, omniroute-web-search, omniroute-web-fetch -->

View File

@@ -1,7 +1,23 @@
---
name: omni-mcp
description: OmniRoute exposes a built-in MCP (Model Context Protocol) server with 37 tools (chat, embeddings, memory CRUD, skills, providers, routing, audit) over SSE/stdio/HTTP transports. Use when the user wants to add OmniRoute as an MCP server in Claude Desktop, Cursor, Cline, or any MCP-compatible client.
description: "Connect to the OmniRoute MCP server (37 tools, 3 transports: SSE/stdio/HTTP). Covers routing, cache, compression, memory, skills, providers, and audit tools across 16 permission scopes."
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Connect to the OmniRoute MCP server (37 tools, 3 transports: SSE/stdio/HTTP). Covers routing, cache, compression, memory, skills, providers, and audit tools across 16 permission scopes.
## Autenticação
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
_No endpoints mapped for this area yet._
## 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-mcp/SKILL.md (preserved curated content) -->

View File

@@ -0,0 +1,59 @@
---
name: omni-models
description: Query available AI models across all configured providers. List models, resolve model aliases, and browse the full model catalog including provider-specific variants.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Query available AI models across all configured providers. List models, resolve model aliases, and browse the full model catalog including provider-specific variants.
## Autenticação
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/v1/models
List available models
Returns all models available across configured providers.
```bash
curl https://localhost:20128/api/v1/models \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/models
List models (management)
```bash
curl https://localhost:20128/api/models \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/models/alias
Create or update a model alias
```bash
curl -X POST https://localhost:20128/api/models/alias \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/models/catalog
Get full model catalog
```bash
curl https://localhost:20128/api/models/catalog \
-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.

View File

@@ -0,0 +1,179 @@
---
name: omni-providers
description: Manage provider connections, API keys, OAuth flows, and connection tests via the REST API. List, add, update, remove, and test AI provider integrations (OpenAI, Anthropic, Gemini, and 160+).
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Manage provider connections, API keys, OAuth flows, and connection tests via the REST API. List, add, update, remove, and test AI provider integrations (OpenAI, Anthropic, Gemini, and 160+).
## Autenticação
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/providers
List provider connections
```bash
curl https://localhost:20128/api/providers \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/providers
Create provider connection
```bash
curl -X POST https://localhost:20128/api/providers \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/providers/{id}
Get provider connection
```bash
curl https://localhost:20128/api/providers/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PATCH /api/providers/{id}
Update provider connection
```bash
curl -X PATCH https://localhost:20128/api/providers/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/providers/{id}
Delete provider connection
```bash
curl -X DELETE https://localhost:20128/api/providers/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/providers/{id}/test
Test provider connection
```bash
curl -X POST https://localhost:20128/api/providers/{id}/test \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/providers/{id}/models
List models for a provider
```bash
curl https://localhost:20128/api/providers/{id}/models \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/providers/test-batch
Test multiple providers at once
```bash
curl -X POST https://localhost:20128/api/providers/test-batch \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/providers/validate
Validate provider credentials
```bash
curl -X POST https://localhost:20128/api/providers/validate \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/providers/client
Get client-side provider info
```bash
curl https://localhost:20128/api/providers/client \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/provider-nodes
List provider nodes
```bash
curl https://localhost:20128/api/provider-nodes \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/provider-nodes
Create provider node
```bash
curl -X POST https://localhost:20128/api/provider-nodes \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### PATCH /api/provider-nodes/{id}
Update provider node
```bash
curl -X PATCH https://localhost:20128/api/provider-nodes/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/provider-nodes/{id}
Delete provider node
```bash
curl -X DELETE https://localhost:20128/api/provider-nodes/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/provider-nodes/validate
Validate a provider node
```bash
curl -X POST https://localhost:20128/api/provider-nodes/validate \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/provider-models
List provider models
```bash
curl https://localhost:20128/api/provider-models \
-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.

View File

@@ -0,0 +1,20 @@
---
name: omni-proxies
description: Configure HTTP/HTTPS/SOCKS proxies for upstream provider requests. Set per-provider or global proxy rules, test connectivity, and manage proxy rotation.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Configure HTTP/HTTPS/SOCKS proxies for upstream provider requests. Set per-provider or global proxy rules, test connectivity, and manage proxy rotation.
## Autenticação
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
_No endpoints mapped for this area yet._
## Payloads
See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/reference/openapi.yaml` for detailed request/response schemas.

View File

@@ -1,7 +1,33 @@
---
name: omni-resilience
description: Monitor OmniRoute system health, provider circuit breakers, per-provider latency (p50/p95/p99), quota usage, and set budget guards. Use when the user wants to check if the system is healthy, debug slow providers, manage spend limits, or set up monitoring.
description: Monitor provider health, circuit-breaker states, p50/p95/p99 latency metrics, and budget guard alerts. Inspect connection cooldowns and model lockouts in real time.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Monitor provider health, circuit-breaker states, p50/p95/p99 latency metrics, and budget guard alerts. Inspect connection cooldowns and model lockouts in real time.
## Autenticação
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/monitoring/health
System health check
Returns system health including uptime, memory, circuit breakers, rate limits
```bash
curl https://localhost:20128/api/monitoring/health \
-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-monitoring/SKILL.md (preserved curated content) -->

View File

@@ -0,0 +1,222 @@
---
name: omni-settings
description: "Read and update global application settings: system prompts, thinking budget, IP filters, payload rules, combo defaults, and require-login configuration."
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Read and update global application settings: system prompts, thinking budget, IP filters, payload rules, combo defaults, and require-login configuration.
## Autenticação
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/settings
Get application settings
```bash
curl https://localhost:20128/api/settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PATCH /api/settings
Update settings
```bash
curl -X PATCH https://localhost:20128/api/settings \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/compression
Get global compression settings
```bash
curl https://localhost:20128/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/compression
Update global compression settings
```bash
curl -X PUT https://localhost:20128/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/payload-rules
Get payload rules configuration
Returns the current payload rules used to mutate outgoing request payloads before they
are sent upstream.
Requires a dashboard management session cookie when management auth is enabled.
```bash
curl https://localhost:20128/api/settings/payload-rules \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/payload-rules
Update payload rules configuration
Persists and hot reloads payload rules. The legacy input field `default-raw` is accepted
on writes and normalized to `defaultRaw` in responses/runtime state.
Requires a dashboard management session cookie when management auth is enabled.
```bash
curl -X PUT https://localhost:20128/api/settings/payload-rules \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/combo-defaults
Get combo default settings
```bash
curl https://localhost:20128/api/settings/combo-defaults \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/settings/proxy
Get proxy settings
```bash
curl https://localhost:20128/api/settings/proxy \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PATCH /api/settings/proxy
Update proxy settings
```bash
curl -X PATCH https://localhost:20128/api/settings/proxy \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/settings/proxy/test
Test proxy connection
```bash
curl -X POST https://localhost:20128/api/settings/proxy/test \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/settings/require-login
Toggle login requirement
```bash
curl -X POST https://localhost:20128/api/settings/require-login \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/ip-filter
Get IP filter configuration
Returns the current IP filter settings including blacklist, whitelist, and temp bans.
```bash
curl https://localhost:20128/api/settings/ip-filter \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/ip-filter
Update IP filter configuration
Configure IP filtering with blacklist/whitelist modes, add/remove individual IPs, and manage temp bans.
```bash
curl -X PUT https://localhost:20128/api/settings/ip-filter \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/system-prompt
Get system prompt configuration
Returns the current system prompt injection settings.
```bash
curl https://localhost:20128/api/settings/system-prompt \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/system-prompt
Update system prompt configuration
```bash
curl -X PUT https://localhost:20128/api/settings/system-prompt \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/settings/thinking-budget
Get thinking budget configuration
Returns the current thinking/reasoning budget settings for AI models.
```bash
curl https://localhost:20128/api/settings/thinking-budget \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/settings/thinking-budget
Update thinking budget configuration
```bash
curl -X PUT https://localhost:20128/api/settings/thinking-budget \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/tags
List Ollama-compatible model tags
Returns models in Ollama /api/tags format for Ollama client compatibility
```bash
curl https://localhost:20128/api/tags \
-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.

View File

@@ -0,0 +1,98 @@
---
name: omni-sync-cloud
description: Synchronise OmniRoute configuration, provider connections, and settings to/from cloud storage. Manage cloud worker authentication and remote backup targets.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Synchronise OmniRoute configuration, provider connections, and settings to/from cloud storage. Manage cloud worker authentication and remote backup targets.
## Autenticação
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
### POST /api/cloud/auth
Authenticate with cloud worker
Authenticates with the OmniRoute cloud worker for remote access.
```bash
curl -X POST https://localhost:20128/api/cloud/auth \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### PUT /api/cloud/credentials/update
Update cloud worker credentials
```bash
curl -X PUT https://localhost:20128/api/cloud/credentials/update \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/cloud/model/resolve
Resolve model via cloud
Resolves a model request through the cloud worker.
```bash
curl -X POST https://localhost:20128/api/cloud/model/resolve \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/cloud/models/alias
Get cloud model aliases
```bash
curl https://localhost:20128/api/cloud/models/alias \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### PUT /api/cloud/models/alias
Update cloud model alias
```bash
curl -X PUT https://localhost:20128/api/cloud/models/alias \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/sync/cloud
Sync with cloud
```bash
curl -X POST https://localhost:20128/api/sync/cloud \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/sync/initialize
Initialize cloud sync
```bash
curl -X POST https://localhost:20128/api/sync/initialize \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
## Payloads
See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/reference/openapi.yaml` for detailed request/response schemas.

View File

@@ -0,0 +1,20 @@
---
name: omni-tunnels
description: Create and manage secure tunnels (ngrok, Cloudflare Tunnel, custom) to expose OmniRoute to the internet or share access with remote agents and CI pipelines.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Create and manage secure tunnels (ngrok, Cloudflare Tunnel, custom) to expose OmniRoute to the internet or share access with remote agents and CI pipelines.
## Autenticação
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
_No endpoints mapped for this area yet._
## Payloads
See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/reference/openapi.yaml` for detailed request/response schemas.

View File

@@ -0,0 +1,115 @@
---
name: omni-usage-logs
description: Access detailed call logs and usage analytics. Filter by provider, model, time range, status, and cost. Export logs and aggregate token usage across all connections.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Access detailed call logs and usage analytics. Filter by provider, model, time range, status, and cost. Export logs and aggregate token usage across all connections.
## Autenticação
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/usage/analytics
Get usage analytics
```bash
curl https://localhost:20128/api/usage/analytics \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/call-logs
Get call logs
```bash
curl https://localhost:20128/api/usage/call-logs \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/call-logs/{id}
Get a specific call log
```bash
curl https://localhost:20128/api/usage/call-logs/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/{connectionId}
Get usage for a specific connection
```bash
curl https://localhost:20128/api/usage/{connectionId} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/history
Get usage history
```bash
curl https://localhost:20128/api/usage/history \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/logs
Get usage logs
```bash
curl https://localhost:20128/api/usage/logs \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/proxy-logs
Get proxy logs
```bash
curl https://localhost:20128/api/usage/proxy-logs \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/request-logs
Get request logs
```bash
curl https://localhost:20128/api/usage/request-logs \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/budget
Get usage budget status
Returns current budget limits and consumption.
```bash
curl https://localhost:20128/api/usage/budget \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/usage/budget
Configure usage budget
Set or update budget limits for usage tracking.
```bash
curl -X POST https://localhost:20128/api/usage/budget \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
## Payloads
See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/reference/openapi.yaml` for detailed request/response schemas.

View File

@@ -0,0 +1,221 @@
---
name: omni-version-manager
description: Install, start, stop, restart, and update embedded services (9Router, CLIProxyAPI). Monitor service status, retrieve logs, and configure auto-start for local-only service endpoints.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Install, start, stop, restart, and update embedded services (9Router, CLIProxyAPI). Monitor service status, retrieve logs, and configure auto-start for local-only service endpoints.
## Autenticação
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
### POST /api/services/9router/install
Install 9Router from npm
Installs the `9router` npm package under DATA_DIR/services/9router/. Uses execFile (no shell interpolation — hard rule #13). **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/9router/install \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/services/9router/start
Start 9Router
Spawns the 9Router process. Idempotent if already running. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/9router/start \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/services/9router/stop
Stop 9Router
Gracefully stops 9Router (SIGTERM → 15 s → SIGKILL). Idempotent. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/9router/stop \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/services/9router/restart
Restart 9Router
Equivalent to stop() then start() under the operation lock. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/9router/restart \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/services/9router/update
Update 9Router to a newer npm version
Stops the service (if running), installs the newer npm version, then restarts. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/9router/update \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/services/9router/rotate-key
Rotate the 9Router API key
Generates a new API key, encrypts it at-rest, and restarts the service to apply it. The plaintext key is never returned. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/9router/rotate-key \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/services/9router/status
Get 9Router status
Returns combined live supervisor state and DB metadata. **LOCAL_ONLY** — loopback only.
```bash
curl https://localhost:20128/api/services/9router/status \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/services/9router/auto-start
Toggle 9Router auto-start
When enabled, 9Router starts automatically on the next OmniRoute boot. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/9router/auto-start \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/services/cliproxy/install
Install CLIProxyAPI from npm
Installs the CLIProxyAPI package under DATA_DIR/services/cliproxy/. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/cliproxy/install \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/services/cliproxy/start
Start CLIProxyAPI
Spawns the CLIProxyAPI process. Idempotent if already running. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/cliproxy/start \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/services/cliproxy/stop
Stop CLIProxyAPI
Gracefully stops CLIProxyAPI. Idempotent. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/cliproxy/stop \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/services/cliproxy/restart
Restart CLIProxyAPI
stop() then start() under the operation lock. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/cliproxy/restart \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### POST /api/services/cliproxy/update
Update CLIProxyAPI to a newer npm version
Stops, installs newer version, restarts. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/cliproxy/update \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/services/cliproxy/status
Get CLIProxyAPI status
Returns live supervisor state and DB metadata (no apiKeyMasked — CLIProxyAPI does not use an injected API key). **LOCAL_ONLY** — loopback only.
```bash
curl https://localhost:20128/api/services/cliproxy/status \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/services/cliproxy/auto-start
Toggle CLIProxyAPI auto-start
When enabled, CLIProxyAPI starts automatically on the next OmniRoute boot. **LOCAL_ONLY** — loopback only.
```bash
curl -X POST https://localhost:20128/api/services/cliproxy/auto-start \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/services/{name}/logs
Stream service logs via SSE
Returns a Server-Sent Events stream from the service's in-memory ring buffer (5 MB, circular). Sends a `snapshot` event with historical lines first, then live `log` events, plus a `heartbeat` every 15 s. **LOCAL_ONLY** — loopback only.
```bash
curl https://localhost:20128/api/services/{name}/logs \
-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.

View File

@@ -0,0 +1,20 @@
---
name: omni-webhooks
description: Register, list, test, and remove webhook endpoints. Configure event subscriptions (request.completed, provider.error, budget.exceeded, etc.) and manage delivery retries.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Visão geral
Register, list, test, and remove webhook endpoints. Configure event subscriptions (request.completed, provider.error, budget.exceeded, etc.) and manage delivery retries.
## Autenticação
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
_No endpoints mapped for this area yet._
## Payloads
See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/reference/openapi.yaml` for detailed request/response schemas.

View File

@@ -1,71 +0,0 @@
---
name: omniroute-a2a
description: OmniRoute exposes an A2A (Agent-to-Agent) JSON-RPC 2.0 server with 5 skills (smart-routing, quota-management, provider-discovery, cost-analysis, health-report). Use when the user wants OmniRoute to act as an agent peer in an A2A network or multi-agent pipeline.
---
# OmniRoute — A2A Protocol
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
OmniRoute publishes an Agent Card at `/.well-known/agent.json` and accepts
JSON-RPC 2.0 calls at `/a2a`.
## Discovery
```bash
curl $OMNIROUTE_URL/.well-known/agent.json
```
Returns Agent Card with skills, endpoints, auth scheme.
## Available skills
| Skill | Purpose |
| -------------------- | ----------------------------------------------------------------------------------- |
| `smart-routing` | Given a prompt, recommends best provider/model combo |
| `quota-management` | Reports quota balance for given provider/account |
| `provider-discovery` | Lists providers matching capability filters (vision, JSON mode, tools, max-context) |
| `cost-analysis` | Estimates cost for a given request shape |
| `health-report` | Returns system health (circuit states, latencies, errors) |
## Call example (JSON-RPC 2.0)
```bash
curl -X POST $OMNIROUTE_URL/a2a \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tasks/send",
"params": {
"skillId": "smart-routing",
"input": { "prompt_length": 4000, "tools": true, "vision": false }
},
"id": 1
}'
```
## Response shape
```json
{
"jsonrpc": "2.0",
"result": {
"taskId": "...",
"status": "completed",
"output": { "recommended_combo": "...", "reasoning": "..." }
},
"id": 1
}
```
## Errors
- `-32600` → invalid request (bad JSON-RPC envelope)
- `-32601` → method not found (check `method` field)
- `-32602` → invalid params (check `skillId` against Agent Card)
- `401` → missing/invalid `OMNIROUTE_KEY`
## Reference
Full docs: https://github.com/diegosouzapw/OmniRoute/blob/main/docs/frameworks/A2A-SERVER.md

View File

@@ -1,68 +0,0 @@
---
name: omniroute-chat
description: Chat / code generation via OmniRoute using OpenAI /v1/chat/completions or Anthropic /v1/messages format with SSE streaming, auto-fallback combos, RTK token saver, and 207+ providers. Use when the user wants to ask an LLM, generate code, summarize text, or run prompts through OmniRoute.
---
# OmniRoute — Chat
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
## Endpoints
- `POST $OMNIROUTE_URL/v1/chat/completions` — OpenAI format
- `POST $OMNIROUTE_URL/v1/messages` — Anthropic Messages format
- `POST $OMNIROUTE_URL/v1/responses` — OpenAI Responses API
## Discover
```bash
curl $OMNIROUTE_URL/v1/models | jq '.data[].id'
```
Combos (e.g. `auto`, `cost-optimized`, `subscription`) auto-fallback through multiple providers.
## OpenAI format example
```bash
curl -X POST $OMNIROUTE_URL/v1/chat/completions \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-7",
"messages": [{"role": "user", "content": "Refactor this function"}],
"stream": true
}'
```
## Anthropic format example
```bash
curl -X POST $OMNIROUTE_URL/v1/messages \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-7",
"max_tokens": 4096,
"messages": [{"role": "user", "content": "Hi"}]
}'
```
## Tool use
Supports OpenAI `tools` array and Anthropic `tools` block. Tool results
auto-compressed via RTK (47 filters: git-diff, grep, test-jest, terraform-plan,
docker-logs, etc.) — 20-40% token savings. Disable per-request with
`X-Omniroute-Rtk: off` header.
## Reasoning / thinking
Anthropic extended thinking and OpenAI Responses reasoning blocks are forwarded
verbatim. Cached automatically via reasoning cache.
## Errors
- `401` → invalid API key
- `400 invalid_model` → model not in registry; check `/v1/models`
- `503 circuit_open` → provider circuit breaker tripped; retry later or use combo
- `429 rate_limited` → honor `Retry-After`; consider using a combo for auto-fallback

View File

@@ -1,145 +0,0 @@
---
name: omniroute-cli-admin
description: Manage the OmniRoute server lifecycle via CLI — start/stop/restart, non-interactive setup, diagnostics (omniroute doctor), backup/restore, autostart, and tunnel management. Use when the user wants to operate the OmniRoute server, automate provisioning, or troubleshoot the runtime.
---
# OmniRoute — CLI Admin
Requires the `omniroute` CLI. See [CLI entry-point skill](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli/SKILL.md) for install + global flags.
## Server lifecycle
```bash
omniroute # Start server (default port 20128)
omniroute serve # Explicit alias
omniroute --port 3000 # Override port
omniroute --no-open # Don't auto-open browser
omniroute --mcp # Start as MCP server (stdio transport)
omniroute stop # Stop the running server
omniroute restart # Restart the server
omniroute dashboard # Open dashboard in browser
omniroute open # Alias for dashboard
omniroute status # Runtime status (uptime, requests, providers)
```
## Setup & provisioning
### Interactive wizard
```bash
omniroute setup # Step-by-step interactive setup
```
### Non-interactive (CI / Docker)
```bash
omniroute setup --non-interactive \
--password 'admin-password' \
--add-provider \
--provider openai \
--api-key 'sk-...' \
--test-provider
```
Environment variables for non-interactive setup:
| Variable | Purpose |
| ----------------------------- | -------------------------------------------- |
| `OMNIROUTE_SETUP_PASSWORD` | Admin password (≥8 chars) |
| `OMNIROUTE_PROVIDER` | Provider id (e.g. `openai`, `anthropic`) |
| `OMNIROUTE_PROVIDER_NAME` | Display name for the connection |
| `OMNIROUTE_PROVIDER_BASE_URL` | Optional OpenAI-compatible base URL override |
| `OMNIROUTE_API_KEY` | Provider API key |
| `OMNIROUTE_DEFAULT_MODEL` | Optional default model |
| `DATA_DIR` | Override OmniRoute data directory |
## Diagnostics
```bash
omniroute doctor # Full health check
omniroute doctor --json # Machine-readable JSON
omniroute doctor --no-liveness # Skip HTTP health probe
omniroute doctor --host 0.0.0.0 # Override liveness host
omniroute doctor --liveness-url <url> # Full URL override
```
Checks performed: Config, Database, Storage/encryption, Port, Node runtime, Native binary (better-sqlite3), Memory, Server liveness.
Exit code is non-zero if any check fails — useful in CI:
```bash
omniroute doctor --json | jq '.checks[] | select(.status=="fail")'
```
## Backup & restore
```bash
omniroute backup # Snapshot config + SQLite DB to ~/.omniroute/backups/
omniroute restore # Restore from a previous snapshot (interactive picker)
```
## Autostart (system tray / startup)
```bash
omniroute autostart enable # Register OmniRoute as a system startup item
omniroute autostart disable # Remove startup registration
omniroute autostart status # Show current autostart state
```
On Linux: creates a **systemd user service** (`~/.config/systemd/user/omniroute.service`) and enables **linger** so the service can start after reboot without a graphical login; on desktop sessions it also adds an XDG autostart entry with `--tray`. On macOS: LaunchAgent plist. On Windows: registry startup entry.
## Tunnels (public URL)
Expose a local OmniRoute instance via a secure tunnel:
```bash
omniroute tunnel list # List active tunnels
omniroute tunnel create cloudflare # Start a Cloudflare Tunnel (free)
omniroute tunnel create tailscale # Start a Tailscale funnel
omniroute tunnel create ngrok # Start an ngrok tunnel
omniroute tunnel stop <id> # Stop a running tunnel
```
The tunnel URL is printed and can be used as `OMNIROUTE_BASE_URL` from remote machines.
## Config & environment
```bash
omniroute config show # Display current effective configuration
omniroute env show # List all OmniRoute environment variables
omniroute env get <KEY> # Get a single env var value
omniroute env set <KEY> <value> # Set an env var (temporary — until restart)
```
## Recovery
```bash
omniroute reset-password # Reset the admin password interactively
omniroute reset-encrypted-columns # Dry-run: show encrypted credential columns
omniroute reset-encrypted-columns --force # Null out encrypted credentials in SQLite
```
Use `reset-encrypted-columns --force` only if `STORAGE_ENCRYPTION_KEY` was lost and you need to re-enter all provider API keys.
## Logs
```bash
omniroute logs # Stream live request logs
omniroute logs --json # JSON log entries
omniroute logs --search <term> # Filter by term
omniroute logs --follow # Tail mode (keep streaming)
```
## Update
```bash
omniroute update # Check for a newer version and prompt to update
```
## Errors
- `doctor` shows `STORAGE_ENCRYPTION_KEY missing` → set the key in `.env` or run `reset-encrypted-columns --force` to wipe and re-enter credentials
- `doctor` reports native binary fail → `npm rebuild better-sqlite3` in the OmniRoute app directory
- `tunnel create cloudflare` hangs → ensure `cloudflared` is installed: `brew install cloudflare/cloudflare/cloudflared`

View File

@@ -1,120 +0,0 @@
---
name: omniroute-cli-cloud
description: Control OmniRoute cloud agents (OpenAI Codex, Devin, Jules) from the CLI — create tasks, track status, approve plans, send messages, and manage sources. Use when the user wants to automate cloud coding agent workflows via the terminal.
---
# OmniRoute — CLI Cloud Agents
Requires the `omniroute` CLI. See [CLI entry-point skill](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli/SKILL.md) for install + global flags.
## Supported agents
| Agent | ID | Auth required |
| -------------- | ------- | -------------- |
| OpenAI Codex | `codex` | OpenAI API key |
| Devin | `devin` | Devin API key |
| Jules (Google) | `jules` | Google OAuth |
## Authenticate an agent
```bash
omniroute cloud codex auth # Set / refresh Codex API key
omniroute cloud devin auth # Set / refresh Devin API key
omniroute cloud jules auth # OAuth login for Jules (opens browser)
```
## List all agents
```bash
omniroute cloud agents # Show all configured cloud agents + status
omniroute cloud agents --json
```
## Create a task
```bash
omniroute cloud codex task create \
--title "Add OAuth to the auth module" \
--prompt "Implement Google OAuth 2.0 login in src/auth/oauth.ts"
omniroute cloud codex task create \
--title "Fix test failures" \
--prompt-file ./task-description.md # Read prompt from a file
```
Same syntax for `devin` and `jules`:
```bash
omniroute cloud devin task create --title "..." --prompt "..."
omniroute cloud jules task create --title "..." --prompt "..."
```
## List tasks
```bash
omniroute cloud codex task list # All Codex tasks (table)
omniroute cloud codex task list --json # JSON output
```
## Get task details
```bash
omniroute cloud codex task get <taskId> # Full task record
omniroute cloud codex task status <taskId> # Status + progress only
```
Task status values: `running`, `completed`, `failed`, `cancelled`.
## Approve a plan
Devin and Jules may pause for plan approval before writing code:
```bash
omniroute cloud devin task approve <taskId> # Approve the proposed plan
omniroute cloud jules task approve <taskId>
```
## Send a message to a running task
```bash
omniroute cloud codex task message <taskId> "Focus on the backend only, skip the UI"
```
## List task sources (files touched)
```bash
omniroute cloud codex task sources <taskId> # Files changed / created by the task
```
## Cancel a task
```bash
omniroute cloud codex task cancel <taskId>
omniroute cloud devin task cancel <taskId>
```
## Typical workflow
```bash
# 1. Authenticate
omniroute cloud codex auth
# 2. Create a task
TASK_ID=$(omniroute cloud codex task create \
--title "Refactor auth module" \
--prompt "Extract JWT logic to src/auth/jwt.ts" \
--output json | jq -r '.id')
# 3. Poll status
omniroute cloud codex task status $TASK_ID
# 4. View touched files when complete
omniroute cloud codex task sources $TASK_ID
```
## Errors
- `auth required` → run `omniroute cloud <agent> auth` before any task commands
- `task create` fails with 402 → agent billing limit reached; check your Codex/Devin/Jules account
- `task approve` fails with 404 → task does not have a pending plan; check status first
- `jules auth` browser flow fails → ensure Google account has Jules access; try `omniroute cloud jules auth` again

View File

@@ -1,113 +0,0 @@
---
name: omniroute-cli-eval
description: Run and manage OmniRoute eval suites from the CLI — create suites, run benchmarks, watch live results, view scorecards, and compare model performance. Use when the user wants to benchmark models, validate quality regressions, or automate LLM evals in CI.
---
# OmniRoute — CLI Evals
Requires the `omniroute` CLI. See [CLI entry-point skill](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli/SKILL.md) for install + global flags.
## What are evals?
Evals are automated test suites that score LLM outputs against expected answers or rubrics. OmniRoute stores suites and run results in its local database.
## Eval suites
```bash
omniroute eval suites list # List all eval suites
omniroute eval suites list --json # JSON output
omniroute eval suites get <suiteId> # Full suite definition
```
### Create a suite
```bash
omniroute eval suites create \
--name "code-quality" \
--rubric "exact-match" \
--samples-file ./samples.jsonl # JSONL: {input, expected_output}
```
Rubric options: `exact-match`, `contains`, `llm-judge`, `regex`.
`--samples-file` format (one JSON object per line):
```jsonl
{"input": "What is 2+2?", "expected_output": "4"}
{"input": "Translate 'hello' to Spanish", "expected_output": "hola"}
```
## Run an eval
```bash
omniroute eval suites run <suiteId> \
--model claude-sonnet-4-6 # Run suite against a specific model
omniroute eval suites run <suiteId> \
--model gpt-4o \
--watch # Live TUI progress (EvalWatch)
```
The run is asynchronous. Use `--watch` for a live terminal dashboard or poll manually:
```bash
RUN_ID=$(omniroute eval suites run <suiteId> --model claude-sonnet-4-6 --output json | jq -r '.id')
omniroute eval get $RUN_ID
```
## Manage runs
```bash
omniroute eval list # List all eval runs
omniroute eval list --json
omniroute eval get <runId> # Run details (status, model, score)
omniroute eval results <runId> # Per-sample results
omniroute eval scorecard <runId> # Full scorecard with pass/fail per sample
omniroute eval cancel <runId> # Cancel a running eval
```
## Scorecard output
```bash
omniroute eval scorecard <runId> --output json
```
Response fields per sample:
```json
{
"id": "sample-1",
"score": 0.95,
"passed": true,
"input": "What is 2+2?",
"output": "4",
"expected": "4"
}
```
## Comparing models
Run the same suite against multiple models and compare:
```bash
for MODEL in claude-sonnet-4-6 gpt-4o gemini-2.0-flash; do
omniroute eval suites run $SUITE_ID --model $MODEL --output json | jq '{model: .model, score: .score}'
done
```
## CI integration
```bash
# Run and fail CI if score drops below threshold
SCORE=$(omniroute eval suites run $SUITE_ID --model claude-sonnet-4-6 --output json | jq -r '.score')
python3 -c "import sys; score=float('$SCORE'); sys.exit(0 if score >= 0.90 else 1)"
```
## Errors
- `suites create` fails with `invalid rubric` → use one of: `exact-match`, `contains`, `llm-judge`, `regex`
- `suites run` returns `model not found` → verify model ID with `omniroute models --search <name>`
- `eval get` shows `status: failed` → check `omniroute logs --search eval` for error details
- `scorecard` returns empty results → the run may still be `running`; poll `omniroute eval get <runId>` until `status` is `completed`

View File

@@ -1,145 +0,0 @@
---
name: omniroute-cli-providers
description: Manage OmniRoute provider connections, API keys, and routing combos via CLI — add/list/test/remove providers, rotate keys, run OAuth flows, list models, and create/switch combos. Use when the user wants to configure providers, manage credentials, or set up routing from the terminal.
---
# OmniRoute — CLI Providers & Keys
Requires the `omniroute` CLI. See [CLI entry-point skill](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli/SKILL.md) for install + global flags.
## Provider catalog (available providers)
```bash
omniroute providers available # Full OmniRoute provider catalog
omniroute providers available --search openai # Filter by id, name, alias
omniroute providers available --category api-key # Filter by category
omniroute providers available --json # Machine-readable JSON
```
Categories: `api-key`, `oauth`, `free`, `local`, `combo`.
## Configured provider connections
```bash
omniroute providers list # Connections in your DB
omniroute providers list --json
```
## Testing connections
```bash
omniroute providers test <id|name> # Test one configured connection
omniroute providers test-all # Test every active connection (TUI progress)
omniroute providers validate # Local-only structural validation (no HTTP)
```
`test-all` opens an interactive TUI that shows live pass/fail per connection. Use `--json` to get a machine-readable result:
```bash
omniroute providers test-all --json
```
## API key management (OmniRoute keys)
These manage the OmniRoute API keys issued under **API Manager** — not provider credentials.
```bash
omniroute keys list # List all OmniRoute API keys
omniroute keys add <provider> [apiKey] # Add an API key for a provider
omniroute keys remove <provider> # Remove an API key
omniroute keys regenerate <id> # Regenerate (rotate) a key
omniroute keys revoke <id> # Revoke a key (disables it)
omniroute keys reveal <id> # Show the full key value
omniroute keys usage <id> # Show usage stats for a key
omniroute keys rotate <id> # Rotate + revoke old key atomically
omniroute keys expiration list # List key expiration times
```
### Key policies
```bash
omniroute keys policy show <id> # Show rate-limit / permission policy
omniroute keys policy set <id> \
--rate-limit 100 \
--rate-window minute \
--permissions chat,models # Set policy on a key
```
## Models
```bash
omniroute models # List all models (all providers)
omniroute models openai # Filter by provider
omniroute models --search gpt # Search by name
omniroute models --json # JSON output
```
## OAuth providers
```bash
omniroute oauth list # List OAuth-configured providers
omniroute oauth login <provider> # Start browser-based OAuth flow
omniroute oauth logout <provider> # Revoke OAuth token
omniroute oauth status <provider> # Show token state + expiry
omniroute oauth refresh <provider> # Force token refresh
```
For OAuth providers (Gemini, Windsurf, Antigravity, etc.) the `login` command opens the OmniRoute dashboard OAuth flow in your browser.
## Provider nodes (multi-account routing)
Provider nodes let you attach multiple API keys / accounts to one logical provider for round-robin or failover.
```bash
omniroute nodes list <provider> # List nodes for a provider
omniroute nodes add <provider> --api-key <key> # Add a node
omniroute nodes remove <provider> <nodeId> # Remove a node
omniroute nodes test <provider> <nodeId> # Test one node
```
## Routing combos (CLI)
Create and manage routing combos from the terminal:
```bash
omniroute combo list # List all combos
omniroute combo create <name> \
--strategy priority \
--targets anthropic/claude-opus-4-7,openai/gpt-4o # Create combo
omniroute combo switch <name> # Activate a combo as default
omniroute combo delete <name> # Delete a combo
omniroute combo suggest --task "code review" # Ask OmniRoute to recommend a combo
```
For the full REST API for combos see [omniroute-routing skill](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-routing/SKILL.md).
## Quota & usage
```bash
omniroute quota # Provider quota usage + reset times
omniroute usage # Request + token usage summary
omniroute cost # Cost breakdown (by provider/model)
```
## Compression (CLI)
```bash
omniroute compression status # Current compression mode + savings stats
omniroute compression set --mode rtk # Enable RTK compression
omniroute compression set --mode stacked # Enable stacked (RTK + Caveman)
omniroute compression set --mode off # Disable compression
omniroute compression preview --mode rtk --text "..." # Preview savings for sample text
```
## Health
```bash
omniroute health # Detailed health: circuit breakers, cache, memory
```
## Errors
- `providers test <id>` fails with 401 → API key stored for that provider is wrong; use `keys remove` + `keys add` to reset it
- `oauth login` opens but doesn't complete → the OAuth token endpoint may be firewalled; use API key auth instead
- `combo create` fails with `strategy unknown` → use one of: `priority`, `weighted`, `round-robin`, `fill-first`, `least-used`, `cost-optimized`, `auto`, `random`, `strict-random`, `p2c`, `reset-aware`, `lkgp`, `context-optimized`, `context-relay`

View File

@@ -1,104 +0,0 @@
---
name: omniroute-cli
description: Entry point for the OmniRoute CLI (omniroute binary) — install, global flags, output formats, environment variables, and index of CLI capability skills. Use when the user wants to control OmniRoute from the terminal, automate workflows, or integrate with CI/CD.
---
# OmniRoute — CLI (Entry Point)
The `omniroute` binary ships with the OmniRoute server. It is both the server launcher and a full management CLI with 250+ commands across 39 groups.
## Install
```bash
npm install -g omniroute # npm registry
# or: use the binary bundled with the desktop app
```
Requires Node.js ≥20.20.2, ≥22.22.2, or ≥24.
Verify:
```bash
omniroute --version # prints installed version
omniroute --help # full command tree
```
## Connection
Every CLI command that talks to the server reads two values:
| Source | Variable / Flag |
| -------- | ------------------------------------ |
| Base URL | `OMNIROUTE_BASE_URL` or `--base-url` |
| API key | `OMNIROUTE_API_KEY` or `--api-key` |
Default base URL: `http://localhost:20128`
```bash
export OMNIROUTE_BASE_URL="http://localhost:20128"
export OMNIROUTE_API_KEY="sk-..." # from Dashboard → API Manager
```
For a remote server:
```bash
export OMNIROUTE_BASE_URL="https://your-server.com"
```
## Global flags
| Flag | Description |
| ------------------- | -------------------------------------------------------- |
| `--base-url <url>` | Override server URL for this invocation |
| `--api-key <key>` | Override API key for this invocation |
| `--output <format>` | Output format: `table` (default), `json`, `jsonl`, `csv` |
| `--json` | Shorthand for `--output json` |
| `--non-interactive` | Disable prompts — for CI / shell scripts |
| `--no-open` | Don't auto-open the browser on start |
| `--port <n>` | Override default port 20128 |
| `--help`, `-h` | Show help for the current command |
| `--version`, `-v` | Print the installed version |
## Output formats
All listing commands support `--output`:
```bash
omniroute combo list # human-readable table
omniroute combo list --output json # JSON array
omniroute combo list --output jsonl # one JSON object per line
omniroute combo list --output csv # CSV with header row
```
## Quick start: one-shot server + provider setup
```bash
# 1. Start server
omniroute
# 2. (First run) interactive setup wizard
omniroute setup
# 3. Verify everything is healthy
omniroute doctor
```
## CLI capability skills
| Capability | Skill |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------- |
| Server admin + backup | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli-admin/SKILL.md |
| Provider & key management | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli-providers/SKILL.md |
| Cloud agents (Codex / Devin / Jules) | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli-cloud/SKILL.md |
| Evals & benchmarking | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli-eval/SKILL.md |
## API skills (REST)
For direct HTTP usage instead of the CLI, see the [OmniRoute entry-point skill](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md).
## Errors
- `Connection refused` → server not running; run `omniroute` or `omniroute serve`
- `401 Unauthorized` → wrong or missing API key
- `command not found: omniroute` → not in PATH; check `npm root -g` or re-install
- `doctor` reports SQLite incompatible → `npm rebuild better-sqlite3` in the app directory

View File

@@ -1,131 +0,0 @@
---
name: omniroute-compression
description: Configure OmniRoute token compression to save 6090% of context tokens. Covers RTK (command/tool output), Caveman (prose), stacked mode (both), and the MCP accessibility-tree filter (browser snapshots). Use when the user wants to reduce costs, fit long sessions into context windows, or speed up AI responses.
---
# OmniRoute — Compression
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
## Overview
OmniRoute compresses token payloads before forwarding to providers. No code changes required — set it once, it applies to all requests transparently.
| Engine | Best for | Typical savings |
| ------------------------- | ------------------------------------ | --------------- |
| RTK | Terminal / build / test / git output | 6090% |
| Caveman | Human prose, chat history | 46% input |
| Stacked (`rtk → caveman`) | Mixed coding sessions | 7895% |
| MCP accessibility filter | Browser/accessibility tool results | 6080% |
## Get current settings
```bash
curl $OMNIROUTE_URL/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_KEY"
```
## Enable RTK (best for coding agents)
```bash
curl -X PUT $OMNIROUTE_URL/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{ "mode": "rtk", "enabled": true }'
```
## Enable stacked mode (maximum savings)
```bash
curl -X PUT $OMNIROUTE_URL/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "stacked",
"enabled": true,
"stackedPipeline": ["rtk", "caveman"]
}'
```
## Enable Caveman (prose / chat)
```bash
curl -X PUT $OMNIROUTE_URL/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{ "mode": "standard", "enabled": true }'
```
Caveman intensities: `lite` (safe), `standard` (balanced), `aggressive` (long sessions), `ultra` (context recovery).
## Preview compression before enabling
```bash
curl -X POST $OMNIROUTE_URL/api/compression/preview \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "rtk",
"text": "$ npm test\n> jest\n\nPASS src/a.test.ts (2.1s)\nPASS src/b.test.ts (1.8s)\n..."
}'
```
Response includes `compressed`, `original_length`, `compressed_length`, `savings_pct`.
## MCP accessibility-tree filter (browser agent use)
When OmniRoute is used with browser/Playwright MCP tools, it automatically compresses verbose accessibility-tree tool results. Enabled by default; configure thresholds:
```bash
curl -X PUT $OMNIROUTE_URL/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"mcpAccessibility": {
"enabled": true,
"collapseThreshold": 30,
"maxTextChars": 50000
}
}'
```
`collapseThreshold`: collapse sibling lines when ≥ N repeats (default 30).
`maxTextChars`: hard truncate after N chars with navigation hint (default 50000).
## Language packs (Caveman)
Caveman supports language-aware rules for pt-BR, es, de, fr, ja:
```bash
curl -X PUT $OMNIROUTE_URL/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "standard",
"cavemanConfig": {
"language": "pt-BR",
"autoDetectLanguage": true
}
}'
```
## Via MCP
```
omniroute_compression_status → current settings + savings analytics
omniroute_compression_configure → update mode/threshold/language
omniroute_set_compression_engine → switch engine at runtime
```
## Disable compression
```bash
curl -X PUT $OMNIROUTE_URL/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-d '{ "enabled": false }'
```
## Errors
- `400 invalid mode` → use `off`, `lite`, `standard`, `aggressive`, `ultra`, `rtk`, or `stacked`
- `400 invalid stackedPipeline` → array must contain valid engine ids (`rtk`, `caveman`)

View File

@@ -1,45 +0,0 @@
---
name: omniroute-embeddings
description: Embeddings via OmniRoute using OpenAI /v1/embeddings format with auto-fallback across text-embedding-3-large, Voyage, Cohere, Gemini embeddings, Jina. Use when the user needs vector embeddings for RAG, similarity search, or clustering.
---
# OmniRoute — Embeddings
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
## Endpoint
- `POST $OMNIROUTE_URL/v1/embeddings`
## Discover
```bash
curl $OMNIROUTE_URL/v1/models/embedding | jq '.data[]'
```
Each entry: `{ id, owned_by, dimensions, max_input_tokens }`.
## Example
```bash
curl -X POST $OMNIROUTE_URL/v1/embeddings \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-large",
"input": ["first text", "second text"],
"encoding_format": "float"
}'
```
Response: `{ data:[{ embedding:[...], index }], usage:{ prompt_tokens, total_tokens } }`
## Batch input
`input` accepts a string or array of strings (up to provider batch limit, typically 2048 items).
## Errors
- `400 input_too_long` → input exceeds `max_input_tokens` for this model
- `400 invalid_encoding_format` → use `float` or `base64`
- `503` → provider unavailable; try another model in `/v1/models/embedding`

View File

@@ -1,45 +0,0 @@
---
name: omniroute-image
description: Image generation via OmniRoute using OpenAI /v1/images/generations format with auto-fallback across DALL-E, Stable Diffusion, Flux, Imagen providers. Use when the user wants to generate, edit, or vary images.
---
# OmniRoute — Image Generation
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
## Endpoints
- `POST $OMNIROUTE_URL/v1/images/generations` — Text-to-image
- `POST $OMNIROUTE_URL/v1/images/edits` — Image edit (mask)
- `POST $OMNIROUTE_URL/v1/images/variations` — Variations
## Discover
```bash
curl $OMNIROUTE_URL/v1/models/image | jq '.data[]'
```
Returns `{ id, owned_by, sizes:[...], capabilities:[...] }` per model.
## Generate example
```bash
curl -X POST $OMNIROUTE_URL/v1/images/generations \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "dall-e-3",
"prompt": "a red bicycle on a wet street, photoreal",
"n": 1,
"size": "1024x1024",
"response_format": "b64_json"
}'
```
Response: `{ created, data: [{ url? or b64_json, revised_prompt }] }`
## Errors
- `400 invalid_size` → not supported by this model; check `/v1/models/image`
- `400 content_policy_violation` → blocked by provider safety
- `503` → provider unavailable; try another model in `/v1/models/image`

View File

@@ -1,71 +0,0 @@
---
name: omniroute-mcp
description: OmniRoute exposes a built-in MCP (Model Context Protocol) server with 37 tools (chat, embeddings, memory CRUD, skills, providers, routing, audit) over SSE/stdio/HTTP transports. Use when the user wants to add OmniRoute as an MCP server in Claude Desktop, Cursor, Cline, or any MCP-compatible client.
---
# OmniRoute — MCP Server
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
## Transports
- **stdio** — local IPC, for Claude Desktop / VS Code extensions
- **SSE** — `GET $OMNIROUTE_URL/api/mcp/sse`
- **Streamable HTTP** — `POST $OMNIROUTE_URL/api/mcp/stream`
## Claude Desktop config
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"omniroute": {
"command": "npx",
"args": ["-y", "omniroute", "--mcp"],
"env": { "OMNIROUTE_KEY": "sk-..." }
}
}
}
```
## Cursor / VS Code config
```json
{
"mcp": {
"servers": {
"omniroute": {
"url": "http://localhost:20128/api/mcp/sse",
"headers": { "Authorization": "Bearer sk-..." }
}
}
}
}
```
## Available tools (37 total)
| Scope | Tools |
| --------- | -------------------------------------------------------------------------------------------------- |
| health | `omniroute_get_health` |
| combos | `omniroute_list_combos`, `omniroute_get_combo_metrics`, `omniroute_switch_combo` |
| routing | `omniroute_simulate_route`, `omniroute_best_combo_for_task`, `omniroute_explain_route` |
| providers | `omniroute_get_provider_metrics`, `omniroute_check_quota`, `omniroute_route_request` |
| budget | `omniroute_set_budget_guard`, `omniroute_set_routing_strategy`, `omniroute_set_resilience_profile` |
| testing | `omniroute_test_combo` |
| memory | `memory_add`, `memory_search`, `memory_delete` |
| skills | `skill_invoke`, `skill_list`, `skill_describe`, `skill_register` |
| cache | `omniroute_cache_stats`, `omniroute_cache_flush` |
| admin | `omniroute_db_health_check`, `omniroute_sync_pricing`, `omniroute_get_session_snapshot` |
Full list: `GET $OMNIROUTE_URL/api/mcp/tools`
## Scopes
Tools are grouped into 13 scopes (chat-only, memory-readonly, full-admin, etc.).
Pass scope name as `--scope` arg or via `X-Omniroute-Scope` header.
## Reference
Full docs: https://github.com/diegosouzapw/OmniRoute/blob/main/docs/frameworks/MCP-SERVER.md

View File

@@ -1,114 +0,0 @@
---
name: omniroute-monitoring
description: Monitor OmniRoute system health, provider circuit breakers, per-provider latency (p50/p95/p99), quota usage, and set budget guards. Use when the user wants to check if the system is healthy, debug slow providers, manage spend limits, or set up oncall-style monitoring.
---
# OmniRoute — Monitoring & Health
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
## System health
```bash
curl $OMNIROUTE_URL/api/health \
-H "Authorization: Bearer $OMNIROUTE_KEY"
```
Returns: uptime, memory, active connections, circuit breaker states, rate limit status, cache stats.
Unauthenticated quick check:
```bash
curl $OMNIROUTE_URL/api/health
# → {"ok":true}
```
## Provider circuit breakers
Circuit breakers prevent traffic from hitting failing providers.
States: `CLOSED` (normal), `OPEN` (blocked), `HALF_OPEN` (probe mode — auto-recovers).
```bash
curl $OMNIROUTE_URL/api/monitoring/health \
-H "Authorization: Bearer $OMNIROUTE_KEY"
```
Response includes `circuitBreakers` array with per-provider state and `resetAt` timestamp.
## Per-provider metrics (p50/p95/p99)
```bash
curl $OMNIROUTE_URL/api/providers/metrics \
-H "Authorization: Bearer $OMNIROUTE_KEY"
```
Response shape per provider:
```json
{
"provider": "anthropic",
"requests": 1247,
"successRate": 0.994,
"latency": { "p50": 820, "p95": 2100, "p99": 3800 },
"circuitState": "CLOSED",
"tokensUsed": 2847000
}
```
## Via MCP (if OmniRoute is your MCP server)
```
omniroute_get_health → full system health snapshot
omniroute_get_provider_metrics → p50/p95/p99 + circuit state per provider
omniroute_get_session_snapshot → cost, tokens, errors for current session
omniroute_check_quota → quota balance + percent remaining + reset time
omniroute_db_health_check → diagnose + auto-repair database drift
```
## Quota check
```bash
curl $OMNIROUTE_URL/api/quota \
-H "Authorization: Bearer $OMNIROUTE_KEY"
```
Returns used/total tokens and requests per provider/account, with `resetAt` timestamps.
## Budget guard (spend limit)
Set a session spending limit that degrades or blocks requests when hit:
```bash
curl -X POST $OMNIROUTE_URL/api/budget/guard \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"limitUsd": 5.00,
"action": "degrade",
"degradeTo": "openai/gpt-4o-mini"
}'
```
`action` options:
- `degrade` — switch to a cheaper model when limit is hit
- `block` — return 429 when limit is hit
- `alert` — continue but add `X-Budget-Warning` header
## MCP audit log
OmniRoute logs every MCP tool call to `mcp_audit` table. Query via API:
```bash
curl "$OMNIROUTE_URL/api/mcp/status" \
-H "Authorization: Bearer $OMNIROUTE_KEY"
```
Returns: server status, heartbeat, recent audit activity summary.
## Errors
- `503` on health endpoint → OmniRoute is starting up; retry in 5s
- Circuit breaker `OPEN` → provider is temporarily blocked; check `resetAt` to know when it auto-recovers
- `429 budget_exceeded` → budget guard limit reached; raise limit or wait for reset

View File

@@ -1,129 +0,0 @@
---
name: omniroute-routing
description: Create and configure OmniRoute routing combos, choose from 14 strategies (priority, weighted, auto, round-robin, cost-optimized, etc.), activate Auto-combo 9-factor scoring, and set up fallback chains. Use when the user wants to configure multi-provider routing, load balancing, or cost-optimized model selection.
---
# 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 $OMNIROUTE_URL/api/routing/simulate \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{ "comboId": "{id}", "messages": [{ "role": "user", "content": "test" }] }'
```
Returns which provider would be selected and why — no actual API call is made.
## Via MCP (if OmniRoute is your MCP server)
```
omniroute_list_combos → list all combos
omniroute_switch_combo → enable/disable a combo
omniroute_set_routing_strategy → change strategy at runtime
omniroute_simulate_route → dry-run routing decision
omniroute_best_combo_for_task → get recommendation by task type
```
## Errors
- `404 combo not found` → check `id` from `/api/combos`
- `400 invalid strategy` → use one of the 14 strategies above
- `409 name conflict` → combo name already exists

View File

@@ -1,42 +0,0 @@
---
name: omniroute-stt
description: Speech-to-text via OmniRoute using OpenAI /v1/audio/transcriptions format with auto-fallback across Whisper, AssemblyAI, Deepgram, Azure STT. Use when the user wants transcription of audio files or real-time speech recognition.
---
# OmniRoute — Speech-to-Text
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
## Endpoints
- `POST $OMNIROUTE_URL/v1/audio/transcriptions` — multipart upload, returns text
- `POST $OMNIROUTE_URL/v1/audio/translations` — transcribe + translate to English
## Discover
```bash
curl $OMNIROUTE_URL/v1/models/stt | jq '.data[]'
```
## Example
```bash
curl -X POST $OMNIROUTE_URL/v1/audio/transcriptions \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-F "file=@audio.mp3" \
-F "model=whisper-1" \
-F "response_format=verbose_json"
```
Response: `{ text, language, duration, segments?:[{ start, end, text }] }`
## Supported formats
Audio: `mp3`, `mp4`, `mpeg`, `mpga`, `m4a`, `wav`, `webm`.
Response formats: `json`, `text`, `srt`, `verbose_json`, `vtt`.
## Errors
- `400 invalid_file_format` → unsupported audio format
- `400 file_too_large` → exceeds provider limit (usually 25MB)
- `503` → provider unavailable; try another model in `/v1/models/stt`

View File

@@ -1,45 +0,0 @@
---
name: omniroute-tts
description: Text-to-speech via OmniRoute using OpenAI /v1/audio/speech format with auto-fallback across OpenAI TTS, ElevenLabs, Azure Neural, Google Cloud TTS. Use when the user wants spoken audio output from text.
---
# OmniRoute — Text-to-Speech
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
## Endpoint
- `POST $OMNIROUTE_URL/v1/audio/speech` — returns binary audio (mp3/opus/wav/flac)
## Discover
```bash
curl $OMNIROUTE_URL/v1/models/tts | jq '.data[]'
```
Each entry includes `voices:[...]` for the available voice names per provider.
## Example
```bash
curl -X POST $OMNIROUTE_URL/v1/audio/speech \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "Hello from OmniRoute.",
"voice": "alloy",
"response_format": "mp3"
}' --output speech.mp3
```
## Voices
Voice names vary by provider. Check `/v1/models/tts` — each entry has `voices:[...]`.
Common OpenAI voices: `alloy`, `echo`, `fable`, `onyx`, `nova`, `shimmer`.
## Errors
- `400 invalid_voice` → voice not supported by this model
- `400 input_too_long` → input exceeds model character limit
- `503` → provider unavailable; try another model in `/v1/models/tts`

View File

@@ -1,47 +0,0 @@
---
name: omniroute-web-fetch
description: Fetch a URL and convert to clean markdown via OmniRoute proxying Jina Reader, Firecrawl, raw HTML strip. Use when the user wants to ingest a webpage as markdown for context in an LLM conversation.
---
# OmniRoute — Web Fetch
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
## Endpoint
- `POST $OMNIROUTE_URL/v1/web/fetch`
## Discover
```bash
curl $OMNIROUTE_URL/v1/models/web | jq '.data[] | select(.kind == "webFetch")'
```
## Example
```bash
curl -X POST $OMNIROUTE_URL/v1/web/fetch \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jina/reader",
"url": "https://anthropic.com",
"format": "markdown"
}'
```
Response: `{ url, title, markdown, links?:[...], images?:[...] }`
## Parameters
| Field | Type | Description |
| -------- | ------ | ----------------------------------------------------------------------- |
| `model` | string | Provider from `/v1/models/web` (e.g. `jina/reader`, `firecrawl/scrape`) |
| `url` | string | URL to fetch |
| `format` | string | `markdown` (default), `html`, `text` |
## Errors
- `400 invalid_url` → URL must be http/https
- `403 blocked` → provider blocked by target site; try a different model
- `503` → provider unavailable; try another model in `/v1/models/web`

View File

@@ -1,49 +0,0 @@
---
name: omniroute-web-search
description: Web search via OmniRoute proxying Tavily, Brave Search, SerpAPI, Exa with auto-fallback. Use when the user wants live web search results, current news, or facts that may be beyond the LLM training cutoff.
---
# OmniRoute — Web Search
Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute/SKILL.md) for setup.
## Endpoint
- `POST $OMNIROUTE_URL/v1/web/search` — unified search format
## Discover
```bash
curl $OMNIROUTE_URL/v1/models/web | jq '.data[] | select(.kind == "webSearch")'
```
## Example
```bash
curl -X POST $OMNIROUTE_URL/v1/web/search \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tavily/search",
"query": "OmniRoute github latest release",
"max_results": 5,
"include_answer": true
}'
```
Response: `{ answer?, results:[{ url, title, content, score }] }`
## Parameters
| Field | Type | Description |
| ---------------- | ------- | ------------------------------------ |
| `model` | string | Provider model from `/v1/models/web` |
| `query` | string | Search query |
| `max_results` | number | Max results (default: 5) |
| `include_answer` | boolean | Include AI-synthesized answer |
| `search_depth` | string | `basic` or `advanced` (Tavily) |
## Errors
- `400 query_too_long` → shorten the search query
- `503` → provider unavailable; try another model in `/v1/models/web`

View File

@@ -1,76 +0,0 @@
---
name: omniroute
description: Entry point for OmniRoute — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, STT, embeddings, web search, web fetch, MCP, A2A. Use when the user mentions OmniRoute, OMNIROUTE_URL, or wants AI without writing provider boilerplate. This skill covers setup + indexes capability skills; fetch the relevant capability SKILL.md from the URLs below when needed.
---
# OmniRoute
Local/remote AI gateway exposing OpenAI-compatible REST. One key, 207+ providers,
auto-fallback, RTK token saver, MCP server, A2A agents.
## Setup
```bash
export OMNIROUTE_URL="http://localhost:20128" # or VPS / tunnel URL
export OMNIROUTE_KEY="sk-..." # from Dashboard → API Keys
```
All requests: `${OMNIROUTE_URL}/v1/...` with `Authorization: Bearer ${OMNIROUTE_KEY}`.
Verify: `curl $OMNIROUTE_URL/api/health``{"ok":true}`
## Discover models
```bash
curl $OMNIROUTE_URL/v1/models # chat/LLM (default)
curl $OMNIROUTE_URL/v1/models/image # image-gen
curl $OMNIROUTE_URL/v1/models/tts # text-to-speech
curl $OMNIROUTE_URL/v1/models/embedding # embeddings
curl $OMNIROUTE_URL/v1/models/web # web search + fetch
curl $OMNIROUTE_URL/v1/models/stt # speech-to-text
```
Use `data[].id` as `model` field in requests. Combos appear with `owned_by:"combo"`.
## Capability skills
| Capability | Raw URL |
| --------------------- | --------------------------------------------------------------------------------------------------- |
| Chat / code-gen | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-chat/SKILL.md |
| Image generation | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-image/SKILL.md |
| Text-to-speech | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-tts/SKILL.md |
| Speech-to-text | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-stt/SKILL.md |
| Embeddings | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-embeddings/SKILL.md |
| Web search | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-web-search/SKILL.md |
| Web fetch | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-web-fetch/SKILL.md |
| MCP server (37 tools) | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-mcp/SKILL.md |
| A2A protocol | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-a2a/SKILL.md |
| Routing & combos | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-routing/SKILL.md |
| Token compression | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-compression/SKILL.md |
| Monitoring & health | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-monitoring/SKILL.md |
## CLI skills (omniroute binary)
| Capability | Raw URL |
| ---------------------- | ----------------------------------------------------------------------------------------------------- |
| CLI entry point | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli/SKILL.md |
| CLI admin & lifecycle | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli-admin/SKILL.md |
| CLI providers & keys | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli-providers/SKILL.md |
| CLI cloud agents | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli-cloud/SKILL.md |
| CLI evals & benchmarks | https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omniroute-cli-eval/SKILL.md |
## Errors
- `401` → set/refresh `OMNIROUTE_KEY` (Dashboard → API Keys)
- `400 Invalid model format` → check `model` exists in `/v1/models/<kind>`
- `503 Provider circuit open` → upstream provider down; retry after `Retry-After` seconds
- `429` → rate limited; honor `Retry-After`
## Differentiators vs OpenAI direct
- **Auto-fallback** combos (14 strategies): never stop coding even if a provider rate-limits
- **RTK token saver**: tool_result compressed via 47 specialized filters (git-diff, test-jest, terraform-plan, docker-logs…) — 20-40% token reduction
- **Caveman mode**: optional terse system prompt injection (LITE/FULL/ULTRA) — 15-25% completion reduction
- **MCP + A2A** servers built-in (this is the only AI router that exposes both protocols)
- **Memory** with FTS5 + Qdrant for persistent agent context
- **Guardrails** for PII masking, prompt injection detection, vision policies