How rajeshkumar9490/omniroute works
OmniRoute is a local-first AI gateway that gives coding agents and other clients one API across many model providers. The principal workflow is request submission, routing through a selected provider/model (with combo strategies and fallback), and returning a compatible response; optional compression can reduce prompt tokens. The repository also exposes management through a dashboard and CLI, and documents MCP/A2A integrations. The tree and excerpts support the component map, but do not show the full server route wiring, so uncertain internal links are omitted.
Main entry points: open-sse Unified API · services Combo Routing · index.ts Provider Executors · src Web Dashboard
Components 16
Gateway Runtime
- Unified API
open-sse - Request Authorization
src/server/authz/pipeline.ts
Routing And Providers
- Provider Catalog
open-sse/config/providers - Provider Executors
open-sse/executors/index.ts - Combo Routing
open-sse/services - Sequential Pipeline
open-sse/services/pipeline.ts - Parallel Chaos
open-sse/services/autoCombo/chaosEngine.ts
Management
- Web Dashboard
src - CLI
bin/cli/program.mjs - MCP Server
bin/mcp-server.mjs - Application State
bin/cli/sqlite.mjs
Optimization
- Compression Engines
open-sse/services/compression/engineCatalog.ts - Compression Preview
src/hooks/usePreviewCompression.ts
Other components
- AI Client
- AI Providers
- Model Response
Connections 16
- AI Client → Unified API: sends request
- Unified API → Request Authorization: checks access
- Unified API → Combo Routing: selects strategy
- Combo Routing → Provider Executors: dispatches model
- Provider Catalog → Provider Executors: defines providers
- Provider Executors → AI Providers: calls upstream
- AI Providers → Model Response: returns output
- Provider Executors → Model Response: normalizes output
- Combo Routing → Sequential Pipeline: runs sequential
- Combo Routing → Parallel Chaos: fans out
- Compression Preview → Unified API: requests preview
- Web Dashboard → Compression Preview: previews compression
- Web Dashboard → Unified API: uses API
- CLI → Unified API: manages gateway
- MCP Server → Unified API: exposes tools
- CLI → Application State: reads and writes