docs/guides/FEATURES.md
๐ Main README translations: ๐บ๐ธ English | ๐ง๐ท Portuguรชs (Brasil) | ๐ช๐ธ Espaรฑol | ๐ซ๐ท Franรงais | ๐ฎ๐น Italiano | ๐ท๐บ ะ ัััะบะธะน | ๐จ๐ณ ไธญๆ (็ฎไฝ) | ๐ฉ๐ช Deutsch | ๐ฎ๐ณ เคนเคฟเคจเฅเคฆเฅ | ๐น๐ญ เนเธเธข | ๐บ๐ฆ ะฃะบัะฐัะฝััะบะฐ | ๐ธ๐ฆ ุงูุนุฑุจูุฉ | ๐ฏ๐ต ๆฅๆฌ่ช | ๐ป๐ณ Tiแบฟng Viแปt | ๐ง๐ฌ ะัะปะณะฐััะบะธ | ๐ฉ๐ฐ Dansk | ๐ซ๐ฎ Suomi | ๐ฎ๐ฑ ืขืืจืืช | ๐ญ๐บ Magyar | ๐ฎ๐ฉ Bahasa Indonesia | ๐ฐ๐ท ํ๊ตญ์ด | ๐ฒ๐พ Bahasa Melayu | ๐ณ๐ฑ Nederlands | ๐ณ๐ด Norsk | ๐ต๐น Portuguรชs (Portugal) | ๐ท๐ด Romรขnฤ | ๐ต๐ฑ Polski | ๐ธ๐ฐ Slovenฤina | ๐ธ๐ช Svenska | ๐ต๐ญ Filipino | ๐จ๐ฟ ฤeลกtina
Visual guide to every section of the OmniRoute dashboard.
๐ Last updated: 2026-06-28 โ v3.8.40
The v3.7.x โ v3.8.0 cycle added zero-config auto routing, new providers, OAuth flows, deeper resilience, and a much richer CLI experience. Headline features below โ full details further in the document and in linked specs.
auto/coding, auto/fast, auto/cheap, auto/offline, auto/smart, auto/lkgp. Backed by a 13-factor scoring engine and 4 curated mode packs (ship-fast, cost-saver, quality-first, offline-friendly)devin auth login credentialskiro-cli SQLite store, no browser requiredfallbackDelayMs and dynamic tool limit detection โ finer fallback timing + per-provider tool-count limitsuseUpstream429BreakerHints toggle โ finer breaker behavior using upstream rate-limit hintsomniroute providers, omniroute combos, omniroute doctor, omniroute setupmanage scope โ perform admin operations programmatically via API(provider, model, connection) steps๐ Related docs: Skills Framework ยท Memory System ยท Cloud Agents ยท Webhooks ยท Reasoning Replay Cache
Manage AI provider connections: OAuth providers (Claude Code, Codex), API key providers (Groq, DeepSeek, OpenRouter), and free providers (Qoder, Kiro). Kiro accounts include credit balance tracking โ remaining credits, total allowance, and renewal date visible in Dashboard โ Usage.
OpenRouter connections can store a per-connection preset in Advanced Settings. When set, OmniRoute sends it as the OpenRouter top-level request field, for example "preset": "email-copywriter", unless the client request already supplied its own preset.
Create model routing combos with 19 public strategies: priority, weighted, round-robin, context-relay, fill-first, p2c (power-of-two choices), random, least-used, cost-optimized, reset-aware, reset-window, headroom, strict-random, auto, lkgp (last-known-good-provider), context-optimized, cache-optimized, fusion (fan out to a panel of models in parallel, then synthesize one answer via a judge), and pipeline. Each combo chains multiple models with automatic fallback and includes quick templates and readiness checks.
Recent combo improvements:
(provider, model, connection) tuple is uniquedefaultTier -> fallbackTier now influences runtime execution/fallback order for top-level combo stepssystem_message supports server-side
{{MODEL_ID}}, {{PROVIDER_ID}}, {{ACCOUNT}} and {{FINGERPRINT}}
placeholders, expanded from the actually-routed target right before dispatch.
Allowlisted and non-recursive; unknown placeholders stay literal; empty values
expand to empty; client system prompts are never rewritten. {{FINGERPRINT}}
resolves only for fingerprint-based free providers with a pinned or
auto-rotated fingerprint โ it expands to empty elsewhere (e.g.
single-fingerprint connections, non-fp providers). Expansion covers the
standard dispatch loop, round-robin, and pinned context-cache sessions;
fusion, chaos, pipeline and nested-execute strategies do not expand
placeholders yet.Comprehensive usage analytics with token consumption, cost estimates, activity heatmaps, weekly distribution charts, and per-provider breakdowns.
Real-time monitoring: uptime, memory, version, latency percentiles (p50/p95/p99), cache statistics, provider circuit breaker states, active quota-monitored sessions, and combo target health.
Four modes for debugging API translations: Playground (format converter), Chat Tester (live requests), Test Bench (batch tests), and Live Monitor (real-time stream).
Test any model directly from the dashboard. Select provider, model, and endpoint, write prompts with Monaco Editor, stream responses in real-time, abort mid-stream, and view timing metrics.
Customizable color themes for the entire dashboard. Choose from 7 preset colors (Coral, Blue, Red, Green, Violet, Orange, Cyan) or create a custom theme by picking any hex color. Supports light, dark, and system mode.
Comprehensive settings panel with 7 tabs:
auto/coding, auto/fast, auto/cheap, auto/smart), reasoning replay cache, and skill/memory togglesfallbackDelayMs, per-session sticky routinguseUpstream429BreakerHints toggle, model cooldownsOne-click configuration for AI coding tools: Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline, Continue, Cursor, and Factory Droid. Features automated config apply/reset, connection profiles, and model mapping.
Dashboard for discovering and managing CLI agents. Shows a grid of 16 built-in agents (Codex, Claude, Goose, OpenClaw, Aider, OpenCode, Cline, ForgeCode, Amazon Q, Open Interpreter, Cursor CLI, Warp, Windsurf, Devin CLI, Kimi Coding, Command Code) with:
devin auth login; no browser OAuth flow is requiredA combo strategy that preserves session continuity when account rotation happens mid-conversation. Before the active account is exhausted, OmniRoute generates a structured handoff summary in the background. After the next request resolves to a different account, the summary is injected as a system message so the new account continues with full context.
Configurable via combo-level or global settings:
Currently supports Codex account rotation. See Context Relay documentation.
Context & Cache now exposes dedicated pages for Caveman, RTK, and Compression Combos:
rtk -> caveman assigned to routing combos; the default stacked math reaches ~89% average and 78-95% eligible-context savings when both engines applySee Compression Guide, RTK Compression, and Compression Engines.
Comprehensive proxy configuration enforcement across the entire request pipeline:
POST /api/providers/validate) routes through runWithProxyContext, honoring provider-level and global proxy settingsinvalid onRequestStart method errors on Node.js 22OAuth account emails are masked by default (e.g. di*****@g****.com) to prevent accidental exposure when sharing screenshots or recording demos. Use Settings โ Appearance โ Account email visibility to reveal or mask full account emails globally across providers, combos, logs, quota, and playground screens.
The provider page model list now includes:
/v1/models catalogN/M active) โ Shows at a glance how many models are enabled vs totalOne-click "Repair env" action for OAuth providers that restores missing environment variables and fixes broken auth state. Accessible from Dashboard โ Providers โ [OAuth Provider] โ Repair env. Automatically detects and repairs:
Clean removal scripts for all installation methods:
| Command | Action |
|---|---|
npm run uninstall | Removes the system app but keeps your DB and configurations in ~/.omniroute. |
npm run uninstall:full | Removes the app AND permanently erases all configurations, keys, and databases. |
Generate images, videos, and music from the dashboard. Supports OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI, AnimateDiff, Stable Audio Open, and MusicGen.
Real-time request logging with filtering by provider, model, account, and API key. Shows status codes, token usage, latency, and response details.
Your unified API endpoint with capability breakdown: Chat Completions, Responses API, Embeddings, Image Generation, Reranking, Audio Transcription, Text-to-Speech, Moderations, and registered API keys. Cloudflare Quick Tunnel, Tailscale Funnel, ngrok Tunnel, and cloud proxy support are available for remote access.
Create, scope, and revoke API keys. Each key can be restricted to specific models/providers with full access or read-only permissions. Visual key management with usage tracking.
Administrative action tracking with filtering by action type, actor, target, IP address, and timestamp. Full security event history.
Native Electron desktop app for Windows, macOS, and Linux. Run OmniRoute as a standalone application with system tray integration, offline support, auto-update, and one-click install.
Key features:
node_modules in the standalone bundle is detected and rejected before packaging, preventing runtime dependency on the build machine (v2.5.5+)before-quit shuts down Next.js cleanly, preventing SQLite WAL database locks (v3.6.2+)๐ See electron/README.md for full documentation.
OmniRoute now supports OpenAI-compatible WebSocket clients via the /v1/ws upgrade endpoint. The custom scripts/dev/v1-ws-bridge.mjs server wraps Next.js and upgrades WS connections to full bidirectional streaming sessions. Authentication uses the same API key or session cookie as HTTP requests.
Key behaviours:
src/lib/ws/handshake.ts before the connection is establishedMulti-device and external operator access is now possible via scoped sync tokens:
POST /api/sync/tokens โ Issue a new sync token (scoped, with optional expiry)DELETE /api/sync/tokens/:id โ Revoke a tokenGET /api/sync/bundle โ Download a versioned, ETag-keyed JSON snapshot of all non-sensitive settings (passwords redacted)The config bundle is built by src/lib/sync/bundle.ts. Consumers compare the ETag response header to detect changes without re-downloading the full payload.
GLM Thinking (glmt) is now a registered first-class provider: 65 536 max output tokens, 24 576 thinking budget, 900 s default timeout, Claude-compatible API format, and shared usage sync with the GLM family.
Hybrid token counting also lands in v3.6.6: when a Claude-compatible provider exposes /messages/count_tokens, OmniRoute calls it before large requests with graceful estimation fallback.
All provider validation and model discovery calls now go through a two-layer outbound guard:
src/shared/network/outboundUrlGuard.ts) โ Blocks private/loopback/link-local IP ranges before the socket is opened.src/shared/network/safeOutboundFetch.ts) โ Applies the URL guard, normalises timeouts, and retries transient errors with exponential backoff.Guard violations surface as HTTP 422 (URL_GUARD_BLOCKED) and are written to the compliance audit log via providerAudit.ts.
Chat requests now automatically retry when an upstream provider returns a model-scoped cooldown. Configurable via REQUEST_RETRY (default: 2) and MAX_RETRY_INTERVAL_SEC (default: 30 s). Rate-limit header learning improved across x-ratelimit-reset-requests, x-ratelimit-reset-tokens, and Retry-After โ per-model cooldown state is visible in the Resilience dashboard.
The audit log has been expanded with cursor-based pagination, request context enrichment (request ID, user agent, IP), structured auth events, provider CRUD events with diff context, and SSRF-blocked validation logging. New events emitted by src/lib/compliance/providerAudit.ts.