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.
Files changed (226) hide show
  1. package/README.ar.md +131 -178
  2. package/README.bg.md +132 -259
  3. package/README.da.md +132 -259
  4. package/README.de.md +85 -129
  5. package/README.es.md +89 -129
  6. package/README.fi.md +133 -260
  7. package/README.fr.md +87 -129
  8. package/README.he.md +132 -259
  9. package/README.hu.md +132 -259
  10. package/README.id.md +132 -259
  11. package/README.in.md +75 -140
  12. package/README.it.md +85 -129
  13. package/README.ja.md +132 -178
  14. package/README.ko.md +132 -259
  15. package/README.md +172 -286
  16. package/README.ms.md +132 -259
  17. package/README.nl.md +132 -259
  18. package/README.no.md +132 -259
  19. package/README.phi.md +133 -260
  20. package/README.pl.md +133 -260
  21. package/README.pt-BR.md +100 -129
  22. package/README.pt.md +135 -262
  23. package/README.ro.md +133 -260
  24. package/README.ru.md +85 -129
  25. package/README.sk.md +132 -259
  26. package/README.sv.md +132 -259
  27. package/README.th.md +132 -259
  28. package/README.uk-UA.md +132 -259
  29. package/README.vi.md +132 -259
  30. package/README.zh-CN.md +85 -129
  31. package/app/.next/BUILD_ID +1 -1
  32. package/app/.next/app-path-routes-manifest.json +30 -30
  33. package/app/.next/build-manifest.json +2 -2
  34. package/app/.next/prerender-manifest.json +3 -3
  35. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  45. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/_global-error.html +2 -2
  57. package/app/.next/server/app/_global-error.rsc +1 -1
  58. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  59. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  60. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  61. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  62. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  63. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  64. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/api/cache/route.js +2 -2
  69. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/api/cache/stats/route.js +1 -1
  71. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  73. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  75. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
  77. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  79. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +1 -1
  81. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  83. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  85. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
  87. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  90. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  92. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  94. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/cli-tools/status/route.js +1 -1
  96. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  120. package/app/.next/server/app/api/models/route.js +1 -1
  121. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  123. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/providers/route.js +1 -1
  145. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/usage/proxy-logs/route.js +3 -3
  183. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  204. package/app/.next/server/app/docs/page.js +1 -1
  205. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  207. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  209. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  210. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  212. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  213. package/app/.next/server/app-paths-manifest.json +30 -30
  214. package/app/.next/server/chunks/2767.js +11 -11
  215. package/app/.next/server/chunks/5393.js +1 -1
  216. package/app/.next/server/chunks/7109.js +3 -3
  217. package/app/.next/server/chunks/7230.js +5 -5
  218. package/app/.next/server/pages/500.html +2 -2
  219. package/app/.next/server/server-reference-manifest.js +1 -1
  220. package/app/.next/server/server-reference-manifest.json +1 -1
  221. package/app/.next/static/chunks/{5846-8360aca41de8628b.js → 5846-79cfb6380345004d.js} +1 -1
  222. package/app/package.json +10 -2
  223. package/bin/omniroute.mjs +71 -7
  224. package/package.json +10 -2
  225. /package/app/.next/static/{iqSCUTEzH78lajJjqTmE_ → 3vFcTa-1x8yNMMbXwOlmb}/_buildManifest.js +0 -0
  226. /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
+ [![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute)
15
+ [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute)
16
+ [![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
17
+ [![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online)
18
+ [![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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
- [![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute)
102
- [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute)
103
- [![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
104
- [![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online)
105
- [![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](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
- 🌐 **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)
115
+ > 💬 **Join our community!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) Get help, share tips, and stay updated.
110
116
 
111
- </div>
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
- ## 📊 Available Models
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
- - `gc/gemini-3-flash-preview`
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
- **GitHub Copilot (`gh/`)**:
839
+ ### Built-in Golden Set
810
840
 
811
- - `gh/gpt-5`
812
- - `gh/claude-4.5-sonnet`
841
+ The pre-loaded "OmniRoute Golden Set" contains 10 test cases covering:
813
842
 
814
- **NVIDIA NIM (`nvidia/`)** - FREE credits:
843
+ - Greetings, math, geography, code generation
844
+ - JSON format compliance, translation, markdown
845
+ - Safety refusal (harmful content), counting, boolean logic
815
846
 
816
- - `nvidia/llama-3.3-70b-instruct`
817
- - `nvidia/mistral-7b-instruct`
818
- - 50+ more models on [build.nvidia.com](https://build.nvidia.com)
847
+ ### Evaluation Strategies
819
848
 
820
- **GLM (`glm/`)** - $0.6/1M:
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
- - `glm/glm-4.7`
856
+ ---
823
857
 
824
- **MiniMax (`minimax/`)** - $0.2/1M:
858
+ ## 🐛 Troubleshooting
825
859
 
826
- - `minimax/MiniMax-M2.1`
860
+ <details>
861
+ <summary><b>Click to expand troubleshooting guide</b></summary>
827
862
 
828
- **iFlow (`if/`)** - FREE:
863
+ **"Language model did not provide messages"**
829
864
 
830
- - `if/kimi-k2-thinking`
831
- - `if/qwen3-coder-plus`
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
- **Qwen (`qw/`)** - FREE:
868
+ **Rate limiting**
837
869
 
838
- - `qw/qwen3-coder-plus`
839
- - `qw/qwen3-coder-flash`
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
- **Kiro (`kr/`)** - FREE:
873
+ **OAuth token expired**
842
874
 
843
- - `kr/claude-sonnet-4.5`
844
- - `kr/claude-haiku-4.5`
875
+ - Auto-refreshed by OmniRoute
876
+ - If issues persist: Dashboard → Provider → Reconnect
845
877
 
846
- **OpenRouter (`or/`)** - 100+ models:
878
+ **High costs**
847
879
 
848
- - `or/anthropic/claude-4-sonnet`
849
- - `or/google/gemini-2.5-pro`
850
- - Any model from [openrouter.ai/models](https://openrouter.ai/models)
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
- </details>
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
- ## 🧪 Evaluations (Evals)
891
+ **Cloud sync errors**
857
892
 
858
- OmniRoute includes a built-in evaluation framework to test LLM response quality against a golden set. Access it via **Analytics → Evals** in the dashboard.
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
- ### Built-in Golden Set
897
+ **First login not working**
861
898
 
862
- The pre-loaded "OmniRoute Golden Set" contains 10 test cases covering:
899
+ - Check `INITIAL_PASSWORD` in `.env`
900
+ - If unset, fallback password is `123456`
863
901
 
864
- - Greetings, math, geography, code generation
865
- - JSON format compliance, translation, markdown
866
- - Safety refusal (harmful content), counting, boolean logic
902
+ **No request logs**
867
903
 
868
- ### Evaluation Strategies
904
+ - Set `ENABLE_REQUEST_LOGS=true` in `.env`
869
905
 
870
- | Strategy | Description | Example |
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
- ## 🔐 OAuth em Servidor Remoto (Remote OAuth Setup)
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
- ### Por que o OAuth do Antigravity / Gemini CLI falha em servidores remotos?
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
- ### Solução: Configure suas próprias credenciais OAuth
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
- ### Workaround temporário (sem configurar credenciais próprias)
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
  [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](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/>