omniroute 1.6.3 → 1.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ar.md +131 -178
- package/README.bg.md +132 -259
- package/README.da.md +132 -259
- package/README.de.md +85 -129
- package/README.es.md +89 -129
- package/README.fi.md +133 -260
- package/README.fr.md +87 -129
- package/README.he.md +132 -259
- package/README.hu.md +132 -259
- package/README.id.md +132 -259
- package/README.in.md +75 -140
- package/README.it.md +85 -129
- package/README.ja.md +132 -178
- package/README.ko.md +132 -259
- package/README.md +172 -286
- package/README.ms.md +132 -259
- package/README.nl.md +132 -259
- package/README.no.md +132 -259
- package/README.phi.md +133 -260
- package/README.pl.md +133 -260
- package/README.pt-BR.md +100 -129
- package/README.pt.md +135 -262
- package/README.ro.md +133 -260
- package/README.ru.md +85 -129
- package/README.sk.md +132 -259
- package/README.sv.md +132 -259
- package/README.th.md +132 -259
- package/README.uk-UA.md +132 -259
- package/README.vi.md +132 -259
- package/README.zh-CN.md +85 -129
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +30 -30
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cache/route.js +2 -2
- package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cache/stats/route.js +1 -1
- package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/status/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/route.js +1 -1
- package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/monitoring/health/route.js +1 -1
- package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/proxy-logs/route.js +3 -3
- package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page.js +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +30 -30
- package/app/.next/server/chunks/2767.js +11 -11
- package/app/.next/server/chunks/5393.js +1 -1
- package/app/.next/server/chunks/7109.js +3 -3
- package/app/.next/server/chunks/7230.js +5 -5
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{5846-8360aca41de8628b.js → 5846-79cfb6380345004d.js} +1 -1
- package/app/package.json +10 -2
- package/bin/omniroute.mjs +71 -7
- package/package.json +10 -2
- /package/app/.next/static/{iqSCUTEzH78lajJjqTmE_ → 3vFcTa-1x8yNMMbXwOlmb}/_buildManifest.js +0 -0
- /package/app/.next/static/{iqSCUTEzH78lajJjqTmE_ → 3vFcTa-1x8yNMMbXwOlmb}/_ssgManifest.js +0 -0
package/README.md
CHANGED
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
# 🚀 OmniRoute — The Free AI Gateway
|
|
5
5
|
|
|
6
|
-
🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)**
|
|
7
|
-
|
|
8
6
|
### Never stop coding. Smart routing to **FREE & low-cost AI models** with automatic fallback.
|
|
9
7
|
|
|
10
8
|
_Your universal API proxy — one endpoint, 36+ providers, zero downtime._
|
|
@@ -13,6 +11,20 @@ _Your universal API proxy — one endpoint, 36+ providers, zero downtime._
|
|
|
13
11
|
|
|
14
12
|
---
|
|
15
13
|
|
|
14
|
+
[](https://www.npmjs.com/package/omniroute)
|
|
15
|
+
[](https://hub.docker.com/r/diegosouzapw/omniroute)
|
|
16
|
+
[](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
|
|
17
|
+
[](https://omniroute.online)
|
|
18
|
+
[](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
19
|
+
|
|
20
|
+
[🌐 Website](https://omniroute.online) • [🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [📖 Docs](#-documentation) • [💰 Pricing](#-pricing-at-a-glance) • [💬 WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
21
|
+
|
|
22
|
+
🌐 **Available in:** 🇺🇸 [English](README.md) | 🇧🇷 [Português (Brasil)](README.pt-BR.md) | 🇪🇸 [Español](README.es.md) | 🇫🇷 [Français](README.fr.md) | 🇮🇹 [Italiano](README.it.md) | 🇷🇺 [Русский](README.ru.md) | 🇨🇳 [中文 (简体)](README.zh-CN.md) | 🇩🇪 [Deutsch](README.de.md) | 🇮🇳 [हिन्दी](README.in.md) | 🇹🇭 [ไทย](README.th.md) | 🇺🇦 [Українська](README.uk-UA.md) | 🇸🇦 [العربية](README.ar.md) | 🇯🇵 [日本語](README.ja.md) | 🇻🇳 [Tiếng Việt](README.vi.md) | 🇧🇬 [Български](README.bg.md) | 🇩🇰 [Dansk](README.da.md) | 🇫🇮 [Suomi](README.fi.md) | 🇮🇱 [עברית](README.he.md) | 🇭🇺 [Magyar](README.hu.md) | 🇮🇩 [Bahasa Indonesia](README.id.md) | 🇰🇷 [한국어](README.ko.md) | 🇲🇾 [Bahasa Melayu](README.ms.md) | 🇳🇱 [Nederlands](README.nl.md) | 🇳🇴 [Norsk](README.no.md) | 🇵🇹 [Português (Portugal)](README.pt.md) | 🇷🇴 [Română](README.ro.md) | 🇵🇱 [Polski](README.pl.md) | 🇸🇰 [Slovenčina](README.sk.md) | 🇸🇪 [Svenska](README.sv.md) | 🇵🇭 [Filipino](README.phi.md)
|
|
23
|
+
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
16
28
|
### 🤖 Free AI Provider for your favorite coding agents
|
|
17
29
|
|
|
18
30
|
_Connect any AI-powered IDE or CLI tool through OmniRoute — free API gateway for unlimited coding._
|
|
@@ -98,17 +110,15 @@ _Connect any AI-powered IDE or CLI tool through OmniRoute — free API gateway f
|
|
|
98
110
|
|
|
99
111
|
---
|
|
100
112
|
|
|
101
|
-
|
|
102
|
-
[](https://hub.docker.com/r/diegosouzapw/omniroute)
|
|
103
|
-
[](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
|
|
104
|
-
[](https://omniroute.online)
|
|
105
|
-
[](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
106
|
-
|
|
107
|
-
[🌐 Website](https://omniroute.online) • [🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [📖 Docs](#-documentation) • [💰 Pricing](#-pricing-at-a-glance) • [💬 WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
113
|
+
## 📧 Support
|
|
108
114
|
|
|
109
|
-
|
|
115
|
+
> 💬 **Join our community!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Get help, share tips, and stay updated.
|
|
110
116
|
|
|
111
|
-
|
|
117
|
+
- **Website**: [omniroute.online](https://omniroute.online)
|
|
118
|
+
- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
|
|
119
|
+
- **Issues**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
|
|
120
|
+
- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
121
|
+
- **Original Project**: [9router by decolua](https://github.com/decolua/9router)
|
|
112
122
|
|
|
113
123
|
---
|
|
114
124
|
|
|
@@ -259,6 +269,43 @@ docker compose --profile cli up -d
|
|
|
259
269
|
|
|
260
270
|
---
|
|
261
271
|
|
|
272
|
+
## 🖥️ Desktop App — Offline & Always-On
|
|
273
|
+
|
|
274
|
+
> 🆕 **NEW!** OmniRoute is now available as a **native desktop application** for Windows, macOS, and Linux.
|
|
275
|
+
|
|
276
|
+
Run OmniRoute as a standalone desktop app — no terminal, no browser, no internet required for local models. The Electron-based app includes:
|
|
277
|
+
|
|
278
|
+
- 🖥️ **Native Window** — Dedicated app window with system tray integration
|
|
279
|
+
- 🔄 **Auto-Start** — Launch OmniRoute on system login
|
|
280
|
+
- 🔔 **Native Notifications** — Get alerts for quota exhaustion or provider issues
|
|
281
|
+
- ⚡ **One-Click Install** — NSIS (Windows), DMG (macOS), AppImage (Linux)
|
|
282
|
+
- 🌐 **Offline Mode** — Works fully offline with bundled server
|
|
283
|
+
|
|
284
|
+
### Quick Start
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
# Development mode
|
|
288
|
+
npm run electron:dev
|
|
289
|
+
|
|
290
|
+
# Build for your platform
|
|
291
|
+
npm run electron:build # Current platform
|
|
292
|
+
npm run electron:build:win # Windows (.exe)
|
|
293
|
+
npm run electron:build:mac # macOS (.dmg) — x64 & arm64
|
|
294
|
+
npm run electron:build:linux # Linux (.AppImage)
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### System Tray
|
|
298
|
+
|
|
299
|
+
When minimized, OmniRoute lives in your system tray with quick actions:
|
|
300
|
+
|
|
301
|
+
- Open dashboard
|
|
302
|
+
- Change server port
|
|
303
|
+
- Quit application
|
|
304
|
+
|
|
305
|
+
📖 Full documentation: [`electron/README.md`](electron/README.md)
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
262
309
|
## 💰 Pricing at a Glance
|
|
263
310
|
|
|
264
311
|
| Tier | Provider | Cost | Quota Reset | Best For |
|
|
@@ -284,67 +331,6 @@ docker compose --profile cli up -d
|
|
|
284
331
|
|
|
285
332
|
---
|
|
286
333
|
|
|
287
|
-
## 🎯 Use Cases
|
|
288
|
-
|
|
289
|
-
### Case 1: "I have Claude Pro subscription"
|
|
290
|
-
|
|
291
|
-
**Problem:** Quota expires unused, rate limits during heavy coding
|
|
292
|
-
|
|
293
|
-
```
|
|
294
|
-
Combo: "maximize-claude"
|
|
295
|
-
1. cc/claude-opus-4-6 (use subscription fully)
|
|
296
|
-
2. glm/glm-4.7 (cheap backup when quota out)
|
|
297
|
-
3. if/kimi-k2-thinking (free emergency fallback)
|
|
298
|
-
|
|
299
|
-
Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total
|
|
300
|
-
vs. $20 + hitting limits = frustration
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
### Case 2: "I want zero cost"
|
|
304
|
-
|
|
305
|
-
**Problem:** Can't afford subscriptions, need reliable AI coding
|
|
306
|
-
|
|
307
|
-
```
|
|
308
|
-
Combo: "free-forever"
|
|
309
|
-
1. gc/gemini-3-flash (180K free/month)
|
|
310
|
-
2. if/kimi-k2-thinking (unlimited free)
|
|
311
|
-
3. qw/qwen3-coder-plus (unlimited free)
|
|
312
|
-
|
|
313
|
-
Monthly cost: $0
|
|
314
|
-
Quality: Production-ready models
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
### Case 3: "I need 24/7 coding, no interruptions"
|
|
318
|
-
|
|
319
|
-
**Problem:** Deadlines, can't afford downtime
|
|
320
|
-
|
|
321
|
-
```
|
|
322
|
-
Combo: "always-on"
|
|
323
|
-
1. cc/claude-opus-4-6 (best quality)
|
|
324
|
-
2. cx/gpt-5.2-codex (second subscription)
|
|
325
|
-
3. glm/glm-4.7 (cheap, resets daily)
|
|
326
|
-
4. minimax/MiniMax-M2.1 (cheapest, 5h reset)
|
|
327
|
-
5. if/kimi-k2-thinking (free unlimited)
|
|
328
|
-
|
|
329
|
-
Result: 5 layers of fallback = zero downtime
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
### Case 4: "I want FREE AI in OpenClaw"
|
|
333
|
-
|
|
334
|
-
**Problem:** Need AI assistant in messaging apps, completely free
|
|
335
|
-
|
|
336
|
-
```
|
|
337
|
-
Combo: "openclaw-free"
|
|
338
|
-
1. if/glm-4.7 (unlimited free)
|
|
339
|
-
2. if/minimax-m2.1 (unlimited free)
|
|
340
|
-
3. if/kimi-k2-thinking (unlimited free)
|
|
341
|
-
|
|
342
|
-
Monthly cost: $0
|
|
343
|
-
Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
---
|
|
347
|
-
|
|
348
334
|
## 💡 Key Features
|
|
349
335
|
|
|
350
336
|
### 🧠 Core Routing & Intelligence
|
|
@@ -505,6 +491,67 @@ OmniRoute includes a powerful built-in Translator Playground with **4 modes** fo
|
|
|
505
491
|
|
|
506
492
|
---
|
|
507
493
|
|
|
494
|
+
## 🎯 Use Cases
|
|
495
|
+
|
|
496
|
+
### Case 1: "I have Claude Pro subscription"
|
|
497
|
+
|
|
498
|
+
**Problem:** Quota expires unused, rate limits during heavy coding
|
|
499
|
+
|
|
500
|
+
```
|
|
501
|
+
Combo: "maximize-claude"
|
|
502
|
+
1. cc/claude-opus-4-6 (use subscription fully)
|
|
503
|
+
2. glm/glm-4.7 (cheap backup when quota out)
|
|
504
|
+
3. if/kimi-k2-thinking (free emergency fallback)
|
|
505
|
+
|
|
506
|
+
Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total
|
|
507
|
+
vs. $20 + hitting limits = frustration
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
### Case 2: "I want zero cost"
|
|
511
|
+
|
|
512
|
+
**Problem:** Can't afford subscriptions, need reliable AI coding
|
|
513
|
+
|
|
514
|
+
```
|
|
515
|
+
Combo: "free-forever"
|
|
516
|
+
1. gc/gemini-3-flash (180K free/month)
|
|
517
|
+
2. if/kimi-k2-thinking (unlimited free)
|
|
518
|
+
3. qw/qwen3-coder-plus (unlimited free)
|
|
519
|
+
|
|
520
|
+
Monthly cost: $0
|
|
521
|
+
Quality: Production-ready models
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
### Case 3: "I need 24/7 coding, no interruptions"
|
|
525
|
+
|
|
526
|
+
**Problem:** Deadlines, can't afford downtime
|
|
527
|
+
|
|
528
|
+
```
|
|
529
|
+
Combo: "always-on"
|
|
530
|
+
1. cc/claude-opus-4-6 (best quality)
|
|
531
|
+
2. cx/gpt-5.2-codex (second subscription)
|
|
532
|
+
3. glm/glm-4.7 (cheap, resets daily)
|
|
533
|
+
4. minimax/MiniMax-M2.1 (cheapest, 5h reset)
|
|
534
|
+
5. if/kimi-k2-thinking (free unlimited)
|
|
535
|
+
|
|
536
|
+
Result: 5 layers of fallback = zero downtime
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
### Case 4: "I want FREE AI in OpenClaw"
|
|
540
|
+
|
|
541
|
+
**Problem:** Need AI assistant in messaging apps, completely free
|
|
542
|
+
|
|
543
|
+
```
|
|
544
|
+
Combo: "openclaw-free"
|
|
545
|
+
1. if/glm-4.7 (unlimited free)
|
|
546
|
+
2. if/minimax-m2.1 (unlimited free)
|
|
547
|
+
3. if/kimi-k2-thinking (unlimited free)
|
|
548
|
+
|
|
549
|
+
Monthly cost: $0
|
|
550
|
+
Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
---
|
|
554
|
+
|
|
508
555
|
## 📖 Setup Guide
|
|
509
556
|
|
|
510
557
|
<details>
|
|
@@ -785,104 +832,90 @@ Settings → API Configuration:
|
|
|
785
832
|
|
|
786
833
|
---
|
|
787
834
|
|
|
788
|
-
##
|
|
789
|
-
|
|
790
|
-
<details>
|
|
791
|
-
<summary><b>View all available models</b></summary>
|
|
792
|
-
|
|
793
|
-
**Claude Code (`cc/`)** - Pro/Max:
|
|
794
|
-
|
|
795
|
-
- `cc/claude-opus-4-6`
|
|
796
|
-
- `cc/claude-sonnet-4-5-20250929`
|
|
797
|
-
- `cc/claude-haiku-4-5-20251001`
|
|
798
|
-
|
|
799
|
-
**Codex (`cx/`)** - Plus/Pro:
|
|
800
|
-
|
|
801
|
-
- `cx/gpt-5.2-codex`
|
|
802
|
-
- `cx/gpt-5.1-codex-max`
|
|
803
|
-
|
|
804
|
-
**Gemini CLI (`gc/`)** - FREE:
|
|
835
|
+
## 🧪 Evaluations (Evals)
|
|
805
836
|
|
|
806
|
-
-
|
|
807
|
-
- `gc/gemini-2.5-pro`
|
|
837
|
+
OmniRoute includes a built-in evaluation framework to test LLM response quality against a golden set. Access it via **Analytics → Evals** in the dashboard.
|
|
808
838
|
|
|
809
|
-
|
|
839
|
+
### Built-in Golden Set
|
|
810
840
|
|
|
811
|
-
-
|
|
812
|
-
- `gh/claude-4.5-sonnet`
|
|
841
|
+
The pre-loaded "OmniRoute Golden Set" contains 10 test cases covering:
|
|
813
842
|
|
|
814
|
-
|
|
843
|
+
- Greetings, math, geography, code generation
|
|
844
|
+
- JSON format compliance, translation, markdown
|
|
845
|
+
- Safety refusal (harmful content), counting, boolean logic
|
|
815
846
|
|
|
816
|
-
|
|
817
|
-
- `nvidia/mistral-7b-instruct`
|
|
818
|
-
- 50+ more models on [build.nvidia.com](https://build.nvidia.com)
|
|
847
|
+
### Evaluation Strategies
|
|
819
848
|
|
|
820
|
-
|
|
849
|
+
| Strategy | Description | Example |
|
|
850
|
+
| ---------- | ------------------------------------------------ | -------------------------------- |
|
|
851
|
+
| `exact` | Output must match exactly | `"4"` |
|
|
852
|
+
| `contains` | Output must contain substring (case-insensitive) | `"Paris"` |
|
|
853
|
+
| `regex` | Output must match regex pattern | `"1.*2.*3"` |
|
|
854
|
+
| `custom` | Custom JS function returns true/false | `(output) => output.length > 10` |
|
|
821
855
|
|
|
822
|
-
|
|
856
|
+
---
|
|
823
857
|
|
|
824
|
-
|
|
858
|
+
## 🐛 Troubleshooting
|
|
825
859
|
|
|
826
|
-
|
|
860
|
+
<details>
|
|
861
|
+
<summary><b>Click to expand troubleshooting guide</b></summary>
|
|
827
862
|
|
|
828
|
-
**
|
|
863
|
+
**"Language model did not provide messages"**
|
|
829
864
|
|
|
830
|
-
-
|
|
831
|
-
-
|
|
832
|
-
- `if/deepseek-r1`
|
|
833
|
-
- `if/glm-4.7`
|
|
834
|
-
- `if/minimax-m2`
|
|
865
|
+
- Provider quota exhausted → Check dashboard quota tracker
|
|
866
|
+
- Solution: Use combo fallback or switch to cheaper tier
|
|
835
867
|
|
|
836
|
-
**
|
|
868
|
+
**Rate limiting**
|
|
837
869
|
|
|
838
|
-
-
|
|
839
|
-
- `
|
|
870
|
+
- Subscription quota out → Fallback to GLM/MiniMax
|
|
871
|
+
- Add combo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
|
|
840
872
|
|
|
841
|
-
**
|
|
873
|
+
**OAuth token expired**
|
|
842
874
|
|
|
843
|
-
-
|
|
844
|
-
-
|
|
875
|
+
- Auto-refreshed by OmniRoute
|
|
876
|
+
- If issues persist: Dashboard → Provider → Reconnect
|
|
845
877
|
|
|
846
|
-
**
|
|
878
|
+
**High costs**
|
|
847
879
|
|
|
848
|
-
-
|
|
849
|
-
-
|
|
850
|
-
-
|
|
880
|
+
- Check usage stats in Dashboard → Costs
|
|
881
|
+
- Switch primary model to GLM/MiniMax
|
|
882
|
+
- Use free tier (Gemini CLI, iFlow) for non-critical tasks
|
|
851
883
|
|
|
852
|
-
|
|
884
|
+
**Dashboard/API ports are wrong**
|
|
853
885
|
|
|
854
|
-
|
|
886
|
+
- `PORT` is the canonical base port (and API port by default)
|
|
887
|
+
- `API_PORT` overrides only OpenAI-compatible API listener
|
|
888
|
+
- `DASHBOARD_PORT` overrides only dashboard/Next.js listener
|
|
889
|
+
- Set `NEXT_PUBLIC_BASE_URL` to your dashboard/public URL (for OAuth callbacks)
|
|
855
890
|
|
|
856
|
-
|
|
891
|
+
**Cloud sync errors**
|
|
857
892
|
|
|
858
|
-
|
|
893
|
+
- Verify `BASE_URL` points to your running instance
|
|
894
|
+
- Verify `CLOUD_URL` points to your expected cloud endpoint
|
|
895
|
+
- Keep `NEXT_PUBLIC_*` values aligned with server-side values
|
|
859
896
|
|
|
860
|
-
|
|
897
|
+
**First login not working**
|
|
861
898
|
|
|
862
|
-
|
|
899
|
+
- Check `INITIAL_PASSWORD` in `.env`
|
|
900
|
+
- If unset, fallback password is `123456`
|
|
863
901
|
|
|
864
|
-
|
|
865
|
-
- JSON format compliance, translation, markdown
|
|
866
|
-
- Safety refusal (harmful content), counting, boolean logic
|
|
902
|
+
**No request logs**
|
|
867
903
|
|
|
868
|
-
|
|
904
|
+
- Set `ENABLE_REQUEST_LOGS=true` in `.env`
|
|
869
905
|
|
|
870
|
-
|
|
871
|
-
| ---------- | ------------------------------------------------ | -------------------------------- |
|
|
872
|
-
| `exact` | Output must match exactly | `"4"` |
|
|
873
|
-
| `contains` | Output must contain substring (case-insensitive) | `"Paris"` |
|
|
874
|
-
| `regex` | Output must match regex pattern | `"1.*2.*3"` |
|
|
875
|
-
| `custom` | Custom JS function returns true/false | `(output) => output.length > 10` |
|
|
906
|
+
**Connection test shows "Invalid" for OpenAI-compatible providers**
|
|
876
907
|
|
|
877
|
-
|
|
908
|
+
- Many providers don't expose a `/models` endpoint
|
|
909
|
+
- OmniRoute v1.0.6+ includes fallback validation via chat completions
|
|
910
|
+
- Ensure base URL includes `/v1` suffix
|
|
878
911
|
|
|
879
|
-
|
|
912
|
+
### 🔐 OAuth em Servidor Remoto (Remote OAuth Setup)
|
|
880
913
|
|
|
881
914
|
<a name="oauth-em-servidor-remoto"></a>
|
|
882
915
|
|
|
883
916
|
> **⚠️ IMPORTANTE para usuários com OmniRoute em VPS/Docker/servidor remoto**
|
|
884
917
|
|
|
885
|
-
|
|
918
|
+
#### Por que o OAuth do Antigravity / Gemini CLI falha em servidores remotos?
|
|
886
919
|
|
|
887
920
|
Os provedores **Antigravity** e **Gemini CLI** usam **Google OAuth 2.0** para autenticação. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs pré-cadastradas no Google Cloud Console do aplicativo.
|
|
888
921
|
|
|
@@ -892,7 +925,7 @@ As credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas para `lo
|
|
|
892
925
|
Error 400: redirect_uri_mismatch
|
|
893
926
|
```
|
|
894
927
|
|
|
895
|
-
|
|
928
|
+
#### Solução: Configure suas próprias credenciais OAuth
|
|
896
929
|
|
|
897
930
|
Você precisa criar um **OAuth 2.0 Client ID** no Google Cloud Console com a URI do seu servidor.
|
|
898
931
|
|
|
@@ -955,7 +988,7 @@ Agora o Google redirecionará corretamente para `https://seu-servidor.com/callba
|
|
|
955
988
|
|
|
956
989
|
---
|
|
957
990
|
|
|
958
|
-
|
|
991
|
+
#### Workaround temporário (sem configurar credenciais próprias)
|
|
959
992
|
|
|
960
993
|
Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo **manual de URL**:
|
|
961
994
|
|
|
@@ -967,62 +1000,6 @@ Se não quiser criar credenciais próprias agora, ainda é possível usar o flux
|
|
|
967
1000
|
|
|
968
1001
|
> Este workaround funciona porque o código de autorização na URL é válido independente do redirect ter carregado ou não.
|
|
969
1002
|
|
|
970
|
-
---
|
|
971
|
-
|
|
972
|
-
## 🐛 Troubleshooting
|
|
973
|
-
|
|
974
|
-
<details>
|
|
975
|
-
<summary><b>Click to expand troubleshooting guide</b></summary>
|
|
976
|
-
|
|
977
|
-
**"Language model did not provide messages"**
|
|
978
|
-
|
|
979
|
-
- Provider quota exhausted → Check dashboard quota tracker
|
|
980
|
-
- Solution: Use combo fallback or switch to cheaper tier
|
|
981
|
-
|
|
982
|
-
**Rate limiting**
|
|
983
|
-
|
|
984
|
-
- Subscription quota out → Fallback to GLM/MiniMax
|
|
985
|
-
- Add combo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
|
|
986
|
-
|
|
987
|
-
**OAuth token expired**
|
|
988
|
-
|
|
989
|
-
- Auto-refreshed by OmniRoute
|
|
990
|
-
- If issues persist: Dashboard → Provider → Reconnect
|
|
991
|
-
|
|
992
|
-
**High costs**
|
|
993
|
-
|
|
994
|
-
- Check usage stats in Dashboard → Costs
|
|
995
|
-
- Switch primary model to GLM/MiniMax
|
|
996
|
-
- Use free tier (Gemini CLI, iFlow) for non-critical tasks
|
|
997
|
-
|
|
998
|
-
**Dashboard/API ports are wrong**
|
|
999
|
-
|
|
1000
|
-
- `PORT` is the canonical base port (and API port by default)
|
|
1001
|
-
- `API_PORT` overrides only OpenAI-compatible API listener
|
|
1002
|
-
- `DASHBOARD_PORT` overrides only dashboard/Next.js listener
|
|
1003
|
-
- Set `NEXT_PUBLIC_BASE_URL` to your dashboard/public URL (for OAuth callbacks)
|
|
1004
|
-
|
|
1005
|
-
**Cloud sync errors**
|
|
1006
|
-
|
|
1007
|
-
- Verify `BASE_URL` points to your running instance
|
|
1008
|
-
- Verify `CLOUD_URL` points to your expected cloud endpoint
|
|
1009
|
-
- Keep `NEXT_PUBLIC_*` values aligned with server-side values
|
|
1010
|
-
|
|
1011
|
-
**First login not working**
|
|
1012
|
-
|
|
1013
|
-
- Check `INITIAL_PASSWORD` in `.env`
|
|
1014
|
-
- If unset, fallback password is `123456`
|
|
1015
|
-
|
|
1016
|
-
**No request logs**
|
|
1017
|
-
|
|
1018
|
-
- Set `ENABLE_REQUEST_LOGS=true` in `.env`
|
|
1019
|
-
|
|
1020
|
-
**Connection test shows "Invalid" for OpenAI-compatible providers**
|
|
1021
|
-
|
|
1022
|
-
- Many providers don't expose a `/models` endpoint
|
|
1023
|
-
- OmniRoute v1.0.6+ includes fallback validation via chat completions
|
|
1024
|
-
- Ensure base URL includes `/v1` suffix
|
|
1025
|
-
|
|
1026
1003
|
</details>
|
|
1027
1004
|
|
|
1028
1005
|
---
|
|
@@ -1104,18 +1081,6 @@ OmniRoute has **210+ features planned** across multiple development phases. Here
|
|
|
1104
1081
|
|
|
1105
1082
|
---
|
|
1106
1083
|
|
|
1107
|
-
## 📧 Support
|
|
1108
|
-
|
|
1109
|
-
> 💬 **Join our community!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Get help, share tips, and stay updated.
|
|
1110
|
-
|
|
1111
|
-
- **Website**: [omniroute.online](https://omniroute.online)
|
|
1112
|
-
- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
|
|
1113
|
-
- **Issues**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
|
|
1114
|
-
- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
1115
|
-
- **Original Project**: [9router by decolua](https://github.com/decolua/9router)
|
|
1116
|
-
|
|
1117
|
-
---
|
|
1118
|
-
|
|
1119
1084
|
## 👥 Contributors
|
|
1120
1085
|
|
|
1121
1086
|
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
|
|
@@ -1165,85 +1130,6 @@ MIT License - see [LICENSE](LICENSE) for details.
|
|
|
1165
1130
|
|
|
1166
1131
|
---
|
|
1167
1132
|
|
|
1168
|
-
---
|
|
1169
|
-
|
|
1170
|
-
## 🇧🇷 OmniRoute — Gateway de IA Gratuito
|
|
1171
|
-
|
|
1172
|
-
<a name="-omniroute--gateway-de-ia-gratuito"></a>
|
|
1173
|
-
|
|
1174
|
-
### Nunca pare de codar. Roteamento inteligente para **modelos de IA GRATUITOS e de baixo custo** com fallback automático.
|
|
1175
|
-
|
|
1176
|
-
_Seu proxy universal de API — um endpoint, 36+ provedores, zero downtime._
|
|
1177
|
-
|
|
1178
|
-
### 🌐 Internacionalização (i18n)
|
|
1179
|
-
|
|
1180
|
-
O dashboard do OmniRoute suporta **múltiplos idiomas**. Atualmente disponível em:
|
|
1181
|
-
|
|
1182
|
-
| Idioma | Código | Status |
|
|
1183
|
-
| --------------------- | ------- | ----------- |
|
|
1184
|
-
| 🇺🇸 English | `en` | ✅ Completo |
|
|
1185
|
-
| 🇧🇷 Português (Brasil) | `pt-BR` | ✅ Completo |
|
|
1186
|
-
|
|
1187
|
-
**Para trocar o idioma:** Clique no seletor de idioma (🇺🇸 EN) no header do dashboard → selecione o idioma desejado.
|
|
1188
|
-
|
|
1189
|
-
**Para adicionar um novo idioma:**
|
|
1190
|
-
|
|
1191
|
-
1. Crie `src/i18n/messages/{codigo}.json` baseado em `en.json`
|
|
1192
|
-
2. Adicione o código em `src/i18n/config.ts` → `LOCALES` e `LANGUAGES`
|
|
1193
|
-
3. Reinicie o servidor
|
|
1194
|
-
|
|
1195
|
-
### ⚡ Início Rápido
|
|
1196
|
-
|
|
1197
|
-
```bash
|
|
1198
|
-
# Instalar via npm
|
|
1199
|
-
npx omniroute@latest
|
|
1200
|
-
|
|
1201
|
-
# Ou rodar do código-fonte
|
|
1202
|
-
cp .env.example .env
|
|
1203
|
-
npm install
|
|
1204
|
-
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
|
|
1205
|
-
```
|
|
1206
|
-
|
|
1207
|
-
### 🐳 Docker
|
|
1208
|
-
|
|
1209
|
-
```bash
|
|
1210
|
-
docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest
|
|
1211
|
-
```
|
|
1212
|
-
|
|
1213
|
-
### 🔑 Funcionalidades Principais
|
|
1214
|
-
|
|
1215
|
-
- **36+ provedores de IA** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek, e mais
|
|
1216
|
-
- **Roteamento inteligente** — Fallback automático entre provedores
|
|
1217
|
-
- **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente
|
|
1218
|
-
- **Multi-conta** — Múltiplas contas por provedor com seleção inteligente
|
|
1219
|
-
- **Cache semântico** — Reduz custos e latência
|
|
1220
|
-
- **OAuth automático** — Tokens renovam automaticamente
|
|
1221
|
-
- **Combos personalizados** — 6 estratégias de roteamento
|
|
1222
|
-
- **Dashboard completo** — Monitoramento, logs, análises, configurações
|
|
1223
|
-
- **CLI Tools** — Configure Claude Code, Codex, Cursor, Cline com um clique
|
|
1224
|
-
- **100% TypeScript** — Código limpo e tipado
|
|
1225
|
-
|
|
1226
|
-
### 📖 Documentação
|
|
1227
|
-
|
|
1228
|
-
| Documento | Descrição |
|
|
1229
|
-
| ----------------------------------------------- | -------------------------------------- |
|
|
1230
|
-
| [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, combos, CLI, deploy |
|
|
1231
|
-
| [Referência da API](docs/API_REFERENCE.md) | Todos os endpoints com exemplos |
|
|
1232
|
-
| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problemas comuns e soluções |
|
|
1233
|
-
| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura e internos do sistema |
|
|
1234
|
-
| [Contribuição](CONTRIBUTING.md) | Setup de desenvolvimento e guidelines |
|
|
1235
|
-
| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Guia completo: VM + nginx + Cloudflare |
|
|
1236
|
-
|
|
1237
|
-
### 📧 Suporte
|
|
1238
|
-
|
|
1239
|
-
> 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Tire dúvidas, compartilhe dicas e fique atualizado.
|
|
1240
|
-
|
|
1241
|
-
- **Website**: [omniroute.online](https://omniroute.online)
|
|
1242
|
-
- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
|
|
1243
|
-
- **Issues**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
|
|
1244
|
-
|
|
1245
|
-
---
|
|
1246
|
-
|
|
1247
1133
|
<div align="center">
|
|
1248
1134
|
<sub>Built with ❤️ for developers who code 24/7</sub>
|
|
1249
1135
|
<br/>
|