# OmniRoute โ€” Dashboard Features Gallery ๐ŸŒ **Languages:** ๐Ÿ‡บ๐Ÿ‡ธ [English](FEATURES.md) | ๐Ÿ‡ง๐Ÿ‡ท [Portuguรชs (Brasil)](i18n/pt-BR/FEATURES.md) | ๐Ÿ‡ช๐Ÿ‡ธ [Espaรฑol](i18n/es/FEATURES.md) | ๐Ÿ‡ซ๐Ÿ‡ท [Franรงais](i18n/fr/FEATURES.md) | ๐Ÿ‡ฎ๐Ÿ‡น [Italiano](i18n/it/FEATURES.md) | ๐Ÿ‡ท๐Ÿ‡บ [ะ ัƒััะบะธะน](i18n/ru/FEATURES.md) | ๐Ÿ‡จ๐Ÿ‡ณ [ไธญๆ–‡ (็ฎ€ไฝ“)](i18n/zh-CN/FEATURES.md) | ๐Ÿ‡ฉ๐Ÿ‡ช [Deutsch](i18n/de/FEATURES.md) | ๐Ÿ‡ฎ๐Ÿ‡ณ [เคนเคฟเคจเฅเคฆเฅ€](i18n/in/FEATURES.md) | ๐Ÿ‡น๐Ÿ‡ญ [เน„เธ—เธข](i18n/th/FEATURES.md) | ๐Ÿ‡บ๐Ÿ‡ฆ [ะฃะบั€ะฐั—ะฝััŒะบะฐ](i18n/uk-UA/FEATURES.md) | ๐Ÿ‡ธ๐Ÿ‡ฆ [ุงู„ุนุฑุจูŠุฉ](i18n/ar/FEATURES.md) | ๐Ÿ‡ฏ๐Ÿ‡ต [ๆ—ฅๆœฌ่ชž](i18n/ja/FEATURES.md) | ๐Ÿ‡ป๐Ÿ‡ณ [Tiแบฟng Viแป‡t](i18n/vi/FEATURES.md) | ๐Ÿ‡ง๐Ÿ‡ฌ [ะ‘ัŠะปะณะฐั€ัะบะธ](i18n/bg/FEATURES.md) | ๐Ÿ‡ฉ๐Ÿ‡ฐ [Dansk](i18n/da/FEATURES.md) | ๐Ÿ‡ซ๐Ÿ‡ฎ [Suomi](i18n/fi/FEATURES.md) | ๐Ÿ‡ฎ๐Ÿ‡ฑ [ืขื‘ืจื™ืช](i18n/he/FEATURES.md) | ๐Ÿ‡ญ๐Ÿ‡บ [Magyar](i18n/hu/FEATURES.md) | ๐Ÿ‡ฎ๐Ÿ‡ฉ [Bahasa Indonesia](i18n/id/FEATURES.md) | ๐Ÿ‡ฐ๐Ÿ‡ท [ํ•œ๊ตญ์–ด](i18n/ko/FEATURES.md) | ๐Ÿ‡ฒ๐Ÿ‡พ [Bahasa Melayu](i18n/ms/FEATURES.md) | ๐Ÿ‡ณ๐Ÿ‡ฑ [Nederlands](i18n/nl/FEATURES.md) | ๐Ÿ‡ณ๐Ÿ‡ด [Norsk](i18n/no/FEATURES.md) | ๐Ÿ‡ต๐Ÿ‡น [Portuguรชs (Portugal)](i18n/pt/FEATURES.md) | ๐Ÿ‡ท๐Ÿ‡ด [Romรขnฤƒ](i18n/ro/FEATURES.md) | ๐Ÿ‡ต๐Ÿ‡ฑ [Polski](i18n/pl/FEATURES.md) | ๐Ÿ‡ธ๐Ÿ‡ฐ [Slovenฤina](i18n/sk/FEATURES.md) | ๐Ÿ‡ธ๐Ÿ‡ช [Svenska](i18n/sv/FEATURES.md) | ๐Ÿ‡ต๐Ÿ‡ญ [Filipino](i18n/phi/FEATURES.md) | ๐Ÿ‡จ๐Ÿ‡ฟ [ฤŒeลกtina](i18n/cs/FEATURES.md) Visual guide to every section of the OmniRoute dashboard. --- ## ๐Ÿ”Œ Providers Manage AI provider connections: OAuth providers (Claude Code, Codex, Gemini CLI), API key providers (Groq, DeepSeek, OpenRouter), and free providers (Qoder, Qwen, Kiro). Kiro accounts include credit balance tracking โ€” remaining credits, total allowance, and renewal date visible in Dashboard โ†’ Usage. ![Providers Dashboard](screenshots/01-providers.png) --- ## ๐ŸŽจ Combos Create model routing combos with 13 strategies: priority, weighted, round-robin, random, least-used, cost-optimized, strict-random, auto, fill-first, p2c, lkgp, context-optimized, and **context-relay**. Each combo chains multiple models with automatic fallback and includes quick templates and readiness checks. Recent combo improvements: - **Structured combo builder** โ€” create each step by selecting provider, model, and exact account/connection - **Repeated provider support** โ€” reuse the same provider many times in one combo as long as the `(provider, model, connection)` tuple is unique - **Combo target health** โ€” analytics and health surfaces now distinguish individual combo targets/steps instead of collapsing everything into model strings - **Composite tier ordering** โ€” `defaultTier -> fallbackTier` now influences runtime execution/fallback order for top-level combo steps ![Combos Dashboard](screenshots/02-combos.png) --- ## ๐Ÿ“Š Analytics Comprehensive usage analytics with token consumption, cost estimates, activity heatmaps, weekly distribution charts, and per-provider breakdowns. ![Analytics Dashboard](screenshots/03-analytics.png) --- ## ๐Ÿฅ System Health 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. ![Health Dashboard](screenshots/04-health.png) --- ## ๐Ÿ”ง Translator Playground Four modes for debugging API translations: **Playground** (format converter), **Chat Tester** (live requests), **Test Bench** (batch tests), and **Live Monitor** (real-time stream). ![Translator Playground](screenshots/05-translator.png) --- ## ๐ŸŽฎ Model Playground _(v2.0.9+)_ 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. --- ## ๐ŸŽจ Themes _(v2.0.5+)_ 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. --- ## โš™๏ธ Settings Comprehensive settings panel with tabs: - **General** โ€” System storage, backup management (export/import database) - **Appearance** โ€” Theme selector (dark/light/system), color theme presets and custom colors, health log visibility, sidebar item visibility controls - **Security** โ€” API endpoint protection, custom provider blocking, IP filtering, session info - **Routing** โ€” Model aliases, background task degradation - **Resilience** โ€” Rate limit persistence, circuit breaker tuning, auto-disable banned accounts, provider expiration monitoring, **Context Relay** handoff threshold and summary model configuration - **Advanced** โ€” Configuration overrides, configuration audit trail, fallback degradation mode ![Settings Dashboard](screenshots/06-settings.png) --- ## ๐Ÿ”ง CLI Tools One-click configuration for AI coding tools: Claude Code, Codex CLI, Gemini CLI, OpenClaw, Kilo Code, Antigravity, Cline, Continue, Cursor, and Factory Droid. Features automated config apply/reset, connection profiles, and model mapping. ![CLI Tools Dashboard](screenshots/07-cli-tools.png) --- ## ๐Ÿค– CLI Agents _(v2.0.11+)_ Dashboard for discovering and managing CLI agents. Shows a grid of 14 built-in agents (Codex, Claude, Goose, Gemini CLI, OpenClaw, Aider, OpenCode, Cline, Qwen Code, ForgeCode, Amazon Q, Open Interpreter, Cursor CLI, Warp) with: - **Installation status** โ€” Installed / Not Found with version detection - **Protocol badges** โ€” stdio, HTTP, etc. - **Custom agents** โ€” Register any CLI tool via form (name, binary, version command, spawn args) - **CLI Fingerprint Matching** โ€” Per-provider toggle to match native CLI request signatures, reducing ban risk while preserving proxy IP --- ## ๐Ÿ”— Context Relay _(v3.5.5+)_ A 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: - **Handoff Threshold** โ€” Quota usage percentage that triggers summary generation (default 85%) - **Max Messages For Summary** โ€” How much recent history to condense - **Summary Model** โ€” Optional override model for generating the handoff summary Currently supports Codex account rotation. See [Context Relay documentation](features/context-relay.md). --- ## ๐Ÿ›ก๏ธ Proxy Hardening _(v3.5.5+)_ Comprehensive proxy configuration enforcement across the entire request pipeline: - **Token Health Check** โ€” Background OAuth refresh now resolves proxy config per connection, preventing failures in proxy-required environments - **API Key Validation** โ€” Provider key validation (`POST /api/providers/validate`) routes through `runWithProxyContext`, honoring provider-level and global proxy settings - **undici Dispatcher Fix** โ€” Proxy dispatchers use undici's own fetch implementation instead of Node's built-in fetch, resolving `invalid onRequestStart method` errors on Node.js 22 - **Node.js Version Detection** โ€” Login page proactively detects incompatible Node.js versions (24+) and displays a warning banner with instructions to use Node 22 LTS --- ## ๐Ÿ“ง Email Privacy Masking _(v3.5.6+)_ OAuth account emails are now masked in the provider dashboard (e.g. `di*****@g****.com`) to prevent accidental exposure when sharing screenshots or recording demos. The full email address remains accessible via hover tooltip (`title` attribute). --- ## ๐Ÿ‘๏ธ Model Visibility Toggle _(v3.5.6+)_ The provider page model list now includes: - **Real-time search/filter bar** โ€” Quickly find specific models - **Per-model visibility toggle** (๐Ÿ‘ icon) โ€” Hidden models are grayed out and excluded from the `/v1/models` catalog - **Active-count badge** (`N/M active`) โ€” Shows at a glance how many models are enabled vs total --- ## ๐Ÿ”ง OAuth Env Repair _(v3.6.1+)_ One-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: - Missing OAuth client credentials - Corrupted env file entries - Backup path sanitization --- ## ๐Ÿ—‘๏ธ Uninstall / Full Uninstall _(v3.6.2+)_ 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**. | --- ## ๐Ÿ–ผ๏ธ Media _(v2.0.3+)_ Generate images, videos, and music from the dashboard. Supports OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI, AnimateDiff, Stable Audio Open, and MusicGen. --- ## ๐Ÿ“ Request Logs Real-time request logging with filtering by provider, model, account, and API key. Shows status codes, token usage, latency, and response details. ![Usage Logs](screenshots/08-usage.png) --- ## ๐ŸŒ API Endpoint 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 integration and cloud proxy support for remote access. ![Endpoint Dashboard](screenshots/09-endpoint.png) --- ## ๐Ÿ”‘ API Key Management 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. --- ## ๐Ÿ“‹ Audit Log Administrative action tracking with filtering by action type, actor, target, IP address, and timestamp. Full security event history. --- ## ๐Ÿ–ฅ๏ธ Desktop Application 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: - Server readiness polling (no blank screen on cold start) - System tray with port management - Content Security Policy - Single-instance lock - Auto-update on restart - Platform-conditional UI (macOS traffic lights, Windows/Linux default titlebar) - Hardened Electron build packaging โ€” symlinked `node_modules` in the standalone bundle is detected and rejected before packaging, preventing runtime dependency on the build machine (v2.5.5+) - **Graceful shutdown** โ€” Electron `before-quit` shuts down Next.js cleanly, preventing SQLite WAL database locks (v3.6.2+) ๐Ÿ“– See [`electron/README.md`](../electron/README.md) for full documentation. --- ## ๐ŸŒ V1 WebSocket Bridge _(v3.6.6+)_ OmniRoute now supports **OpenAI-compatible WebSocket clients** via the `/v1/ws` upgrade endpoint. The custom `scripts/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: - WS upgrade validated by `src/lib/ws/handshake.ts` before the connection is established - Streams terminated cleanly on session close or upstream error - Works alongside the existing HTTP+SSE streaming path simultaneously --- ## ๐Ÿ”‘ Sync Tokens & Config Bundle _(v3.6.6+)_ Multi-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 token - **`GET /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 Preset _(v3.6.6+)_ **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. --- ## ๐Ÿ›ก๏ธ Safe Outbound Fetch & SSRF Guard _(v3.6.6+)_ All provider validation and model discovery calls now go through a two-layer outbound guard: 1. **URL guard** (`src/shared/network/outboundUrlGuard.ts`) โ€” Blocks private/loopback/link-local IP ranges before the socket is opened. 2. **Safe fetch wrapper** (`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`. --- ## ๐Ÿ”„ Cooldown-Aware Retries _(v3.6.6+)_ 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. --- ## ๐Ÿ“‹ Compliance Audit v2 _(v3.6.6+)_ 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`.