Gateway/routing
serviceRoute requests among providers/models.
Local-first AI gateway routing coding agents across hundreds of providers/models with fallback, dashboard, MCP/A2A, and RTK/Caveman prompt compression.
Local-first AI gateway routing coding agents across hundreds of providers/models with fallback, dashboard, MCP/A2A, and RTK/Caveman prompt compression.
curl http://localhost:20128/v1/modelsEach card below corresponds to a component identified in the repository research. Open a component record for its path, purpose, capabilities, dependencies, risks, and relationships.
Route requests among providers/models.
Off/lite/standard/aggressive/ultra/RTK/stacked modes.
Configure/test compression engines and rules.
Expose gateway/cache/compression tools.
Agent-to-agent JSON-RPC.
Visual gateway control plane.
These capabilities are derived from the current first-party README and supporting documentation. Names follow upstream terminology so you can search the source documentation precisely.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns 💰 ~1.51b free tokens / month. Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns 📈 the gateway keeps growing. Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns 🧩 available. Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns 🎯 combos — the flagship. Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns ⚡ zero-config — just use auto. Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns ### 🔀 or build your own — 19 routing strategies. Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns ### 🧱 resilience is built in (3 independent layers). Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns 🏆 what sets omniroute apart. Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns 📡 omniroute radar. Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns ✨ what's new. Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns 🤖 compatible clis & coding agents. Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Upstream treats this as a distinct part of diegosouzapw/OmniRoute. In plain language, use this area when your task concerns 🌐 341 ai providers — 90+ free. Begin with the documented default, test it on disposable input, and open the source section for its current options and limitations.
Start with one capability card instead of asking the repository to do everything at once. This makes permissions, inputs, and output easier to understand.
Use a sample URL, copied repository, test document, or sandbox account. Keep production credentials and irreplaceable files out of the first run.
Watch Terminal output or the host application's activity view. If the behavior differs from the README, stop with Control + C or cancel inside the host before retrying.
Check generated files, diffs, API responses, logs, or previews. Never assume “command finished” means the result is correct.
Record the working command and non-secret configuration in your project's README. Store secrets in the documented environment file or password manager.
These examples are selected from the repository's first-party documentation. Replace obvious placeholders, keep quotation marks intact, and run them only in the context indicated by the surrounding explanation.
omniroute connect 192.168.0.15 # password → scoped token, saved as a context
omniroute models list # ← runs against the REMOTE server
omniroute configure codex # ← picks a remote model, writes a local Codex profile
omniroute tokens create --name ci --scope read # mint narrower tokens for other machines
omniroute contexts use default # ← switch back to the local server# 1. Prepare the bind-mounted data directory
mkdir -p data
# 2. Linux + local rootless Podman only (never a remote Podman Machine client):
podman unshare chown 1000:1000 ./data
# 3. Set the runtime hint, build the local Compose image, and start
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --buildomniroute # serve gateway + dashboard (port 20128)
omniroute chat # interactive TUI chat client (slash: /model /combo /skill /memory)
omniroute setup # guided first-run wizard
omniroute doctor # diagnose providers, ports, native depsNone documented
A configuration file changes behavior without changing source code. Make one change at a time and keep a backup before editing JSON, TOML, YAML, or environment files.
skills/, open-sse/services/compression/, docs/
Paths identify where the relevant implementation or generated files live. Paths beginning with ~ are inside your home folder.
provider credentials, management token/key
Prefer temporary, least-privileged credentials. Never commit .env, tokens, cookies, private keys, or session exports.
LLM providers
Check pricing, data retention, rate limits, and account permissions before enabling optional integrations.
git diff before committing.127.0.0.1 unless you intentionally secure and expose them.The manual reflects first-party files checked on August 18, 2026. It explains the indexed repository rather than promising that every optional third-party integration is available or safe.