Files
OmniRoute/src/app/docs/lib/docs-auto-generated.ts

1455 lines
52 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// AUTO-GENERATED by scripts/docs/generate-docs-index.mjs — DO NOT EDIT MANUALLY
// Regenerate with: node scripts/docs/generate-docs-index.mjs
export interface AutoGenDocItem {
slug: string;
title: string;
fileName: string;
}
export interface AutoGenNavSection {
title: string;
items: AutoGenDocItem[];
}
export interface AutoGenSearchItem {
slug: string;
title: string;
fileName: string;
section: string;
content: string;
headings: string[];
}
export const autoNavSections: AutoGenNavSection[] = [
{
title: "Architecture",
items: [
{
slug: "architecture",
title: "OmniRoute Architecture",
fileName: "architecture/ARCHITECTURE.md",
},
{
slug: "authz-guide",
title: "Authorization Guide",
fileName: "architecture/AUTHZ_GUIDE.md",
},
{
slug: "codebase-documentation",
title: "OmniRoute Codebase Documentation",
fileName: "architecture/CODEBASE_DOCUMENTATION.md",
},
{
slug: "repository-map",
title: "Repository Map",
fileName: "architecture/REPOSITORY_MAP.md",
},
{
slug: "resilience-guide",
title: "Resilience Guide",
fileName: "architecture/RESILIENCE_GUIDE.md",
},
],
},
{
title: "Guides",
items: [
{
slug: "docker-guide",
title: "🐳 Docker Guide — OmniRoute",
fileName: "guides/DOCKER_GUIDE.md",
},
{
slug: "electron-guide",
title: "Electron Desktop Guide",
fileName: "guides/ELECTRON_GUIDE.md",
},
{
slug: "features",
title: "OmniRoute — Dashboard Features Gallery",
fileName: "guides/FEATURES.md",
},
{
slug: "i18n",
title: "i18n — Internationalization Guide",
fileName: "guides/I18N.md",
},
{
slug: "kiro-setup",
title: "Kiro Setup Guide",
fileName: "guides/KIRO_SETUP.md",
},
{
slug: "pwa-guide",
title: "Progressive Web App (PWA) Guide",
fileName: "guides/PWA_GUIDE.md",
},
{
slug: "setup-guide",
title: "📖 Setup Guide — OmniRoute",
fileName: "guides/SETUP_GUIDE.md",
},
{
slug: "termux-guide",
title: "Termux Headless Setup",
fileName: "guides/TERMUX_GUIDE.md",
},
{
slug: "troubleshooting",
title: "Troubleshooting",
fileName: "guides/TROUBLESHOOTING.md",
},
{
slug: "uninstall",
title: "OmniRoute — Uninstall Guide",
fileName: "guides/UNINSTALL.md",
},
{
slug: "user-guide",
title: "User Guide",
fileName: "guides/USER_GUIDE.md",
},
],
},
{
title: "Reference",
items: [
{
slug: "api-reference",
title: "API Reference",
fileName: "reference/API_REFERENCE.md",
},
{
slug: "cli-tools",
title: "CLI Tools — OmniRoute v3.8.0",
fileName: "reference/CLI-TOOLS.md",
},
{
slug: "environment",
title: "Environment Variables Reference",
fileName: "reference/ENVIRONMENT.md",
},
{
slug: "free-tiers",
title: "Free Tiers",
fileName: "reference/FREE_TIERS.md",
},
{
slug: "provider-reference",
title: "Provider Reference",
fileName: "reference/PROVIDER_REFERENCE.md",
},
],
},
{
title: "Frameworks",
items: [
{
slug: "a2a-server",
title: "OmniRoute A2A Server Documentation",
fileName: "frameworks/A2A-SERVER.md",
},
{
slug: "agent-protocols-guide",
title: "Agent Protocols Guide",
fileName: "frameworks/AGENT_PROTOCOLS_GUIDE.md",
},
{
slug: "cloud-agent",
title: "Cloud Agents",
fileName: "frameworks/CLOUD_AGENT.md",
},
{
slug: "evals",
title: "Evaluations (Evals)",
fileName: "frameworks/EVALS.md",
},
{
slug: "gamification",
title: "Gamification & Leaderboard System",
fileName: "frameworks/GAMIFICATION.md",
},
{
slug: "mcp-server",
title: "OmniRoute MCP Server Documentation",
fileName: "frameworks/MCP-SERVER.md",
},
{
slug: "memory",
title: "Memory System",
fileName: "frameworks/MEMORY.md",
},
{
slug: "opencode",
title: "OpenCode Integration",
fileName: "frameworks/OPENCODE.md",
},
{
slug: "skills",
title: "Skills Framework",
fileName: "frameworks/SKILLS.md",
},
{
slug: "webhooks",
title: "Webhooks",
fileName: "frameworks/WEBHOOKS.md",
},
],
},
{
title: "Routing",
items: [
{
slug: "auto-combo",
title: "OmniRoute Auto-Combo Engine",
fileName: "routing/AUTO-COMBO.md",
},
{
slug: "reasoning-replay",
title: "Reasoning Replay Cache",
fileName: "routing/REASONING_REPLAY.md",
},
],
},
{
title: "Security",
items: [
{
slug: "cli-token",
title: "CLI Machine-ID Token",
fileName: "security/CLI_TOKEN.md",
},
{
slug: "cli-token-auth",
title: "CLI Machine-ID Token Authentication",
fileName: "security/CLI_TOKEN_AUTH.md",
},
{
slug: "compliance",
title: "Compliance & Audit",
fileName: "security/COMPLIANCE.md",
},
{
slug: "error-sanitization",
title: "Error Message Sanitization",
fileName: "security/ERROR_SANITIZATION.md",
},
{
slug: "guardrails",
title: "Guardrails",
fileName: "security/GUARDRAILS.md",
},
{
slug: "public-creds",
title: "Public Credentials Handling",
fileName: "security/PUBLIC_CREDS.md",
},
{
slug: "route-guard-tiers",
title: "Route Guard Tiers",
fileName: "security/ROUTE_GUARD_TIERS.md",
},
{
slug: "stealth-guide",
title: "Stealth Guide",
fileName: "security/STEALTH_GUIDE.md",
},
],
},
{
title: "Compression",
items: [
{
slug: "compression-engines",
title: "Compression Engines",
fileName: "compression/COMPRESSION_ENGINES.md",
},
{
slug: "compression-guide",
title: "🗜️ Prompt Compression Guide — OmniRoute",
fileName: "compression/COMPRESSION_GUIDE.md",
},
{
slug: "compression-language-packs",
title: "Compression Language Packs",
fileName: "compression/COMPRESSION_LANGUAGE_PACKS.md",
},
{
slug: "compression-rules-format",
title: "Compression Rules Format",
fileName: "compression/COMPRESSION_RULES_FORMAT.md",
},
{
slug: "rtk-compression",
title: "RTK Compression",
fileName: "compression/RTK_COMPRESSION.md",
},
],
},
{
title: "Ops",
items: [
{
slug: "coverage-plan",
title: "Test Coverage Plan",
fileName: "ops/COVERAGE_PLAN.md",
},
{
slug: "e2e-dashboard-shakedown-v3.8.0",
title: "E2E Dashboard Shakedown — v3.8.0",
fileName: "ops/E2E_DASHBOARD_SHAKEDOWN_v3.8.0.md",
},
{
slug: "fly-io-deployment-guide",
title: "OmniRoute Fly.io 部署指南",
fileName: "ops/FLY_IO_DEPLOYMENT_GUIDE.md",
},
{
slug: "proxy-guide",
title: "🌐 OmniRoute Proxy Guide",
fileName: "ops/PROXY_GUIDE.md",
},
{
slug: "release-checklist",
title: "Release Checklist",
fileName: "ops/RELEASE_CHECKLIST.md",
},
{
slug: "sqlite-runtime",
title: "SQLite Runtime Resolution",
fileName: "ops/SQLITE_RUNTIME.md",
},
{
slug: "tunnels-guide",
title: "Tunnels Guide",
fileName: "ops/TUNNELS_GUIDE.md",
},
{
slug: "vm-deployment-guide",
title: "OmniRoute — Deployment Guide on VM with Cloudflare",
fileName: "ops/VM_DEPLOYMENT_GUIDE.md",
},
],
},
];
export const autoSearchIndex: AutoGenSearchItem[] = [
{
slug: "architecture",
title: "OmniRoute Architecture",
fileName: "architecture/ARCHITECTURE.md",
section: "Architecture",
content:
"🌐 Languages: 🇺🇸 English 🇧🇷 Português (Brasil) 🇪🇸 Español 🇫🇷 Français 🇮🇹 Italiano 🇷🇺 Русский 🇨🇳 中文 (简体) 🇩🇪 Deutsch 🇮🇳 हिन्दी 🇹🇭 ไทย 🇺🇦 Українська 🇸🇦 العربية 🇯🇵 日本語 🇻🇳 Tiếng Việt 🇧🇬 Български 🇩🇰 Dansk 🇫🇮 Suomi 🇮🇱 עברית 🇭🇺 Magyar 🇮🇩 Bahasa Indonesia 🇰🇷 한국어 🇲\ud83c",
headings: [
"Executive Summary",
"Reference Diagrams",
"Scope and Boundaries",
"In Scope",
"Out of Scope",
"Dashboard Surface (Current)",
"High-Level System Context",
"Core Runtime Components",
"1) API and Routing Layer (Next.js App Routes)",
"2) SSE + Translation Core",
],
},
{
slug: "authz-guide",
title: "Authorization Guide",
fileName: "architecture/AUTHZ_GUIDE.md",
section: "Architecture",
content:
"Source of truth: src/server/authz/, src/shared/constants/publicApiRoutes.ts, src/lib/api/requireManagementAuth.ts, src/shared/utils/apiAuth.ts Last updated: 2026-05-13 — v3.8.0 OmniRoute has a route-aware authorization pipeline that gates every API request. Classification is deterministic and fail-c",
headings: [
"Two Auth Modes",
"1. API Key (Bearer)",
"2. Dashboard Session (auth_token cookie)",
"Route Classes",
"Pipeline",
"Policy contracts",
"Public Routes List",
"Adding a New Route",
"Pattern 1 — Public client API endpoint (Bearer-auth)",
"Pattern 2 — Management endpoint (session or Bearer + manage)",
],
},
{
slug: "codebase-documentation",
title: "OmniRoute Codebase Documentation",
fileName: "architecture/CODEBASE_DOCUMENTATION.md",
section: "Architecture",
content:
"Version: v3.8.0 Last updated: 2026-05-13 Audience: Engineers contributing to OmniRoute or building integrations on top of it. For high-level architecture diagrams and the reasoning behind each subsystem, read ARCHITECTURE.md. For deep dives on individual subsystems (Auto Combo, MCP server, A2A serve",
headings: [
"1. Tech Stack",
"2. Repository Layout",
"3. src/ — Next.js Application",
"3.1 src/app/ — App Router",
"3.1.1 src/app/(dashboard)/dashboard/ — UI pages",
"3.1.2 src/app/api/ — Top-level API groups",
"3.1.3 src/app/api/v1/ — OpenAI-compatible public API",
"3.2 src/lib/ — Core libraries",
"3.2.1 src/lib/db/",
"3.3 src/domain/ — Domain layer",
],
},
{
slug: "repository-map",
title: "Repository Map",
fileName: "architecture/REPOSITORY_MAP.md",
section: "Architecture",
content:
"One-line description for every directory and root file. Last updated: 2026-05-13 — OmniRoute v3.8.0 Use this map to navigate the codebase quickly. For deep dives, follow links to dedicated docs. ---------------------------------------- ----------------------------------------------------------------",
headings: [
"Top-level tree",
"Root files",
"src/ — Next.js application",
"src/app/ — App Router (Next.js 16)",
"src/lib/ — Core libraries (~50 modules)",
"src/db/ — Database (45+ modules + 55 migrations)",
"src/domain/",
"src/server/",
"src/shared/",
"open-sse/ — Streaming Engine Workspace",
],
},
{
slug: "resilience-guide",
title: "Resilience Guide",
fileName: "architecture/RESILIENCE_GUIDE.md",
section: "Architecture",
content:
"OmniRoute has three distinct but related resilience mechanisms. Each has a different scope and purpose. Keep them separate when debugging routing behavior. Source: diagrams/resilience-3layers.mmd Scope: entire provider (e.g., glm, openai, anthropic). Purpose: stop sending traffic to a provider that ",
headings: [
"1. Provider Circuit Breaker",
"2. Connection Cooldown",
"3. Model Lockout",
"Model Cooldowns Dashboard (v3.8.0)",
"Other Resilience Features",
"Debugging",
"TLS Fingerprinting & Stealth",
"See Also",
],
},
{
slug: "docker-guide",
title: "🐳 Docker Guide — OmniRoute",
fileName: "guides/DOCKER_GUIDE.md",
section: "Guides",
content:
"Complete Docker deployment reference. For a quick start, see the README Docker section. - Quick Run - With Environment File - Docker Compose - Available Profiles - Redis Sidecar - Production Compose - Dockerfile Stages - Critical Environment Variables - Docker Compose with Caddy (HTTPS) - Cloudflare",
headings: [
"Table of Contents",
"Quick Run",
"With Environment File",
"Docker Compose",
"Available Profiles",
"Redis Sidecar",
"Production Compose",
"Dockerfile Stages",
"Critical Environment Variables",
"Docker Compose with Caddy (HTTPS Auto-TLS)",
],
},
{
slug: "electron-guide",
title: "Electron Desktop Guide",
fileName: "guides/ELECTRON_GUIDE.md",
section: "Guides",
content:
"Source of truth: electron/ workspace Last updated: 2026-05-13 — v3.8.0 OmniRoute ships a cross-platform desktop app (Windows / macOS / Linux) built on Electron 41 + electron-builder 26.10. The desktop app spawns the Next.js standalone server as a child process, points a BrowserWindow at it, and adds",
headings: [
"Architecture",
"Versions",
"Scripts (root package.json)",
"Directory Layout",
"IPC Bridge (preload.js)",
"Server Lifecycle",
"Zero-config Secret Bootstrap",
"Window & Tray",
"Content Security Policy",
"Auto-update",
],
},
{
slug: "features",
title: "OmniRoute — Dashboard Features Gallery",
fileName: "guides/FEATURES.md",
section: "Guides",
content:
"🌐 Main README translations: 🇺🇸 English 🇧🇷 Português (Brasil) 🇪🇸 Español 🇫🇷 Français 🇮🇹 Italiano 🇷🇺 Русский 🇨🇳 中文 (简体) 🇩🇪 Deutsch 🇮🇳 हिन्दी 🇹🇭 ไทย 🇺🇦 Українська 🇸🇦 العربية 🇯🇵 日本語 🇻🇳 Tiếng Việt 🇧🇬 Български 🇩🇰 Dansk 🇫🇮 Suomi 🇮🇱 עברית 🇭🇺 Magyar 🇮🇩 Bahasa Indones",
headings: [
"✨ v3.8.0 Highlights",
"🔌 Providers",
"🎨 Combos",
"📊 Analytics",
"🏥 System Health",
"🔧 Translator Playground",
"🎮 Model Playground _(v2.0.9+)_",
"🎨 Themes _(v2.0.5+)_",
"⚙️ Settings",
"🔧 CLI Tools",
],
},
{
slug: "i18n",
title: "i18n — Internationalization Guide",
fileName: "guides/I18N.md",
section: "Guides",
content:
"OmniRoute supports 30 languages with full dashboard UI translation, translated documentation, and RTL support for Arabic and Hebrew. 🌐 Languages: 🇺🇸 English 🇧🇷 Português (Brasil) 🇪🇸 Español 🇫🇷 Français 🇩🇪 Deutsch 🇮🇹 Italiano 🇷🇺 Русский 🇨🇳 中文 (简体) 🇯🇵 日本語 🇰🇷 한국어 🇸🇦 العربية 🇮🇳 ",
headings: [
"Translation pipeline (recommended — v3.8.0)",
"Legacy scripts (deprecated)",
"Quick Reference",
"Architecture",
"Source of Truth",
"Runtime Flow",
"Supported Locales",
"Adding a New Language",
"1. Register the Locale",
"2. Add to Generator",
],
},
{
slug: "kiro-setup",
title: "Kiro Setup Guide",
fileName: "guides/KIRO_SETUP.md",
section: "Guides",
content:
"This guide covers adding Kiro (AWS-hosted AI coding assistant) accounts to OmniRoute, with a focus on running multiple accounts simultaneously without session conflicts. Starting with v3.8.0, OmniRoute calls registerClient() (AWS SSO OIDC) during every Kiro connection import. This gives each OmniRou",
headings: [
"Background: Why Kiro Accounts Can Conflict",
"How OmniRoute Solves This (v3.8.0+)",
"Migration Note for Connections Created Before v3.8.0",
"Adding Two Kiro Accounts Side by Side",
"Prerequisites",
"Step 1: Import the first account",
"Step 2: Import the second account",
"Step 3: Verify both connections are active",
"Step 4: Use a combo to route between accounts",
"Enterprise / IDC Users",
],
},
{
slug: "pwa-guide",
title: "Progressive Web App (PWA) Guide",
fileName: "guides/PWA_GUIDE.md",
section: "Guides",
content:
'OmniRoute ships as a fully installable Progressive Web App. When you access the dashboard from any mobile browser — Android (Chrome) or iOS (Safari) — you can "Add to Home Screen" and get a native app-like experience with no app store required. A Progressive Web App turns the OmniRoute web dashboard',
headings: [
"What Is a PWA?",
"Installation",
"Android (Chrome)",
"iOS (Safari)",
"Desktop (Chrome / Edge)",
"Features",
"Fullscreen Experience",
"Offline Support",
"Offline Page",
"App Icons",
],
},
{
slug: "setup-guide",
title: "📖 Setup Guide — OmniRoute",
fileName: "guides/SETUP_GUIDE.md",
section: "Guides",
content:
"Complete setup reference for OmniRoute. For the quick version, see the Quick Start in README. - Install Methods - CLI Tool Configuration - Protocol Setup (MCP + A2A) - Timeout Configuration - Split-Port Mode - Void Linux (xbps-src) - Uninstalling -------------------- --------------------------------",
headings: [
"Table of Contents",
"Install Methods",
"npm (recommended)",
"pnpm",
"Arch Linux (AUR)",
"From Source",
"Docker",
"Desktop App (Electron)",
"Headless server (CI/automation)",
"CLI Options",
],
},
{
slug: "termux-guide",
title: "Termux Headless Setup",
fileName: "guides/TERMUX_GUIDE.md",
section: "Guides",
content:
"OmniRoute can run as a headless server on Android through Termux. The Electron desktop app is not supported in Termux, but the web dashboard and OpenAI-compatible API work from the local browser or from other devices on the same network. Install Termux from F-Droid or GitHub releases, then update pa",
headings: [
"Prerequisites",
"Install",
"Run",
"Background Execution",
"Access From Other Devices",
"Data Directory",
"Limitations",
"Troubleshooting",
"better-sqlite3 Build Errors",
"Port Already In Use",
],
},
{
slug: "troubleshooting",
title: "Troubleshooting",
fileName: "guides/TROUBLESHOOTING.md",
section: "Guides",
content:
"🌐 Languages: 🇺🇸 English 🇧🇷 Português (Brasil) 🇪🇸 Español 🇫🇷 Français 🇮🇹 Italiano 🇷🇺 Русский 🇨🇳 中文 (简体) 🇩🇪 Deutsch 🇮🇳 हिन्दी 🇹🇭 ไทย 🇺🇦 Українська 🇸🇦 العربية 🇯🇵 日本語 🇻🇳 Tiếng Việt 🇧🇬 Български 🇩🇰 Dansk 🇫🇮 Suomi 🇮🇱 עברית 🇭🇺 Magyar 🇮🇩 Bahasa Indonesia 🇰🇷 한국어 🇲\ud83c",
headings: [
"Quick Fixes",
"Node.js Compatibility",
'Login page crashes or shows "Module self-registration" error',
'macOS: dlopen / "slice is not valid mach-o file"',
"Proxy Issues",
'Provider validation shows "fetch failed"',
'Token health check fails with "fetch failed"',
'SOCKS5 proxy returns "invalid onRequestStart method"',
"Provider Issues",
'"Language model did not provide messages"',
],
},
{
slug: "uninstall",
title: "OmniRoute — Uninstall Guide",
fileName: "guides/UNINSTALL.md",
section: "Guides",
content:
"🌐 Languages: 🇺🇸 English 🇧🇷 Português (Brasil) 🇪🇸 Español 🇫🇷 Français 🇮🇹 Italiano 🇷🇺 Русский 🇨🇳 中文 (简体) 🇩🇪 Deutsch 🇮🇳 हिन्दी 🇹🇭 ไทย 🇺🇦 Українська 🇸🇦 العربية 🇯🇵 日本語 🇻🇳 Tiếng Việt 🇧🇬 Български 🇩🇰 Dansk 🇫🇮 Suomi 🇮🇱 עברית 🇭🇺 Magyar 🇮🇩 Bahasa Indonesia 🇰🇷 한국어 🇲\ud83c",
headings: [
"Quick Uninstall (v3.6.2+)",
"Keep Your Data",
"Full Removal",
"Manual Uninstall",
"NPM Global Install",
"pnpm Global Install",
"Docker",
"Docker Compose",
"Electron Desktop App",
"Source Install (git clone)",
],
},
{
slug: "user-guide",
title: "User Guide",
fileName: "guides/USER_GUIDE.md",
section: "Guides",
content:
"🌐 Languages: 🇺🇸 English 🇧🇷 Português (Brasil) 🇪🇸 Español 🇫🇷 Français 🇮🇹 Italiano 🇷🇺 Русский 🇨🇳 中文 (简体) 🇩🇪 Deutsch 🇮🇳 हिन्दी 🇹🇭 ไทย 🇺🇦 Українська 🇸🇦 العربية 🇯🇵 日本語 🇻🇳 Tiếng Việt 🇧🇬 Български 🇩🇰 Dansk 🇫🇮 Suomi 🇮🇱 עברית 🇭🇺 Magyar 🇮🇩 Bahasa Indonesia 🇰🇷 한국어 🇲\ud83c",
headings: [
"Table of Contents",
"💰 Pricing at a Glance",
"🎯 Use Cases",
'Case 1: "I have Claude Pro subscription"',
'Case 2: "I want zero cost"',
'Case 3: "I need 24/7 coding, no interruptions"',
'Case 4: "I want FREE AI in OpenClaw"',
"📖 Provider Setup",
"🔐 Subscription Providers",
"Claude Code (Pro/Max)",
],
},
{
slug: "api-reference",
title: "API Reference",
fileName: "reference/API_REFERENCE.md",
section: "Reference",
content:
"🌐 Languages: 🇺🇸 English 🇧🇷 Português (Brasil) 🇪🇸 Español 🇫🇷 Français 🇮🇹 Italiano 🇷🇺 Русский 🇨🇳 中文 (简体) 🇩🇪 Deutsch 🇮🇳 हिन्दी 🇹🇭 ไทย 🇺🇦 Українська 🇸🇦 العربية 🇯🇵 日本語 🇻🇳 Tiếng Việt 🇧🇬 Български 🇩🇰 Dansk 🇫🇮 Suomi 🇮🇱 עברית 🇭🇺 Magyar 🇮🇩 Bahasa Indonesia 🇰🇷 한국어 🇲\ud83c",
headings: [
"Table of Contents",
"Chat Completions",
"Custom Headers",
"Embeddings",
"Image Generation",
"List Models",
"Compatibility Endpoints",
"Dedicated Provider Routes",
"Files API",
"Batches API",
],
},
{
slug: "cli-tools",
title: "CLI Tools — OmniRoute v3.8.0",
fileName: "reference/CLI-TOOLS.md",
section: "Reference",
content:
"Last updated: 2026-05-13 OmniRoute integrates with two categories of CLI tools: 1. External CLI integrations — third-party CLIs (Cursor, Cline, Codex, Claude Code, Qwen Code, Windsurf, Hermes, Amp, etc.) that you point at OmniRoute's local OpenAI-compatible endpoint. 2. Internal OmniRoute CLI — comm",
headings: [
"How It Works",
"1. External CLI Integrations",
"Source of Truth",
"Current Catalog (v3.8.0)",
"CLI fingerprint sync (Agents + Settings)",
"Step 1 — Get an OmniRoute API Key",
"Step 2 — Install CLI Tools",
"Step 3 — Set Global Environment Variables",
"Step 4 — Configure Each Tool",
"Claude Code",
],
},
{
slug: "environment",
title: "Environment Variables Reference",
fileName: "reference/ENVIRONMENT.md",
section: "Reference",
content:
"Complete reference for every environment variable recognized by OmniRoute. For a quick-start template, see .env.example. [!IMPORTANT] Every variable documented here must also appear in .env.example, and every variable in .env.example must appear here. npm run check:env-doc-sync enforces this on comm",
headings: [
"Table of Contents",
"1. Required Secrets",
"Generation Commands",
"2. Storage & Database",
"Scenarios",
"3. Network & Ports",
"Port Modes",
"4. Security & Authentication",
"Hardening Checklist",
"5. Input Sanitization & PII Protection",
],
},
{
slug: "free-tiers",
title: "Free Tiers",
fileName: "reference/FREE_TIERS.md",
section: "Reference",
content:
"Last consolidated: 2026-05-13 — OmniRoute v3.8.1 Source of truth: src/shared/constants/providers.ts (FREEPROVIDERS, OAUTHPROVIDERS, and APIKEYPROVIDERS entries flagged with hasFree: true + freeNote) This page lists providers with usable free tiers shipped in OmniRoute v3.8.1. The data is derived fro",
headings: [
"How free providers are wired",
"Quick reference (API key providers with hasFree: true)",
"OAuth-based free tiers",
"Always-free OAuth providers (in FREE_PROVIDERS)",
"OAuth providers with vendor-controlled free tiers (in OAUTH_PROVIDERS)",
"Deprecated / discontinued",
"Qwen Code (qwen)",
"Command Code",
"Environment variables",
"How to use",
],
},
{
slug: "provider-reference",
title: "Provider Reference",
fileName: "reference/PROVIDER_REFERENCE.md",
section: "Reference",
content:
"Auto-generated from src/shared/constants/providers.ts — do not edit by hand. Regenerate with: npm run gen:provider-reference Last generated: 2026-05-17 Total providers: 177. See category breakdown below. - Free — free tier with API key (configured via dashboard) - OAuth — sign-in flow handled by Omn",
headings: [
"Categories",
"Free Tier (OAuth-first or no-key) (5)",
"OAuth Providers (11)",
"Web Cookie Providers (7)",
"API Key Providers (paid / paid-with-free-credits) (122)",
"Local Providers (10)",
"Search Providers (11)",
"Audio-only Providers (7)",
"Upstream Proxy Providers (1)",
"Cloud Agent Providers (3)",
],
},
{
slug: "a2a-server",
title: "OmniRoute A2A Server Documentation",
fileName: "frameworks/A2A-SERVER.md",
section: "Frameworks",
content:
"Agent-to-Agent Protocol v0.3 — OmniRoute as an intelligent routing agent The A2A surface has two faces: - JSON-RPC 2.0 at POST /a2a (canonical entry point, defined in src/app/a2a/route.ts). - REST under /api/a2a/ for dashboards and tooling (status, task list, cancel). Tasks are tracked by A2ATaskMan",
headings: [
"Agent Discovery",
"Authentication",
"Enablement",
"JSON-RPC 2.0 Methods",
"message/send — Synchronous Execution",
"message/stream — SSE Streaming",
"tasks/get — Query Task Status",
"tasks/cancel — Cancel a Task",
"Available Skills",
"REST API (auxiliary)",
],
},
{
slug: "agent-protocols-guide",
title: "Agent Protocols Guide",
fileName: "frameworks/AGENT_PROTOCOLS_GUIDE.md",
section: "Frameworks",
content:
"Source: src/lib/{a2a,acp,cloudAgent}/, src/app/api/{a2a,acp,cloud}/, src/app/api/v1/agents/ Last updated: 2026-05-13 — v3.8.0 OmniRoute exposes three different agent-related surfaces. They look similar at first glance but solve different problems. Use this page to pick the right one. Surface Best fo",
headings: [
"TL;DR",
"Decision Tree",
"1. A2A — Agent-to-Agent",
"When to use",
"Methods",
"Built-in skills (5)",
"Deep dive",
"2. ACP — CLI Agents Registry",
"What it is",
"What it does",
],
},
{
slug: "cloud-agent",
title: "Cloud Agents",
fileName: "frameworks/CLOUD_AGENT.md",
section: "Frameworks",
content:
"Source of truth: src/lib/cloudAgent/ and src/app/api/v1/agents/tasks/ Last updated: 2026-05-13 — v3.8.0 OmniRoute orchestrates third-party cloud-hosted coding agents (Codex Cloud, Devin, Jules) as long-running tasks. Each agent is wrapped behind a uniform interface so clients can submit a prompt + r",
headings: [
"Supported Agents",
"Architecture",
"CloudAgentBase Interface",
"Domain Types",
"Database",
"REST API — Task Lifecycle",
"Create task",
"Approve a plan",
"Send a follow-up message",
"Cancel (local status only)",
],
},
{
slug: "evals",
title: "Evaluations (Evals)",
fileName: "frameworks/EVALS.md",
section: "Frameworks",
content:
'Source of truth: src/lib/evals/, src/lib/db/evals.ts, src/app/api/evals/ Last updated: 2026-05-13 — v3.8.0 OmniRoute ships a generic evaluation framework you can use to benchmark routing configurations, single providers/models, or the bundled "golden set" suites. Use it to verify routing changes, va',
headings: [
"Concepts",
"Suite",
"Case",
"Target",
"Scoring Rubrics",
"Database Schema",
"REST API",
"Running a suite",
"Creating a custom suite",
"Dispatch Pipeline",
],
},
{
slug: "gamification",
title: "Gamification & Leaderboard System",
fileName: "frameworks/GAMIFICATION.md",
section: "Frameworks",
content:
"Source of truth: src/lib/gamification/, src/lib/db/gamification.ts, src/app/api/gamification/ Last updated: 2026-05-19 — v3.8.0 OmniRoute includes a local-first gamification layer that rewards users for engaging with the platform — making requests, switching providers, creating combos, sharing token",
headings: [
"Overview",
"Purpose",
"Scope",
"Design Principles",
"Architecture",
"High-Level Flow",
"Module Dependency Graph",
"Data Layer",
"Database Tables",
"Domain Module: src/lib/db/gamification.ts",
],
},
{
slug: "mcp-server",
title: "OmniRoute MCP Server Documentation",
fileName: "frameworks/MCP-SERVER.md",
section: "Frameworks",
content:
"Model Context Protocol server with 37 tools across routing, cache, compression, memory, skills, and proxy operations. Source of truth: open-sse/mcp-server/schemas/tools.ts (30 tools) + open-sse/mcp-server/tools/memoryTools.ts (3 tools) + open-sse/mcp-server/tools/skillTools.ts (4 tools). Tool regist",
headings: [
"Installation",
"Transports",
"IDE Configuration",
"Essential Tools (8) — Phase 1",
"Phase 1 — Search",
"Advanced Tools (11) — Phase 2",
"Cache Tools (2)",
"Compression Tools (5)",
"MCP Accessibility Tree Filter (v3.8.0)",
"1Proxy Tools (3)",
],
},
{
slug: "memory",
title: "Memory System",
fileName: "frameworks/MEMORY.md",
section: "Frameworks",
content:
"Source of truth: src/lib/memory/ and src/app/api/memory/ Last updated: 2026-05-13 — v3.8.0 OmniRoute provides persistent conversational memory keyed by API key (and optionally session id). Memories are extracted automatically from LLM responses via lightweight regex pattern matching and injected bac",
headings: [
"Architecture",
"Storage Layers",
"Primary: SQLite (memories table)",
"Full-text Search (memory_fts virtual table)",
"Optional: Qdrant (vector store)",
"Memory Types",
"Fact Extraction (extraction.ts)",
"Retrieval (retrieval.ts)",
"Injection (injection.ts)",
"Settings (settings.ts)",
],
},
{
slug: "opencode",
title: "OpenCode Integration",
fileName: "frameworks/OPENCODE.md",
section: "Frameworks",
content:
"Status: Generally available. Audience: Operators wiring OpenCode to an OmniRoute deployment. Source of truth (config schema): src/shared/services/opencodeConfig.ts Source of truth (npm package): @omniroute/opencode-provider/ (publishable workspace) OpenCode is an agentic CLI/desktop AI client. It re",
headings: [
"Path 1 — CLI generator (no npm install)",
"Path 2 — npm package @omniroute/opencode-provider",
"What the runtime actually does",
"Model catalog defaults",
"URL normalisation",
"Authentication modes",
"Troubleshooting",
"See also",
],
},
{
slug: "skills",
title: "Skills Framework",
fileName: "frameworks/SKILLS.md",
section: "Frameworks",
content:
"Source of truth: src/lib/skills/ and src/app/api/skills/ Last updated: 2026-05-13 — v3.8.0 OmniRoute exposes an extensible Skills framework that lets language models (and operators) compose reusable capabilities — from filesystem reads and HTTP requests to sandboxed code execution and curated market",
headings: [
"Concepts",
"Skill Sources",
"Skill Identity",
"Skill Mode",
"Status (executions)",
"Registry Cache",
"Provider-Aware Injection",
"AUTO Scoring",
"Tool Call Interception",
"Docker Sandbox",
],
},
{
slug: "webhooks",
title: "Webhooks",
fileName: "frameworks/WEBHOOKS.md",
section: "Frameworks",
content:
"Source of truth: src/lib/webhookDispatcher.ts, src/lib/db/webhooks.ts, src/app/api/webhooks/ Last updated: 2026-05-13 — v3.8.0 OmniRoute can fire HTTP webhooks on platform events. Use them to integrate with Slack, PagerDuty, Datadog, internal alerting services, or any HTTP receiver. The dispatcher s",
headings: [
"Supported Events",
"Architecture",
"HMAC Signing",
"Verifying on the receiver",
"Retry & Failure Policy",
"Database",
"REST API",
"Create webhook",
"Test webhook",
"Dashboard",
],
},
{
slug: "auto-combo",
title: "OmniRoute Auto-Combo Engine",
fileName: "routing/AUTO-COMBO.md",
section: "Routing",
content:
"Self-managing model chains with adaptive scoring + zero-config auto-routing NEW: No combo creation required. Use auto/ prefix directly in any client. Model ID Variant Behavior -------------- ------- ------------------------------------------------------------------------ auto default All connected p",
headings: [
"Zero-Config Auto-Routing (auto/ prefix)",
"Quick Examples",
"How It Works (Persisted Auto-Combos)",
"Mode Packs",
"All Routing Strategies",
"Virtual Auto-Combo Factory",
"Self-Healing",
"Bandit Exploration",
"API",
"Task Fitness",
],
},
{
slug: "reasoning-replay",
title: "Reasoning Replay Cache",
fileName: "routing/REASONING_REPLAY.md",
section: "Routing",
content:
"Source of truth: src/lib/db/reasoningCache.ts, open-sse/services/reasoningCache.ts Last updated: 2026-05-13 — v3.8.0 OmniRoute captures assistant reasoningcontent produced by thinking-mode models and replays it transparently on multi-turn requests when the upstream provider requires it. This elimina",
headings: [
"Why This Exists",
"Architecture",
"Storage — Hybrid Memory + SQLite",
"Database Schema",
"Provider / Model Detection",
"REST API",
"Operational Notes",
"See Also",
],
},
{
slug: "cli-token",
title: "CLI Machine-ID Token",
fileName: "security/CLI_TOKEN.md",
section: "Security",
content:
"OmniRoute CLI commands authenticate against the local management API using a HMAC-SHA256(machine-id, salt) token sent via the x-omniroute-cli-token request header. This allows CLI subcommands (omniroute status, omniroute providers, etc.) to call management endpoints without requiring the user to sup",
headings: [
"Overview",
"How it works",
"Security properties",
"Salt rotation",
"Files",
"See also",
],
},
{
slug: "cli-token-auth",
title: "CLI Machine-ID Token Authentication",
fileName: "security/CLI_TOKEN_AUTH.md",
section: "Security",
content:
"OmniRoute's CLI uses a machine-derived token to authenticate to the local server without requiring an explicit API key. This enables zero-config local use while preserving security for remote access. 1. CLI side (bin/cli/utils/cliToken.mjs): computes SHA-256(machineId + salt).hex[0..32] using node-m",
headings: [
"How it works",
"Threat model",
"Opt-out",
"Audit logging",
"API key precedence",
"Related files",
],
},
{
slug: "compliance",
title: "Compliance & Audit",
fileName: "security/COMPLIANCE.md",
section: "Security",
content:
"Source of truth: src/lib/compliance/, src/app/api/compliance/ Last updated: 2026-05-13 — v3.8.0 OmniRoute records administrative actions, authentication events, provider credential lifecycle changes, and MCP tool invocations to SQLite-backed audit tables. This page covers what gets logged, where it ",
headings: [
"What Gets Logged",
"Administrative audit events (audit_log)",
"MCP tool calls (mcp_tool_audit)",
"Request / usage logs",
"Storage Schema",
"Retention & Cleanup",
"noLog Opt-Out (per API key)",
"REST API",
"Querying /api/compliance/audit-log",
"Dashboard",
],
},
{
slug: "error-sanitization",
title: "Error Message Sanitization",
fileName: "security/ERROR_SANITIZATION.md",
section: "Security",
content:
"Source of truth: open-sse/utils/error.ts — sanitizeErrorMessage, buildErrorBody, createErrorResult Tests: tests/unit/error-message-sanitization.test.ts Last updated: 2026-05-14 — v3.8.0 Audience: Any engineer touching error responses (HTTP routes, SSE streams, executors, MCP handlers). Status: MANDA",
headings: [
"Why this exists",
"The mandatory pattern",
"1. Building an error response (HTTP / API routes)",
"2. Custom error envelopes (rare)",
"3. Logging vs. responding",
"4. Forbidden patterns",
"Coverage in CI",
"Related controls",
"Upstream details passthrough",
"Known CodeQL limitation: custom sanitizers not recognized",
],
},
{
slug: "guardrails",
title: "Guardrails",
fileName: "security/GUARDRAILS.md",
section: "Security",
content:
"Source of truth: src/lib/guardrails/ Last updated: 2026-05-13 — v3.8.0 Guardrails enforce safety, policy, and content transformations at the boundary between OmniRoute and upstream providers. Each guardrail can inspect (and optionally reject, transform, or annotate) request payloads (preCall) and up",
headings: [
"Built-in Guardrails",
"Vision Bridge (visionBridge.ts)",
"PII Masker (piiMasker.ts)",
"Prompt Injection (promptInjection.ts)",
"Base Contract (base.ts)",
"Registry (registry.ts)",
"Disabling Guardrails Per-Request",
"Execution Order",
"Configuration",
"Custom Guardrails",
],
},
{
slug: "public-creds",
title: "Public Credentials Handling",
fileName: "security/PUBLIC_CREDS.md",
section: "Security",
content:
"Source of truth: open-sse/utils/publicCreds.ts Tests: tests/unit/publicCreds.test.ts Last updated: 2026-05-14 — v3.8.0 Audience: Engineers integrating providers that ship public OAuth clientid / clientsecret / Firebase Web API keys in their public CLIs. Status: MANDATORY for all new code that embeds",
headings: [
"Why this exists",
"The mandatory pattern",
"1. Adding a new public credential",
"2. Consumers",
"3. Forbidden patterns",
"Related controls",
"When NOT to use this helper",
"References",
],
},
{
slug: "route-guard-tiers",
title: "Route Guard Tiers",
fileName: "security/ROUTE_GUARD_TIERS.md",
section: "Security",
content:
"All OmniRoute management API routes are classified into one of three protection tiers. Classification is static, defined in src/server/authz/routeGuard.ts, and evaluated unconditionally on every request before any auth logic runs. Enforced by: isLocalOnlyPath(path) → loopback host check Bypass: None",
headings: [
"Overview",
"Tiers",
"Tier 1 — LOCAL_ONLY",
"Tier 2 — ALWAYS_PROTECTED",
"Tier 3 — MANAGEMENT (default)",
"Evaluation order",
"Adding a new spawn-capable route",
"Files",
"See also",
],
},
{
slug: "stealth-guide",
title: "Stealth Guide",
fileName: "security/STEALTH_GUIDE.md",
section: "Security",
content:
"Source of truth: open-sse/utils/tlsClient.ts, open-sse/services/{chatgptTlsClient,claudeCodeCCH,claudeCodeFingerprint,claudeCodeObfuscation,claudeCodeCompatible,antigravityObfuscation}.ts, open-sse/config/cliFingerprints.ts, src/mitm/ Last updated: 2026-05-13 — v3.8.0 Audience: Engineers maintaining",
headings: [
"Legal and Ethical Notice",
"TLS Fingerprinting Layer",
"open-sse/utils/tlsClient.ts — wreq-js (Chrome 124)",
"open-sse/services/chatgptTlsClient.ts — tls-client-node (Firefox 148)",
"Claude Code Stealth Bundle",
"claudeCodeFingerprint.ts",
"claudeCodeCCH.ts (Client Content Hash)",
"claudeCodeObfuscation.ts",
"claudeCodeCompatible.ts — anthropic-compatible-cc- providers",
"Antigravity Stealth",
],
},
{
slug: "compression-engines",
title: "Compression Engines",
fileName: "compression/COMPRESSION_ENGINES.md",
section: "Compression",
content:
"OmniRoute compression is built around engine contracts. A mode can run one engine directly (caveman or rtk) or a deterministic stacked pipeline that executes multiple engines in order. Mode Engine path Intended input ------------ ---------------------------------- -----------------------------------",
headings: [
"Modes",
"Engine Registry",
"MCP description compression (related)",
"Caveman",
"RTK",
"Stacked Pipelines",
"MCP Accessibility Tree Filter",
"What it does",
"Engine location",
"Configuration",
],
},
{
slug: "compression-guide",
title: "🗜️ Prompt Compression Guide — OmniRoute",
fileName: "compression/COMPRESSION_GUIDE.md",
section: "Compression",
content:
"Save 15-95% on eligible context automatically. For a quick overview, see the README Compression section. OmniRoute implements a modular prompt compression pipeline that runs proactively before requests hit upstream providers. This means your token savings happen transparently — no changes needed to ",
headings: [
"Overview",
"Compression Modes",
"Off",
"Lite Mode (~15% savings, <1ms latency)",
"Standard Mode (~30% savings)",
"Aggressive Mode (~50% savings)",
"Ultra Mode (~75% savings)",
"RTK Mode (60-90% upstream range)",
"Stacked Mode (78-95% eligible range)",
"Upstream Savings Math",
],
},
{
slug: "compression-language-packs",
title: "Compression Language Packs",
fileName: "compression/COMPRESSION_LANGUAGE_PACKS.md",
section: "Compression",
content:
"Caveman compression can load language-specific rule packs in addition to the built-in English rules. This keeps the core engine stable while allowing Portuguese, Spanish, German, French, Japanese, and future language packs to evolve independently. Language packs live under: Current shipped packs (ve",
headings: [
"Location",
"Language Detection",
"Config Shape",
"Adding a Language Pack",
"API",
"SHARED_BOUNDARIES (v3.8.0)",
"Why this matters",
"Customizing preservePatterns",
"Operational Notes",
],
},
{
slug: "compression-rules-format",
title: "Compression Rules Format",
fileName: "compression/COMPRESSION_RULES_FORMAT.md",
section: "Compression",
content:
"Compression rules are JSON files loaded at runtime. They are intentionally data-only so new language packs and RTK command filters can be reviewed without changing engine code. Canonical schema (source of truth): open-sse/services/compression/rules/schema.json (JSON Schema draft 2020-12). The exampl",
headings: [
"Caveman Rule Packs",
"Caveman Fields",
"RTK Filter Packs",
"RTK Fields",
"Safety Rules",
"Validation",
],
},
{
slug: "rtk-compression",
title: "RTK Compression",
fileName: "compression/RTK_COMPRESSION.md",
section: "Compression",
content:
"RTK compression is OmniRoute's command-aware compression engine for terminal and tool output. It is designed for coding-agent sessions where most context growth comes from test logs, build output, package manager noise, shell transcripts, Docker output, git output, and stack traces. RTK can run dire",
headings: [
"What It Compresses",
"Filter Resolution",
"Filter DSL",
"Configuration",
"API",
"Raw Output Recovery",
"Verify Gate",
"Extending RTK",
],
},
{
slug: "coverage-plan",
title: "Test Coverage Plan",
fileName: "ops/COVERAGE_PLAN.md",
section: "Ops",
content:
"Last updated: 2026-05-13 Status measured on 2026-05-13: lines 82.58%, statements 82.58%, functions 84.23%, branches 75.22%. Phases 1-5 are complete. Current focus is Phase 6 (=85%) and Phase 7 (=90%). There are multiple coverage numbers depending on how the report is computed. For planning, only one",
headings: [
"Baseline",
"Rules",
"Current command set",
"Milestones",
"Priority hotspots",
"Execution checklist",
"Phase 1: 56.95% -> 60%",
"Phase 2: 60% -> 65%",
"Phase 3: 65% -> 70%",
"Phase 4: 70% -> 75%",
],
},
{
slug: "e2e-dashboard-shakedown-v3.8.0",
title: "E2E Dashboard Shakedown — v3.8.0",
fileName: "ops/E2E_DASHBOARD_SHAKEDOWN_v3.8.0.md",
section: "Ops",
content:
"Branch alvo: release/v3.8.0 Objetivo: validar manualmente, em modo dev (Turbopack), que toda página renderiza sem erro de runtime ou de backend antes de fechar a versão 3.8.0. Para cada erro encontrado, o operador corrige na própria página e segue para a próxima — esse documento é o roteiro vivo da ",
headings: [
"0. Pré-requisitos (rodar uma vez)",
"0.1 Estado do repositório",
"0.2 Conflito conhecido — diretório app/ na raiz",
"0.3 Cache do Turbopack",
"0.4 Dev server",
"0.5 Browser",
"0.6 Side-channel — busca por erros no backend",
'1. O que conta como "passou"',
"2. Categorias de erro mais comuns e padrão de correção",
"3. Checklist de páginas (ordem sugerida)",
],
},
{
slug: "fly-io-deployment-guide",
title: "OmniRoute Fly.io 部署指南",
fileName: "ops/FLY_IO_DEPLOYMENT_GUIDE.md",
section: "Ops",
content:
"本文档记录 OmniRoute 在 Fly.io 上的实际部署方法,适用于两类场景: - 首次把当前项目部署到 Fly.io - 后续代码更新后继续发布 - 新项目参考同样流程部署 本文基于当前项目已经验证通过的配置整理,应用名为 omniroute。 当前仓库中的 fly.toml 已确认包含以下关键项: 说明: - app = 'omniroute' 决定实际部署到哪个 Fly 应用 - destination = '/data' 决定持久卷挂载目录 - 本项目必须让 DATADIR=/data否则数据库和密钥会写到容器临时目录 --- Windows PowerShell 如果安装脚",
headings: [
"1. 部署目标",
"2. 当前项目关键配置",
"3. 必备工具",
"3.1 安装 Fly CLI",
"3.2 登录 Fly 账号",
"3.3 检查登录状态",
"4. 首次部署当前项目",
"4.1 获取代码并进入目录",
"4.2 确认应用名",
"4.3 创建应用",
],
},
{
slug: "proxy-guide",
title: "🌐 OmniRoute Proxy Guide",
fileName: "ops/PROXY_GUIDE.md",
section: "Ops",
content:
"Bypass geographic blocks, protect your identity, and route AI traffic through any proxy — with zero configuration complexity. OmniRoute includes a full-featured proxy management system that lets you route upstream AI provider traffic through HTTP, HTTPS, or SOCKS5 proxies. Whether you're in a blocke",
headings: [
"Table of Contents",
"Why Use Proxies?",
"Architecture Overview",
"Key Components",
"4-Level Proxy System",
"How Resolution Works",
"What Gets Proxied",
"Proxy Registry (CRUD)",
"Creating a Proxy",
"Updating a Proxy",
],
},
{
slug: "release-checklist",
title: "Release Checklist",
fileName: "ops/RELEASE_CHECKLIST.md",
section: "Ops",
content:
"Last updated: 2026-05-13 — v3.8.0 Streamlined release flow that leverages Claude Code skills for automation. - [ ] All PRs targeted to this release are merged to release/vX.Y.0 - [ ] All open Linear/issue items for this version are closed or pushed to next milestone - [ ] CI green on release/vX.Y.0 ",
headings: [
"TL;DR",
"Detailed Checklist",
"Pre-release",
"Version & Changelog",
"Code Quality",
"Testing",
"Hooks (Husky validated)",
"Conventional Commits",
"Documentation",
"i18n",
],
},
{
slug: "sqlite-runtime",
title: "SQLite Runtime Resolution",
fileName: "ops/SQLITE_RUNTIME.md",
section: "Ops",
content:
"OmniRoute resolves its SQLite driver at startup through a 5-step fallback chain: 1. Bundled better-sqlite3 (via dependencies in package.json) — fastest, native binary, installed by npm install when build tools are present. 2. Runtime-installed better-sqlite3 (in /.omniroute/runtime/) — installed laz",
headings: [
"Why this complexity?",
"Magic-byte validation",
"Checking the active driver",
"Manual control",
"Reference",
],
},
{
slug: "tunnels-guide",
title: "Tunnels Guide",
fileName: "ops/TUNNELS_GUIDE.md",
section: "Ops",
content:
"Source of truth: src/lib/{cloudflaredTunnel,ngrokTunnel,tailscaleTunnel}.ts, src/app/api/tunnels/ Last updated: 2026-05-13 — v3.8.0 OmniRoute can expose its local server (http://localhost:20128) to the public internet via three tunnel backends. This is useful for: - OAuth callbacks from cloud provid",
headings: [
"Backends at a glance",
"1. Cloudflare Tunnel (Quick Tunnel)",
"Enable / disable via REST",
"Optional env vars",
"2. ngrok",
"Prerequisites",
"Enable / disable via REST",
"3. Tailscale Funnel",
"Prerequisites",
"REST endpoints",
],
},
{
slug: "vm-deployment-guide",
title: "OmniRoute — Deployment Guide on VM with Cloudflare",
fileName: "ops/VM_DEPLOYMENT_GUIDE.md",
section: "Ops",
content:
"🌐 Languages: 🇺🇸 English 🇧🇷 Português (Brasil) 🇪🇸 Español 🇫🇷 Français 🇮🇹 Italiano 🇷🇺 Русский 🇨🇳 中文 (简体) 🇩🇪 Deutsch 🇮🇳 हिन्दी 🇹🇭 ไทย 🇺🇦 Українська 🇸🇦 العربية 🇯🇵 日本語 🇻🇳 Tiếng Việt 🇧🇬 Български 🇩🇰 Dansk 🇫🇮 Suomi 🇮🇱 עברית 🇭🇺 Magyar 🇮🇩 Bahasa Indonesia 🇰🇷 한국어 🇲\ud83c",
headings: [
"Prerequisites",
"1. Configure the VM",
"1.1 Create the instance",
"1.2 Connect via SSH",
"1.3 Update the system",
"1.4 Install Docker",
"1.5 Install nginx",
"1.6 Configure Firewall (UFW)",
"2. Install OmniRoute",
"2.1 Create configuration directory",
],
},
{
slug: "api-explorer",
title: "API Explorer",
fileName: "reference/API_REFERENCE.md",
section: "Reference",
content: "interactive try it live api explorer endpoint test request response curl example",
headings: ["Try It", "Endpoints"],
},
];
export const autoAllSlugs: string[] = [
"architecture",
"authz-guide",
"codebase-documentation",
"repository-map",
"resilience-guide",
"docker-guide",
"electron-guide",
"features",
"i18n",
"kiro-setup",
"pwa-guide",
"setup-guide",
"termux-guide",
"troubleshooting",
"uninstall",
"user-guide",
"api-reference",
"cli-tools",
"environment",
"free-tiers",
"provider-reference",
"a2a-server",
"agent-protocols-guide",
"cloud-agent",
"evals",
"gamification",
"mcp-server",
"memory",
"opencode",
"skills",
"webhooks",
"auto-combo",
"reasoning-replay",
"cli-token",
"cli-token-auth",
"compliance",
"error-sanitization",
"guardrails",
"public-creds",
"route-guard-tiers",
"stealth-guide",
"compression-engines",
"compression-guide",
"compression-language-packs",
"compression-rules-format",
"rtk-compression",
"coverage-plan",
"e2e-dashboard-shakedown-v3.8.0",
"fly-io-deployment-guide",
"proxy-guide",
"release-checklist",
"sqlite-runtime",
"tunnels-guide",
"vm-deployment-guide",
];