omniroute 2.1.0 → 2.1.2

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 (246) hide show
  1. package/README.md +1 -1
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/app-path-routes-manifest.json +55 -55
  4. package/app/.next/build-manifest.json +2 -2
  5. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/.well-known/agent.json/route_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/_global-error.html +2 -2
  42. package/app/.next/server/app/_global-error.rsc +1 -1
  43. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  46. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  47. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  48. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  49. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/a2a/route_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/api/a2a/status/route_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/api/a2a/tasks/[id]/cancel/route_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/api/a2a/tasks/[id]/route_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/api/a2a/tasks/route_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/api/acp/agents/route_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/api/cli-tools/openclaw/auto-order/route_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  75. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/api/combos/auto/route_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/mcp/audit/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/mcp/audit/stats/route_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/api/mcp/sse/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/mcp/stream/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/models/openrouter-catalog/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/models/route.js +1 -1
  107. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  109. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  120. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/providers/route.js +1 -1
  131. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/usage/quota/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/docs/page.js +1 -1
  195. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  204. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app-paths-manifest.json +55 -55
  207. package/app/.next/server/chunks/1909.js +1 -1
  208. package/app/.next/server/chunks/8252.js +1 -1
  209. package/app/.next/server/chunks/8907.js +1 -1
  210. package/app/.next/server/pages/500.html +2 -2
  211. package/app/.next/server/server-reference-manifest.js +1 -1
  212. package/app/.next/server/server-reference-manifest.json +1 -1
  213. package/app/.next/static/chunks/{5846-2907f9dda1834c88.js → 5846-d3aa3ba9dd16fa55.js} +1 -1
  214. package/app/package.json +1 -1
  215. package/package.json +1 -1
  216. package/README.ar.md +0 -1683
  217. package/README.bg.md +0 -1691
  218. package/README.da.md +0 -1692
  219. package/README.de.md +0 -1696
  220. package/README.es.md +0 -1436
  221. package/README.fi.md +0 -1586
  222. package/README.fr.md +0 -1435
  223. package/README.he.md +0 -1586
  224. package/README.hu.md +0 -1586
  225. package/README.id.md +0 -1586
  226. package/README.in.md +0 -1225
  227. package/README.it.md +0 -1434
  228. package/README.ja.md +0 -1583
  229. package/README.ko.md +0 -1586
  230. package/README.ms.md +0 -1587
  231. package/README.nl.md +0 -1586
  232. package/README.no.md +0 -1586
  233. package/README.phi.md +0 -1587
  234. package/README.pl.md +0 -1586
  235. package/README.pt-BR.md +0 -1499
  236. package/README.pt.md +0 -1586
  237. package/README.ro.md +0 -1588
  238. package/README.ru.md +0 -1433
  239. package/README.sk.md +0 -1590
  240. package/README.sv.md +0 -1587
  241. package/README.th.md +0 -1577
  242. package/README.uk-UA.md +0 -1592
  243. package/README.vi.md +0 -1586
  244. package/README.zh-CN.md +0 -1432
  245. /package/app/.next/static/{jBXsbnBQXxbuL3eAmEO72 → xYoMYiq2lWi73ieYn-e4s}/_buildManifest.js +0 -0
  246. /package/app/.next/static/{jBXsbnBQXxbuL3eAmEO72 → xYoMYiq2lWi73ieYn-e4s}/_ssgManifest.js +0 -0
package/README.sk.md DELETED
@@ -1,1590 +0,0 @@
1
- <div align="center">
2
- <img src="./docs/screenshots/MainOmniRoute.png" alt="OmniRoute Dashboard" width="800"/>
3
-
4
- # 🚀 OmniRoute — bezplatná brána AI
5
-
6
- ### Nikdy neprestávajte kódovať. Inteligentné smerovanie na **BEZPLATNÉ a nízkonákladové modely AI** s automatickým vrátením.
7
-
8
- _Váš univerzálny proxy server API – jeden koncový bod, 36+ poskytovateľov, nulové prestoje._
9
-
10
- **Dokončenia četov • Vkladanie • Generovanie obrázkov • Zvuk • Zmena hodnotenia • 100 % TypeScript**
11
-
12
- ---
13
-
14
- ### 🚀 New in v2.0.9+ — Playground, CLI Fingerprints & ACP
15
-
16
- | Feature | What It Does |
17
- | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
18
- | 🎮 **Model Playground** | Dashboard page to test any model directly — provider/model/endpoint selectors, Monaco Editor, streaming, abort, timing |
19
- | 🔏 **CLI Fingerprint Matching** | Per-provider header/body ordering to match native CLI signatures — toggle per provider in Settings > Security. **Your proxy IP is preserved** |
20
- | 🤝 **ACP Support (Agent Client Protocol)** | CLI agent discovery (Codex, Claude, Goose, Gemini CLI, OpenClaw), process spawner, `/api/acp/agents` endpoint |
21
- | 🤖 **ACP Agents Dashboard** | Debug > Agents page — grid of 14 agents with install status, version, custom agent form for any CLI tool |
22
- | 🔧 **Custom Model `apiFormat` Routing** | Custom models with `apiFormat: "responses"` now correctly route to the Responses API translator |
23
- | 🏢 **Codex Workspace Isolation** | Multiple Codex workspaces per email — OAuth correctly separates connections by workspace ID |
24
- | 🔄 **Electron Auto-Update** | Desktop app checks for updates + auto-install on restart |
25
-
26
- ### 🤖 Bezplatný poskytovateľ AI pre vašich obľúbených kódovacích agentov
27
-
28
- _Pripojte akýkoľvek nástroj IDE alebo CLI poháňaný AI cez OmniRoute – bezplatnú bránu API pre neobmedzené kódovanie._
29
-
30
- <table>
31
- <tr>
32
- <td align="center" width="110">
33
- <a href="https://github.com/cline/cline">
34
- <img src="./public/providers/openclaw.png" alt="OpenClaw" width="48"/><br/>
35
- <b>OpenClaw</b>
36
- </a><br/>
37
- <sub>⭐ 205K</sub>
38
- </td>
39
- <td align="center" width="110">
40
- <a href="https://github.com/HKUDS/nanobot">
41
- <img src="./public/providers/nanobot.png" alt="NanoBot" width="48"/><br/>
42
- <b>NanoBot</b>
43
- </a><br/>
44
- <sub>⭐ 20.9K</sub>
45
- </td>
46
- <td align="center" width="110">
47
- <a href="https://github.com/sipeed/picoclaw">
48
- <img src="./public/providers/picoclaw.jpg" alt="PicoClaw" width="48"/><br/>
49
- <b>PicoClaw</b>
50
- </a><br/>
51
- <sub>⭐ 14.6K</sub>
52
- </td>
53
- <td align="center" width="110">
54
- <a href="https://github.com/zeroclaw-labs/zeroclaw">
55
- <img src="./public/providers/zeroclaw.png" alt="ZeroClaw" width="48"/><br/>
56
- <b>ZeroClaw</b>
57
- </a><br/>
58
- <sub>⭐ 9.9K</sub>
59
- </td>
60
- <td align="center" width="110">
61
- <a href="https://github.com/nearai/ironclaw">
62
- <img src="./public/providers/ironclaw.png" alt="IronClaw" width="48"/><br/>
63
- <b>IronClaw</b>
64
- </a><br/>
65
- <sub>⭐ 2.1K</sub>
66
- </td>
67
- </tr>
68
- <tr>
69
- <td align="center" width="110">
70
- <a href="https://github.com/anomalyco/opencode">
71
- <img src="./public/providers/opencode.svg" alt="OpenCode" width="48"/><br/>
72
- <b>OpenCode</b>
73
- </a><br/>
74
- <sub>⭐ 106K</sub>
75
- </td>
76
- <td align="center" width="110">
77
- <a href="https://github.com/openai/codex">
78
- <img src="./public/providers/codex.png" alt="Codex CLI" width="48"/><br/>
79
- <b>Codex CLI</b>
80
- </a><br/>
81
- <sub>⭐ 60.8K</sub>
82
- </td>
83
- <td align="center" width="110">
84
- <a href="https://github.com/anthropics/claude-code">
85
- <img src="./public/providers/claude.png" alt="Claude Code" width="48"/><br/>
86
- <b>Claude Code</b>
87
- </a><br/>
88
- <sub>⭐ 67.3K</sub>
89
- </td>
90
- <td align="center" width="110">
91
- <a href="https://github.com/google-gemini/gemini-cli">
92
- <img src="./public/providers/gemini-cli.png" alt="Gemini CLI" width="48"/><br/>
93
- <b>Gemini CLI</b>
94
- </a><br/>
95
- <sub>⭐ 94.7K</sub>
96
- </td>
97
- <td align="center" width="110">
98
- <a href="https://github.com/Kilo-Org/kilocode">
99
- <img src="./public/providers/kilocode.png" alt="Kilo Code" width="48"/><br/>
100
- <b>Kilo Code</b>
101
- </a><br/>
102
- <sub>⭐ 15.5K</sub>
103
- </td>
104
- </tr>
105
- </table>
106
-
107
- <sub>📡 Všetci agenti sa pripájajú cez <code>http://localhost:20128/v1</code> alebo <code>http://cloud.omniroute one/v1 modely a kvóta</sub>
108
-
109
- ---
110
-
111
- [![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute)
112
- [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute)
113
- [![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
114
- [![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online)
115
- [![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
116
-
117
- [🌐 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)
118
-
119
- 🌐 **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)
120
-
121
- </div>
122
-
123
- ---
124
-
125
- ## 🖼️
126
-
127
- <div align="center">
128
- <img src="./docs/screenshots/MainOmniRoute.png" alt="OmniRoute" width="800"/>
129
- </div>
130
-
131
- ---
132
-
133
- ## 📸
134
-
135
- <details>
136
- <summary><b>...</b></summary>
137
-
138
- | # | # |
139
- | ----- | ---------------------------------------- |
140
- | **1** | ![1](docs/screenshots/01-providers.png) |
141
- | **2** | ![2](docs/screenshots/02-combos.png) |
142
- | **3** | ![3](docs/screenshots/03-analytics.png) |
143
- | **4** | ![4](docs/screenshots/04-health.png) |
144
- | **5** | ![5](docs/screenshots/05-translator.png) |
145
- | **6** | ![6](docs/screenshots/06-settings.png) |
146
- | **7** | ![7](docs/screenshots/07-cli-tools.png) |
147
- | **8** | ![8](docs/screenshots/08-usage.png) |
148
- | **9** | ![9](docs/screenshots/09-endpoint.png) |
149
-
150
- </details>
151
-
152
- ---
153
-
154
- ## 🤔 Prečo OmniRoute?
155
-
156
- **Prestaňte plytvať peniazmi a dosahovať limity:**
157
-
158
- - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Kvóta odberu vyprší nevyužitá každý mesiac
159
- - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Obmedzenia sadzieb vás zastavia uprostred kódovania
160
- - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> drahé rozhrania API (20 – 50 USD mesačne na poskytovateľa)
161
- - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Manuálne prepínanie medzi poskytovateľmi
162
-
163
- **OmniRoute to rieši:**
164
-
165
- - ✅ **Maximalizujte odbery** - Sledujte kvótu, pred resetovaním použite každý bit
166
- - ✅ **Automatická záloha** - Predplatné → Kľúč API → Lacné → Bezplatne, nulové prestoje
167
- - ✅ **Viaceré účty** - Obojstranne medzi účtami na poskytovateľa
168
- - ✅ **Universal** - Funguje s Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, akýmkoľvek nástrojom CLI
169
-
170
- ---
171
-
172
- ## 📧 Podpora
173
-
174
- > 💬 **Pripojte sa k našej komunite!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Získajte pomoc, zdieľajte tipy a buďte informovaní.
175
-
176
- - **Web**: [omniroute.online](https://omniroute.online)
177
- - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
178
- - **Problémy**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
179
- - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
180
- - **Pôvodný projekt**: [9router by decolua](https://github.com/decolua/9router)
181
-
182
- ---
183
-
184
- ## 🔄 Ako to funguje
185
-
186
- ```
187
- ┌─────────────┐
188
- │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...)
189
- │ Tool │
190
- └──────┬──────┘
191
- │ http://localhost:20128/v1
192
-
193
- ┌─────────────────────────────────────────┐
194
- │ OmniRoute (Smart Router) │
195
- │ • Format translation (OpenAI ↔ Claude) │
196
- │ • Quota tracking + Embeddings + Images │
197
- │ • Auto token refresh │
198
- └──────┬──────────────────────────────────┘
199
-
200
- ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI
201
- │ ↓ quota exhausted
202
- ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc.
203
- │ ↓ budget limit
204
- ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M)
205
- │ ↓ budget limit
206
- └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited)
207
-
208
- Result: Never stop coding, minimal cost
209
- ```
210
-
211
- ---
212
-
213
- ## 🎯 Čo OmniRoute rieši — 30 bodov skutočnej bolesti a prípadov použitia
214
-
215
- > **Každý vývojár, ktorý používa nástroje AI, čelí týmto problémom denne.** OmniRoute bol vytvorený tak, aby ich všetky vyriešil – od prekročenia nákladov po regionálne bloky, od prerušených tokov OAuth po operácie protokolov a pozorovateľnosť podniku.
216
-
217
- <details>
218
- <summary><b>💸 1. „Platím za drahé predplatné, ale stále ma prerušujú limity“ </b></summary>
219
-
220
- Vývojári platia za Claude Pro, Codex Pro alebo GitHub Copilot 20 – 200 dolárov mesačne. Aj pri platení má kvóta strop – 5 hodín používania, týždenné limity alebo limity za minútu. Počas relácie kódovania poskytovateľ prestane reagovať a vývojár stráca tok a produktivitu.
221
-
222
- **Ako to rieši OmniRoute:**
223
-
224
- - **Inteligentný 4-úrovňový záložný systém** – Ak sa vyčerpá kvóta predplatného, automaticky sa presmeruje na kľúč API → Lacné → Zadarmo s nulovým manuálnym zásahom
225
- - **Sledovanie kvóty v reálnom čase** – Zobrazuje spotrebu tokenov v reálnom čase s resetovaným odpočítavaním (5 hodín, denne, týždenne)
226
- – **Podpora viacerých účtov** – Viacero účtov na poskytovateľa s automatickým opakovaním – keď sa jeden minie, prepne sa na ďalší
227
- – **Vlastné kombá** – Prispôsobiteľné záložné reťazce so 6 stratégiami vyvažovania (najskôr vyplniť, opakovane, P2C, náhodné, najmenej používané, nákladovo optimalizované)
228
- - **Codex Business Quotas** — Monitorovanie kvót pracovného priestoru pre firmy/tím priamo na paneli
229
-
230
- </details>
231
-
232
- <details>
233
- <summary><b>🔌 2. „Potrebujem použiť viacerých poskytovateľov, ale každý má iné API“ </b></summary>
234
-
235
- OpenAI používa jeden formát, Claude (Anthropic) iný a Gemini ďalší. Ak chce vývojár testovať modely od rôznych poskytovateľov alebo medzi nimi záložné riešenie, musí prekonfigurovať súpravy SDK, zmeniť koncové body, vysporiadať sa s nekompatibilnými formátmi. Vlastní poskytovatelia (FriendLI, NIM) majú neštandardné modelové koncové body.
236
-
237
- **Ako to rieši OmniRoute:**
238
-
239
- - **Unified Endpoint** – Jediný `http://localhost:20128/v1` slúži ako proxy pre všetkých 36+ poskytovateľov
240
- - **Formátový preklad** — Automatický a transparentný: OpenAI ↔ Claude ↔ Gemini ↔ Responses API
241
- – **Dezinfekcia odozvy** – Odstráni neštandardné polia (`x_groq`, `usage_breakdown`, `service_tier`), ktoré porušujú OpenAI SDK v1.83+
242
- - **Normalizácia rolí** – Konvertuje `developer` → `system` pre poskytovateľov, ktorí nie sú OpenAI; `system` → `user` pre GLM/ERNIE
243
- – **Think Tag Extraction** – Extrahuje bloky `<think>` z modelov ako DeepSeek R1 do štandardizovaných `reasoning_content`
244
- - **Štruktúrovaný výstup pre Gemini** — `json_schema` → automatická konverzia `responseMimeType`/`responseSchema`
245
- - **`stream` predvolene je `false`** — Zosúladí sa so špecifikáciou OpenAI, čím sa zabráni neočakávanému SSE v súpravách Python/Rust/Go SDK
246
-
247
- </details>
248
-
249
- <details>
250
- <summary><b>🌐 3. „Môj poskytovateľ AI blokuje môj región/krajinu“</b></summary>
251
-
252
- Poskytovatelia ako OpenAI/Codex blokujú prístup z určitých geografických oblastí. Používatelia dostanú chyby ako `unsupported_country_region_territory` počas pripojení OAuth a API. To je frustrujúce najmä pre vývojárov z rozvojových krajín.
253
-
254
- **Ako to rieši OmniRoute:**
255
-
256
- - **Konfigurácia proxy servera na troch úrovniach** – Konfigurovateľný server proxy na 3 úrovniach: globálny (celá prevádzka), podľa jednotlivých poskytovateľov (iba jeden poskytovateľ) a podľa pripojenia/kľúča
257
- - **Farebné odznaky proxy** — Vizuálne indikátory: 🢢 globálny proxy, 🟡 proxy poskytovateľa, 🔵 proxy pripojenia, vždy zobrazuje IP
258
- – **Výmena tokenov OAuth cez proxy** – tok OAuth prechádza aj cez proxy, čím sa rieši `unsupported_country_region_territory`
259
- - **Testy pripojenia cez proxy** – Testy pripojenia používajú nakonfigurovaný proxy (už žiadne priame obchádzanie)
260
- - **Podpora SOCKS5** — Úplná podpora proxy SOCKS5 pre odchádzajúce smerovanie
261
- - **TLS Fingerprint Spoofing** – Odtlačok prsta TLS podobný prehliadaču cez `wreq-js` na obídenie detekcie robotov
262
-
263
- </details>
264
-
265
- <details>
266
- <summary><b>🆓 4. „Chcem použiť AI na kódovanie, ale nemám peniaze“</b></summary>
267
-
268
- Nie každý môže platiť 20 – 200 $ mesačne za predplatné AI. Študenti, vývojári z rozvíjajúcich sa krajín, fanúšikovia a nezávislí pracovníci potrebujú prístup ku kvalitným modelom za nulové náklady.
269
-
270
- **Ako to rieši OmniRoute:**
271
-
272
- - **Zabudovaní poskytovatelia bezplatnej úrovne** — Natívna podpora pre 100 % bezplatných poskytovateľov: iFlow (8 neobmedzených modelov), Qwen (3 neobmedzené modely), Kiro (Claude zdarma), Gemini CLI (180 000/mesiac zdarma)
273
- - **Ollama Cloud** — Cloud-hosted Ollama models at `api.ollama.com` with free "Light usage" tier; use `ollamacloud/<model>` prefix
274
- - **Len bezplatné kombá** — Reťaz `gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus` = 0 USD/mesiac s nulovými prestojmi
275
- - **Bezplatné kredity NVIDIA NIM** – integrovaných 1 000 bezplatných kreditov
276
- - **Cost Optimized Strategy** – Stratégia smerovania, ktorá automaticky vyberie najlacnejšieho dostupného poskytovateľa
277
-
278
- </details>
279
-
280
- <details>
281
- <summary><b>🔒 5. „Potrebujem chrániť svoju bránu AI pred neoprávneným prístupom“</b></summary>
282
-
283
- Pri vystavení brány AI do siete (LAN, VPS, Docker) môže ktokoľvek s adresou spotrebovať tokeny/kvótu vývojára. Bez ochrany sú rozhrania API náchylné na nesprávne použitie, rýchle vloženie a zneužitie.
284
-
285
- **Ako to rieši OmniRoute:**
286
-
287
- – **Správa kľúčov API** – Generovanie, rotácia a rozsah podľa poskytovateľa s vyhradenou stránkou `/dashboard/api-manager`
288
- – **Povolenia na úrovni modelu** – Obmedzenie kľúčov API na konkrétne modely (`openai/*`, vzory zástupných znakov) s prepínačom Povoliť všetko/Obmedziť
289
- – **API Endpoint Protection** – Vyžadovať kľúč pre `/v1/models` a blokovať konkrétnych poskytovateľov zo zoznamu
290
-
291
- - **Auth Guard + ochrana CSRF** - Všetky trasy na dashboarde sú chránené middlevérom `withAuth` + tokenmi CSRF
292
- - **Rate Limiter** — Obmedzenie rýchlosti na IP pomocou konfigurovateľných okien
293
- - **IP Filtering** — Zoznam povolených/blokovaných pre riadenie prístupu
294
- - **Prompt Injection Guard** – Dezinfekcia proti škodlivým vzorom výzvy
295
- - **Šifrovanie AES-256-GCM** — Prihlasovacie údaje sú v pokoji zašifrované
296
-
297
- </details>
298
-
299
- <details>
300
- <summary><b>🛑 6. „Môj poskytovateľ zlyhal a stratil som tok kódovania“</b></summary>
301
-
302
- Poskytovatelia AI sa môžu stať nestabilnými, vrátiť chyby 5xx alebo dosiahnuť dočasné limity sadzieb. Ak vývojár závisí od jedného poskytovateľa, bude prerušený. Bez ističov môžu opakované pokusy zlyhať aplikáciu.
303
-
304
- **Ako to rieši OmniRoute:**
305
-
306
- - **Istič pre každého poskytovateľa** — Automatické otváranie/zatváranie s konfigurovateľnými prahmi a chladením (zatvorené/otvorené/polootvorené)
307
- - **Exponenciálne stiahnutie** — Postupné oneskorenie opakovania
308
- - **Anti-Thundering Herd** - ochrana Mutex + semafor proti súbežným opakovaným búrkam
309
- - **Combo Fallback Chains** – Ak primárny poskytovateľ zlyhá, automaticky prepadne reťazcom bez akéhokoľvek zásahu
310
- - **Combo Circuit Breaker** – Automaticky deaktivuje zlyhávajúcich poskytovateľov v rámci kombinovaného reťazca
311
- | 🎯 **Endpoint-Aware Models** | Custom models declare supported endpoints + API format |
312
- – **Health Dashboard** – Monitorovanie dostupnosti, stavy ističov, blokovania, štatistiky vyrovnávacej pamäte, latencia p50/p95/p99
313
-
314
- </details>
315
-
316
- <details>
317
- <summary><b>🔧 7. „Konfigurácia každého nástroja AI je únavná a opakovaná“ </b></summary>
318
-
319
- Vývojári používajú Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code... Každý nástroj potrebuje inú konfiguráciu (API endpoint, kľúč, model). Prekonfigurovanie pri zmene poskytovateľa alebo modelu je strata času.
320
-
321
- **Ako to rieši OmniRoute:**
322
-
323
- - **CLI Tools Dashboard** – Vyhradená stránka s nastavením jedným kliknutím pre Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline
324
- – **GitHub Copilot Config Generator** – Generuje `chatLanguageModels.json` pre kód VS s hromadným výberom modelu
325
- - **Sprievodca registráciou** – Sprievodca nastavením v 4 krokoch pre začínajúcich používateľov
326
- – **Jeden koncový bod, všetky modely** – Nakonfigurujte `http://localhost:20128/v1` raz a získajte prístup k viac ako 36 poskytovateľom
327
-
328
- </details>
329
-
330
- <details>
331
- <summary><b>🔑 8. „Správa tokenov OAuth od viacerých poskytovateľov je peklo“ </b></summary>
332
-
333
- Claude Code, Codex, Gemini CLI, Copilot – všetky používajú OAuth 2.0 s tokenmi, ktorých platnosť sa končí. Vývojári sa musia neustále znovu overovať, riešiť `client_secret is missing`, `redirect_uri_mismatch` a zlyhania na vzdialených serveroch. Obzvlášť problematické je OAuth na LAN/VPS.
334
-
335
- **Ako to rieši OmniRoute:**
336
-
337
- - **Automatická obnova tokenov** – Tokeny OAuth sa pred vypršaním platnosti obnovujú na pozadí
338
- - **Vstavaný OAuth 2.0 (PKCE)** – Automatický tok pre Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, iFlow
339
- – **Multi-Auth OAuth** – Viaceré účty na poskytovateľa prostredníctvom extrakcie tokenov JWT/ID
340
- - **Oprava OAuth LAN/Remote** — Detekcia súkromnej adresy IP pre `redirect_uri` + manuálny režim adresy URL pre vzdialené servery
341
- - **OAuth Behind Nginx** - Používa `window.location.origin` na reverznú kompatibilitu proxy
342
- – **Príručka vzdialeného OAuth** – Podrobný sprievodca povereniami Google Cloud na VPS/Docker
343
-
344
- </details>
345
-
346
- <details>
347
- <summary><b>📊 9. "Neviem, koľko míňam alebo kde" </b></summary>
348
-
349
- Vývojári využívajú viacerých platených poskytovateľov, ale nemajú jednotný pohľad na výdavky. Každý poskytovateľ má svoj vlastný informačný panel fakturácie, ale neexistuje žiadne konsolidované zobrazenie. Neočakávané náklady sa môžu nahromadiť.
350
-
351
- **Ako to rieši OmniRoute:**
352
-
353
- – **Informačný panel analýzy nákladov** – sledovanie nákladov na token a správa rozpočtu podľa poskytovateľa
354
-
355
- - **Obmedzenia rozpočtu na úroveň** – Strop výdavkov na úroveň, ktorý spúšťa automatické záložné právo
356
- - **Konfigurácia cien za model** – Konfigurovateľné ceny za model
357
- - **Štatistiky používania na kľúč API** – Počet žiadostí a časová pečiatka posledného použitia na kľúč
358
- – **Panel Analytics** – štatistické karty, graf používania modelu, tabuľka poskytovateľov s mierami úspešnosti a latenciou
359
-
360
- </details>
361
-
362
- <details>
363
- <summary><b>🐛 10. „Nedokážem diagnostikovať chyby a problémy vo volaniach AI“ </b></summary>
364
-
365
- Keď hovor zlyhá, vývojár nevie, či to bol limit sadzby, vypršaný token, nesprávny formát alebo chyba poskytovateľa. Fragmentované protokoly cez rôzne terminály. Bez pozorovateľnosti je ladenie metódou pokus-omyl.
366
-
367
- **Ako to rieši OmniRoute:**
368
-
369
- – **Panel jednotných protokolov** – 4 karty: Protokoly žiadostí, Protokoly proxy, Protokoly auditu, Konzola
370
-
371
- - **Console Log Viewer** — Prehliadač v štýle terminálu v reálnom čase s farebne odlíšenými úrovňami, automatickým posúvaním, vyhľadávaním a filtrovaním
372
- - **Proxy protokoly SQLite** — Trvalé protokoly, ktoré prežijú reštart servera
373
- - **Translator Playground** – 4 režimy ladenia: Playground (preklad formátu), Chat Tester (spiatočný), Test Bench (dávka), Live Monitor (v reálnom čase)
374
- – **Požiadať o telemetriu** – latencia p50/p95/p99 + sledovanie X-request-Id
375
- – **Protokolovanie založené na súboroch s rotáciou** – Konzolový zachytávač zachytáva všetko do protokolu JSON s rotáciou na základe veľkosti
376
-
377
- </details>
378
-
379
- <details>
380
- <summary><b>🏗️ 11. „Nasadenie a údržba brány je zložitá“ </b></summary>
381
-
382
- Inštalácia, konfigurácia a údržba AI proxy v rôznych prostrediach (lokálne, VPS, Docker, cloud) je náročná na prácu. Problémy ako pevne zakódované cesty, `EACCES` v adresároch, konflikty portov a zostavy naprieč platformami zvyšujú trenie.
383
-
384
- **Ako to rieši OmniRoute:**
385
-
386
- - **Globálna inštalácia npm** — `npm install -g omniroute && omniroute` — hotovo
387
- - **Docker Multi-Platform** – natívne AMD64 + ARM64 (Apple Silicon, AWS Graviton, Raspberry Pi)
388
- - **Profily Docker Compose** — `base` (bez nástrojov CLI) a `cli` (s Claude Code, Codex, OpenClaw)
389
- - **Electron Desktop App** – natívna aplikácia pre Windows/macOS/Linux so systémovou lištou, automatickým spustením, offline režimom
390
- - **Split-Port Mode** – API a Dashboard na samostatných portoch pre pokročilé scenáre (reverzný proxy, kontajnerová sieť)
391
- - **Cloud Sync** — Synchronizácia konfigurácie medzi zariadeniami cez Cloudflare Workers
392
- - **DB Backups** — Automatické zálohovanie, obnovenie, export a import všetkých nastavení
393
-
394
- </details>
395
-
396
- <details>
397
- <summary><b>🌍 12. „Rozhranie je len v angličtine a môj tím nehovorí po anglicky“ </b></summary>
398
-
399
- Tímy v neanglicky hovoriacich krajinách, najmä v Latinskej Amerike, Ázii a Európe, zápasia s rozhraním iba v angličtine. Jazykové bariéry znižujú prijatie a zvyšujú chyby v konfigurácii.
400
-
401
- **Ako to rieši OmniRoute:**
402
-
403
- - **Dashboard i18n — 30 jazykov** — Všetkých 500+ kláves preložených vrátane arabčiny, bulharčiny, dánčiny, nemčiny, španielčiny, fínčiny, francúzštiny, hebrejčiny, hindčiny, maďarčiny, indonézštiny, taliančiny, japončiny, kórejčiny, malajčiny, holandčiny, nórčiny, poľštiny, portugalčiny (PT/BR), rumunčiny, ruštiny, slovenčiny, švédčiny, thajčiny, ukrajinčiny, vietnamčiny, angličtiny
404
- - **Podpora RTL** — Podpora sprava doľava pre arabčinu a hebrejčinu
405
- - **Viacjazyčné README** — 30 kompletných prekladov dokumentácie
406
- - **Language Selector** – ikona zemegule v hlavičke pre prepínanie v reálnom čase
407
-
408
- </details>
409
-
410
- <details>
411
- <summary><b>🔄 13. „Potrebujem viac ako chat – potrebujem vloženie, obrázky, zvuk“</b></summary>
412
-
413
- AI nie je len dokončenie chatu. Vývojári potrebujú generovať obrázky, prepisovať zvuk, vytvárať vloženia pre RAG, meniť hodnotenie dokumentov a moderovať obsah. Každé API má iný koncový bod a formát.
414
-
415
- **Ako to rieši OmniRoute:**
416
-
417
- - **Vloženie** — `/v1/embeddings` so 6 poskytovateľmi a 9+ modelmi
418
- - **Generácia obrazu** — `/v1/images/generations` s 10 poskytovateľmi a 20+ modelmi (OpenAI, xAI, Together, Fireworks, Nebius, Hyperbolic, NanoBanana, Antigravity, SD WebUI, ComfyUI)
419
- - **Text-to-Video** — `/v1/videos/generations` — ComfyUI (AnimateDiff, SVD) a SD WebUI
420
- - **Text-to-Music** — `/v1/music/generations` — ComfyUI (Stable Audio Open, MusicGen)
421
- - **Prepis zvuku** — `/v1/audio/transcriptions` — Whisper + Nvidia NIM, HuggingFace, Qwen3
422
- - **Text-to-Speech** — `/v1/audio/speech` — ElevenLabs, Nvidia NIM, HuggingFace, Coqui, Tortoise, Qwen3, Inworld, Cartesia, PlayHT a + existujúci poskytovatelia
423
- - **Moderácie** — `/v1/moderations` — Kontroly bezpečnosti obsahu
424
- - **Zmena poradia** — `/v1/rerank` — Zmena poradia relevantnosti dokumentu
425
- - **Responses API** – plná podpora `/v1/responses` pre kódex
426
-
427
- </details>
428
-
429
- <details>
430
- <summary><b>🧪 14. „Nemám možnosť testovať a porovnávať kvalitu medzi modelmi“ </b></summary>
431
-
432
- Vývojári chcú vedieť, ktorý model je pre ich prípad použitia najlepší – kód, preklad, zdôvodnenie – ale manuálne porovnávanie je pomalé. Neexistujú žiadne integrované nástroje hodnotenia.
433
-
434
- **Ako to rieši OmniRoute:**
435
-
436
- - **Hodnotenia LLM** – testovanie zlatej sady s 10 predinštalovanými prípadmi zahŕňajúcimi pozdravy, matematiku, geografiu, generovanie kódu, súlad s JSON, preklad, označenie, odmietnutie bezpečnosti
437
- - **4 stratégie zhody** — `exact`, `contains`, `regex`, `custom` (funkcia JS)
438
- - **Testovacia lavica pre prekladateľské ihrisko** – dávkové testovanie s viacerými vstupmi a očakávanými výstupmi, porovnanie medzi poskytovateľmi
439
- - **Chat Tester** – celý spiatočný výlet s vykresľovaním vizuálnej odozvy
440
- - **Live Monitor** – tok všetkých požiadaviek prechádzajúcich cez server proxy v reálnom čase
441
-
442
- </details>
443
-
444
- <details>
445
- <summary><b>📈 15. „Potrebujem škálovať bez straty výkonu“</b></summary>
446
-
447
- Keďže objem žiadostí rastie, bez ukladania rovnakých otázok do vyrovnávacej pamäte vznikajú duplicitné náklady. Bez idempotencie duplikát požaduje spracovanie odpadu. Musia sa dodržiavať limity sadzieb na poskytovateľa.
448
-
449
- **Ako to rieši OmniRoute:**
450
-
451
- - **Sémantická vyrovnávacia pamäť** – Dvojvrstvová vyrovnávacia pamäť (podpis + sémantická) znižuje náklady a latenciu
452
- - **Idempotencia požiadavky** – 5-sekundové deduplikačné okno pre identické požiadavky
453
- – **Detekcia limitu rýchlosti** – RPM, minimálna medzera a maximálne súbežné sledovanie jednotlivých poskytovateľov
454
- - **Upraviteľné limity frekvencie** – Konfigurovateľné predvolené hodnoty v Nastaveniach → Odolnosť s perzistenciou
455
- - **Cache na overenie kľúča API** — 3-vrstvová vyrovnávacia pamäť pre produkčný výkon
456
- – **Panel zdravia s telemetriou** – latencia p50/p95/p99, štatistiky vyrovnávacej pamäte, doba prevádzky
457
-
458
- </details>
459
-
460
- <details>
461
- <summary><b>🤖 16. „Chcem globálne ovládať správanie modelu“</b></summary>
462
-
463
- Vývojári, ktorí chcú všetky odpovede v konkrétnom jazyku, so špecifickým tónom alebo chcú obmedziť tokeny uvažovania. Konfigurovať to v každom nástroji/požiadavke je nepraktické.
464
-
465
- **Ako to rieši OmniRoute:**
466
-
467
- - **System Prompt Injection** – Globálna výzva aplikovaná na všetky požiadavky
468
- – **Thinking Budget Validation** – Zdôvodnenie riadenia prideľovania tokenov na žiadosť (priechodné, automatické, vlastné, adaptívne)
469
- - **6 stratégií smerovania** — Globálne stratégie, ktoré určujú spôsob distribúcie požiadaviek
470
- - **Wildcard Router** — Vzory `provider/*` smerujú dynamicky k akémukoľvek poskytovateľovi
471
- - **Prepínač povoliť/zakázať kombo** — Prepínajte kombinácie priamo z ovládacieho panela
472
- - **Provider Toggle** — Povolenie/zakázanie všetkých pripojení pre poskytovateľa jedným kliknutím
473
- – **Blokovaní poskytovatelia** – vylúčte konkrétnych poskytovateľov zo zoznamu `/v1/models`
474
-
475
- </details>
476
-
477
- <details>
478
- <summary><b>🧰 17. "Potrebujem nástroje MCP ako prvotriedne možnosti produktu"</b></summary>
479
-
480
- Mnohé brány AI odhaľujú MCP iba ako skrytý detail implementácie. Tímy potrebujú viditeľnú a spravovateľnú operačnú vrstvu.
481
-
482
- **Ako to rieši OmniRoute:**
483
-
484
- - MCP sa zobrazí na navigačnom paneli a na karte protokolu koncového bodu
485
- - Vyhradená stránka správy MCP s procesmi, nástrojmi, rozsahmi a auditom
486
- - Vstavaný rýchly štart pre `omniroute --mcp` a registráciu klienta
487
-
488
- </details>
489
-
490
- <details>
491
- <summary><b>🧠 18. "Potrebujem orchestráciu A2A s cestami synchronizácie + streamovania"</b></summary>
492
-
493
- Pracovné postupy agentov vyžadujú priame odpovede a dlhotrvajúce streamované vykonávanie s kontrolou životného cyklu.
494
-
495
- **Ako to rieši OmniRoute:**
496
-
497
- - Koncový bod A2A JSON-RPC (`POST /a2a`) s `message/send` a `message/stream`
498
- - SSE streaming so šírením koncového stavu
499
- - Rozhrania API životného cyklu úloh pre `tasks/get` a `tasks/cancel`
500
-
501
- </details>
502
-
503
- <details>
504
- <summary><b>🛰️ 19. „Potrebujem skutočné zdravie procesu MCP, nie uhádnutý stav“</b></summary>
505
-
506
- Operačné tímy potrebujú vedieť, či je MCP skutočne nažive, nielen to, či je dostupné API.
507
-
508
- **Ako to rieši OmniRoute:**
509
-
510
- - Súbor srdcového tepu za behu s PID, časovými pečiatkami, transportom, počtom nástrojov a režimom rozsahu
511
- - Stavové rozhranie MCP API, ktoré kombinuje srdcový tep + nedávnu aktivitu
512
- - Stavové karty používateľského rozhrania pre sviežosť procesu / dostupnosti / tepu
513
-
514
- </details>
515
-
516
- <details>
517
- <summary><b>📋 20. "Potrebujem auditovateľné spustenie nástroja MCP" </b></summary>
518
-
519
- Keď nástroje mutujú konfiguráciu alebo spúšťajú akcie operácií, tímy potrebujú forenznú sledovateľnosť.
520
-
521
- **Ako to rieši OmniRoute:**
522
-
523
- - Záznamy auditu podporované SQLite pre volania nástrojov MCP
524
- - Filtre podľa nástroja, úspechu/neúspechu, kľúča API a stránkovania
525
- - Tabuľka auditu palubnej dosky + štatistické koncové body pre automatizáciu
526
-
527
- </details>
528
-
529
- <details>
530
- <summary><b>🔐 21. "Potrebujem povolenia MCP v rozsahu na jednu integráciu"</b></summary>
531
-
532
- Rôzni klienti by mali mať najmenej privilegovaný prístup ku kategóriám nástrojov.
533
-
534
- **Ako to rieši OmniRoute:**
535
-
536
- - 9 zrnitých rozsahov MCP pre kontrolovaný prístup k nástrojom
537
- - Presadzovanie rozsahu a viditeľnosť v používateľskom rozhraní správy MCP
538
- - Bezpečná východisková poloha pre prevádzkové nástroje
539
-
540
- </details>
541
-
542
- <details>
543
- <summary><b>⚙️ 22. „Potrebujem prevádzkové ovládacie prvky bez premiestňovania“ </b></summary>
544
-
545
- Tímy potrebujú rýchle zmeny runtime počas incidentov alebo nákladových udalostí.
546
-
547
- **Ako to rieši OmniRoute:**
548
-
549
- - Aktivácia komba prepínača priamo z ovládacieho panela MCP
550
- - Použite profily odolnosti z preddefinovaných balíkov politík
551
- - Resetujte stav ističa z rovnakého ovládacieho panela
552
-
553
- </details>
554
-
555
- <details>
556
- <summary><b>🔄 23. „Potrebujem viditeľnosť a zrušenie životného cyklu úlohy A2A“ </b></summary>
557
-
558
- Bez viditeľnosti životného cyklu sa incidenty úloh ťažko triedia.
559
-
560
- **Ako to rieši OmniRoute:**
561
-
562
- - Zoznam úloh / filtrovanie podľa stavu / zručnosti so stránkovaním
563
- - Rozbalenie metadát úloh, udalostí a artefaktov
564
- - Koncový bod zrušenia úlohy a akcia používateľského rozhrania s potvrdením
565
-
566
- </details>
567
-
568
- <details>
569
- <summary><b>🌊 24. „Potrebujem aktívne metriky streamu pre načítanie A2A“</b></summary>
570
-
571
- Streamovanie pracovných tokov vyžaduje operačný prehľad o súbežnosti a živých pripojeniach.
572
-
573
- **Ako to rieši OmniRoute:**
574
-
575
- - Aktívne počítadlá toku integrované do stavu A2A
576
- - Časová pečiatka poslednej úlohy a počet jednotlivých štátov
577
- - Karty palubnej dosky A2A na monitorovanie operácií v reálnom čase
578
-
579
- </details>
580
-
581
- <details>
582
- <summary><b>🪪 25. "Potrebujem štandardné vyhľadávanie agentov pre klientov"</b></summary>
583
-
584
- Externí klienti a orchestrátori potrebujú strojovo čitateľné metadáta na integráciu.
585
-
586
- **Ako to rieši OmniRoute:**
587
-
588
- - Karta agenta vystavená na `/.well-known/agent.json`
589
- - Schopnosti a zručnosti zobrazené v používateľskom rozhraní správy
590
- - API stavu A2A obsahuje metaúdaje zisťovania pre automatizáciu
591
-
592
- </details>
593
-
594
- <details>
595
- <summary><b>🧭 26. "Potrebujem zistiteľnosť protokolu v UX produktu"</b></summary>
596
-
597
- Ak používatelia nemôžu objaviť povrchy protokolov, kvalita prijatia a podpory klesá.
598
-
599
- **Ako to rieši OmniRoute:**
600
-
601
- - Položky na bočnom paneli pre MCP a A2A
602
- - Koncový bod Karta Protokoly s rýchlym spustením a stavom
603
- - Odkazy z prehľadu na špecializované riadiace panely
604
-
605
- </details>
606
-
607
- <details>
608
- <summary><b>🧪 27. "Potrebujem komplexné overenie protokolu so skutočnými klientmi" </b></summary>
609
-
610
- Falošné testy nestačia na overenie kompatibility protokolu pred vydaním.
611
-
612
- **Ako to rieši OmniRoute:**
613
-
614
- - E2E balík, ktorý spúšťa aplikáciu a využíva skutočný prenos klienta MCP SDK
615
- - Klient A2A testuje toky zisťovania, odosielania, streamovania, získavania a rušenia
616
- - Krížová kontrola tvrdení proti auditu MCP a API úloh A2A
617
-
618
- </details>
619
-
620
- <details>
621
- <summary><b>📡 28. „Potrebujem jednotnú pozorovateľnosť naprieč všetkými rozhraniami“ </b></summary>
622
-
623
- Rozdelenie pozorovateľnosti podľa protokolu vytvára slepé miesta a dlhšie MTTR.
624
-
625
- **Ako to rieši OmniRoute:**
626
-
627
- - Zjednotené informačné panely / protokoly / analýzy v jednom produkte
628
- - Zdravie + audit + telemetria požiadaviek cez vrstvy OpenAI, MCP a A2A
629
- - Operačné API pre stav a automatizáciu
630
-
631
- </details>
632
-
633
- <details>
634
- <summary><b>💼 29. "Potrebujem jeden runtime pre proxy + nástroje + orchestráciu agentov" </b></summary>
635
-
636
- Prevádzka mnohých samostatných služieb zvyšuje prevádzkové náklady a spôsoby zlyhania.
637
-
638
- **Ako to rieši OmniRoute:**
639
-
640
- - Proxy, server MCP a server A2A kompatibilný s OpenAI v jednom zásobníku
641
- - Zdieľaná autentifikácia, odolnosť, ukladanie údajov a pozorovateľnosť
642
- - Konzistentný model politiky na všetkých interakčných plochách
643
-
644
- </details>
645
-
646
- <details>
647
- <summary><b>🚀 30. „Potrebujem odoslať agentské pracovné postupy bez roztiahnutia kódu lepidla“ </b></summary>
648
-
649
- Tímy strácajú rýchlosť pri spájaní viacerých ad-hoc služieb a skriptov.
650
-
651
- **Ako to rieši OmniRoute:**
652
-
653
- - Jednotná stratégia koncových bodov pre klientov a agentov
654
- - Vstavané používateľské rozhrania na správu protokolov a cesty overovania dymu
655
- - Základy pripravené na výrobu (zabezpečenie, protokolovanie, odolnosť, zálohovanie)
656
-
657
- </details>
658
-
659
- ### Príklady príručiek (integrované prípady použitia)
660
-
661
- **Príručka A: Maximalizujte platené predplatné + lacné zálohovanie**
662
-
663
- ```txt
664
- Combo: "maximize-claude"
665
- 1. cc/claude-opus-4-6
666
- 2. glm/glm-4.7
667
- 3. if/kimi-k2-thinking
668
-
669
- Monthly cost: $20 + small backup spend
670
- Outcome: higher quality, near-zero interruption
671
- ```
672
-
673
- **Príručka B: Balík kódovania s nulovými nákladmi**
674
-
675
- ```txt
676
- Combo: "free-forever"
677
- 1. gc/gemini-3-flash
678
- 2. if/kimi-k2-thinking
679
- 3. qw/qwen3-coder-plus
680
-
681
- Monthly cost: $0
682
- Outcome: stable free coding workflow
683
- ```
684
-
685
- **Príručka C: 24/7 vždy zapnutý záložný reťazec**
686
-
687
- ```txt
688
- Combo: "always-on"
689
- 1. cc/claude-opus-4-6
690
- 2. cx/gpt-5.2-codex
691
- 3. glm/glm-4.7
692
- 4. minimax/MiniMax-M2.1
693
- 5. if/kimi-k2-thinking
694
-
695
- Outcome: deep fallback depth for deadline-critical workloads
696
- ```
697
-
698
- **Príručka D: Operačný program agenta s MCP + A2A**
699
-
700
- ```txt
701
- 1) Start MCP transport (`omniroute --mcp`) for tool-driven operations
702
- 2) Run A2A tasks via `message/send` and `message/stream`
703
- 3) Observe via /dashboard/mcp and /dashboard/a2a
704
- 4) Control incidents with resilience profile + task cancellation
705
- ```
706
-
707
- ---
708
-
709
- ## ⚡ Rýchly štart
710
-
711
- **1. Inštalovať globálne:**
712
-
713
- ```bash
714
- npm install -g omniroute
715
- omniroute
716
- ```
717
-
718
- 🎉 Dashboard sa otvára o `http://localhost:20128`
719
-
720
- | Príkaz | Popis |
721
- | ----------------------- | -------------------------------------- |
722
- | `omniroute` | Spustiť server (predvolený port 20128) |
723
- | `omniroute --port 3000` | Použiť vlastný port |
724
- | `omniroute --no-open` | Neotvárať automaticky prehliadač |
725
- | `omniroute --help` | Zobraziť pomoc |
726
-
727
- **2. Pripojte BEZPLATNÉHO poskytovateľa:**
728
-
729
- Dashboard → Poskytovatelia → Pripojiť **Claude Code** alebo **Antigravity** → Prihlásenie OAuth → Hotovo!
730
-
731
- **3. Použitie v nástroji CLI:**
732
-
733
- ```
734
- Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings:
735
- Endpoint: http://localhost:20128/v1
736
- API Key: [copy from dashboard]
737
- Model: if/kimi-k2-thinking
738
- ```
739
-
740
- **To je všetko!** Začnite kódovať s modelmi AI ZDARMA.
741
-
742
- **Alternatíva – spustiť zo zdroja:**
743
-
744
- ```bash
745
- cp .env.example .env
746
- npm install
747
- PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
748
- ```
749
-
750
- ---
751
-
752
- ## 🐳 Docker
753
-
754
- OmniRoute je k dispozícii ako verejný obrázok Docker na [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute).
755
-
756
- **Rýchly beh:**
757
-
758
- ```bash
759
- docker run -d \
760
- --name omniroute \
761
- --restart unless-stopped \
762
- -p 20128:20128 \
763
- -v omniroute-data:/app/data \
764
- diegosouzapw/omniroute:latest
765
- ```
766
-
767
- **So súborom prostredia:**
768
-
769
- ```bash
770
- # Copy and edit .env first
771
- cp .env.example .env
772
-
773
- docker run -d \
774
- --name omniroute \
775
- --restart unless-stopped \
776
- --env-file .env \
777
- -p 20128:20128 \
778
- -v omniroute-data:/app/data \
779
- diegosouzapw/omniroute:latest
780
- ```
781
-
782
- **Pomocou Docker Compose:**
783
-
784
- ```bash
785
- # Base profile (no CLI tools)
786
- docker compose --profile base up -d
787
-
788
- # CLI profile (Claude Code, Codex, OpenClaw built-in)
789
- docker compose --profile cli up -d
790
- ```
791
-
792
- | Obrázok | Tag | Veľkosť | Popis |
793
- | ------------------------ | -------- | ------- | -------------------------- |
794
- | `diegosouzapw/omniroute` | `latest` | ~250 MB | Najnovšie stabilné vydanie |
795
- | `diegosouzapw/omniroute` | `1.0.3` | ~250 MB | Aktuálna verzia |
796
-
797
- ---
798
-
799
- ---
800
-
801
- ## 🖥️
802
-
803
- > 🆕 **NEW!** OmniRoute is now available as a **native desktop application** for Windows, macOS, and Linux.
804
-
805
- - 🖥️ **Native Window** — Dedicated app window with system tray integration
806
- - 🔄 **Auto-Start** — Launch OmniRoute on system login
807
- - 🔔 **Native Notifications** — Get alerts for quota exhaustion or provider issues
808
- - ⚡ **One-Click Install** — NSIS (Windows), DMG (macOS), AppImage (Linux)
809
- - 🌐 **Offline Mode** — Works fully offline with bundled server
810
-
811
- ```bash
812
- npm run electron:dev # Development mode
813
- npm run electron:build # Current platform
814
- npm run electron:build:win # Windows (.exe)
815
- npm run electron:build:mac # macOS (.dmg)
816
- npm run electron:build:linux # Linux (.AppImage)
817
- ```
818
-
819
- 📖 Full documentation: [`electron/README.md`](electron/README.md)
820
-
821
- ---
822
-
823
- ## 💰 Prehľad cien
824
-
825
- | Úroveň | Poskytovateľ | Náklady | Obnovenie kvóty | Najlepšie pre |
826
- | ----------------- | ----------------- | --------------------------- | ---------------------------- | --------------------------- |
827
- | **💳 PREDPLATNÉ** | Claude Code (Pro) | 20 USD/mesiac | 5h + týždenne | Už prihlásené |
828
- | | Codex (Plus/Pro) | 20 – 200 USD/mesiac | 5h + týždenne | Používatelia OpenAI |
829
- | | Gemini CLI | **ZADARMO** | 180 tis./mesiac + 1 tis./deň | Všetci! |
830
- | | GitHub Copilot | 10 – 19 USD/mes. | Mesačne | Používatelia GitHubu |
831
- | **🔑 API KEY** | NVIDIA NIM | **ZADARMO** (1000 kreditov) | Jednorazovo | Bezplatné testovanie úrovní |
832
- | | DeepSeek | Platba za použitie | Žiadne | Najlepšia cena/kvalita |
833
- | | Groq | Voľná ​​úroveň + platené | Obmedzená sadzba | Ultra-rýchle odvodenie |
834
- | | xAI (Grok) | Platba za použitie | Žiadne | Modely Grok |
835
- | | Mistral | Voľná ​​úroveň + platené | Obmedzená sadzba | Európska AI |
836
- | | OpenRouter | Platba za použitie | Žiadne | 100+ modelov |
837
- | **💰 LACNO** | GLM-4,7 | 0,6 USD/1 milión | Denne 10:00 | Záloha rozpočtu |
838
- | | MiniMax M2.1 | 0,2 USD/1 milión | 5-hodinové valcovanie | Najlacnejšia možnosť |
839
- | | Kimi K2 | 9 USD/mesiac byt | 10 miliónov tokenov/mesiac | Predvídateľné náklady |
840
- | **🆓 ZDARMA** | iFlow | 0 USD | Neobmedzené | 8 modelov zadarmo |
841
- | | Qwen | 0 USD | Neobmedzené | 3 modely zadarmo |
842
- | | Kiro | 0 USD | Neobmedzené | Claude zadarmo |
843
-
844
- **💡 Tip pre profesionálov:** Začnite s kombináciou Gemini CLI (180 000 zadarmo/mesiac) + iFlow (neobmedzene zadarmo) = cena 0 $!
845
-
846
- ---
847
-
848
- ## 💡 Kľúčové vlastnosti
849
-
850
- ### 🧠 Základné smerovanie a inteligencia
851
-
852
- | Funkcia | Čo to robí |
853
- | --------------------------------------------- | ----------------------------------------------------------------------------------------------- |
854
- | 🎯 **Inteligentná 4-úrovňová núdzová záloha** | Automatická trasa: Predplatné → Kľúč API → Lacné → Zadarmo |
855
- | 📊 **Sledovanie kvóty v reálnom čase** | Živý počet tokenov + reset odpočítavania na poskytovateľa |
856
- | 🔄 **Formátový preklad** | OpenAI ↔ Claude ↔ Gemini ↔ Kurzor ↔ Kiro bezšvové + dezinfekcia |
857
- | 👥 **Podpora viacerých účtov** | Viac účtov na poskytovateľa s inteligentným výberom |
858
- | 🔄 **Automatická obnova tokenov** | Tokeny OAuth sa automaticky obnovia s opätovným pokusom |
859
- | 🎨 **Vlastné kombá** | 6 stratégií: fill-first, round-robin, p2c, random, najmenej používané, nákladovo optimalizované |
860
- | 🧩 **Vlastné modely** | Pridajte akékoľvek ID modelu k akémukoľvek poskytovateľovi |
861
- | 🌐 **Wildcard Router** | Dynamicky smerujte vzory `provider/*` k akémukoľvek poskytovateľovi |
862
- | 🧠 **Premýšľajúci rozpočet** | Priechodný, automatický, vlastný a adaptívny režim pre modely uvažovania |
863
- | 🔀 **Model Aliases** | Auto-forward deprecated model IDs to current replacements (built-in + custom) |
864
- | ⚡ **Background Degradation** | Auto-route background tasks (titles, summaries) to cheaper models |
865
- | 💬 **Promptné vstrekovanie systému** | Globálna systémová výzva aplikovaná na všetky požiadavky |
866
- | 📄 **Responses API** | Plná podpora OpenAI Responses API (`/v1/responses`) pre Codex |
867
-
868
- ### 🎵 Multimodálne API
869
-
870
- | Funkcia | Čo to robí |
871
- | --------------------------- | ---------------------------------------------------------------- |
872
- | 🖼️ **Generovanie obrázkov** | `/v1/images/generations` — 4 poskytovatelia, 9+ modelov |
873
- | 📐 **Vloženie** | `/v1/embeddings` — 6 poskytovateľov, 9+ modelov |
874
- | 🎤 **Prepis zvuku** | `/v1/audio/transcriptions` — Kompatibilné so šepotom |
875
- | 🔊 **Prevod textu na reč** | `/v1/audio/speech` — Zvuková syntéza od viacerých poskytovateľov |
876
- | 🛡️ **Moderovania** | `/v1/moderations` — Kontroly bezpečnosti obsahu |
877
- | 🔀 **Reranking** | `/v1/rerank` — Zmena poradia relevantnosti dokumentu |
878
-
879
- ### 🛡️ Odolnosť a bezpečnosť
880
-
881
- | Funkcia | Čo to robí |
882
- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
883
- | 🔌 **Istič** | Automatické otváranie/zatváranie podľa poskytovateľa s konfigurovateľnými prahmi |
884
- | 🛡️ **Anti-hromové stádo** | Mutex + limit rýchlosti semaforu pre poskytovateľov kľúčov API |
885
- | 🧠 **Sémantická vyrovnávacia pamäť** | Dvojvrstvová vyrovnávacia pamäť (podpis + sémantika) znižuje náklady a latenciu |
886
- | ⚡ **Požiadajte o idempotenciu** | 5-sekundové okno na odstránenie duplicitných požiadaviek |
887
- | 🔒 ** Spoofing odtlačkov prstov TLS** | Obíďte detekciu botov na báze TLS cez wreq-js |
888
- | 🌐 **Filtrovanie IP** | Zoznam povolených/blokovaných pre riadenie prístupu API |
889
- | 📊 **Upraviteľné limity sadzieb** | Konfigurovateľné otáčky za minútu, minimálna medzera a maximálna súbežná rýchlosť na systémovej úrovni |
890
- | 💾 **Rate Limit Persistence** | Learned limits survive restarts via SQLite with 60s debounce + 24h staleness |
891
- | 🔄 **Token Refresh Resilience** | Per-provider circuit breaker (5 fails→30min) + 30s timeout per attempt |
892
- | 🛡 **API Endpoint Protection** | Auth gating + blokovanie poskytovateľa pre koncový bod `/models` |
893
- | 🔒 **Viditeľnosť proxy** | Farebne rozlíšené odznaky: 🟢 globálne, 🟡 poskytovateľ, 🔵 na pripojenie s IP displejom |
894
- | 🌐 **3-úrovňová konfigurácia proxy** | Nakonfigurujte proxy na globálnej úrovni, na úrovni jednotlivých poskytovateľov alebo na úrovni pripojenia |
895
-
896
- ### 📊 Pozorovateľnosť a analytika
897
-
898
- | Funkcia | Čo to robí |
899
- | ------------------------------------------ | ----------------------------------------------------------------------------------------------------- |
900
- | 📝 **Požiadať o prihlásenie** | Režim ladenia s úplnými protokolmi požiadaviek/odpovedí |
901
- | 💾 **Proxy protokoly SQLite** | Trvalé protokoly proxy prežijú reštart servera |
902
- | 📊 **Hlavný panel služby Analytics** | Poháňané recharts: štatistické karty, graf používania modelu, tabuľka poskytovateľov |
903
- | 📈 **Sledovanie pokroku** | Prihlásiť udalosti priebehu SSE pre streamovanie |
904
- | 🧪 **Hodnotenia LLM** | Testovanie zlatého setu so 4 stratégiami zápasu |
905
- | 🔍 **Požiadať o telemetriu** | p50/p95/p99 agregácia latencie + sledovanie X-request-Id |
906
- | 📋 **Hlavný panel denníkov** | Jednotná 4-kartová stránka: Protokoly požiadaviek, Protokoly proxy, Protokoly auditu, Konzola |
907
- | 🖥️ **Prehliadač denníka konzoly** | Prehliadač v terminálovom štýle v reálnom čase s filtrom úrovní, vyhľadávaním, automatickým posúvaním |
908
- | 📑 **Protokolovanie založené na súboroch** | Konzolový zachytávač zachytáva všetok výstup do súboru protokolu JSON s rotáciou |
909
- | 🏥 **Panel zdravia** | Doba prevádzky systému, stavy ističov, uzamknutia, štatistiky vyrovnávacej pamäte |
910
- | 💰 **Sledovanie nákladov** | Správa rozpočtu + konfigurácia cien podľa modelu |
911
-
912
- ### ☁️ Nasadenie a synchronizácia
913
-
914
- | Funkcia | Čo to robí |
915
- | ------------------------------ | ------------------------------------------------------------------------------- |
916
- | 💾 **Cloud Sync** | Synchronizujte konfiguráciu medzi zariadeniami cez Cloudflare Workers |
917
- | 🌐 **Nasadenie kdekoľvek** | Localhost, VPS, Docker, Cloudflare Workers |
918
- | 🔑 **Správa kľúčov API** | Generovanie, rotácia a rozsah kľúčov API podľa poskytovateľa |
919
- | 🧙 **Sprievodca onboardingom** | 4-krokové vedené nastavenie pre začínajúcich používateľov |
920
- | 🔧 **CLI Tools Dashboard** | Konfigurácia Claude, Codex, Cline, OpenClaw, Kilo, Antigravity jedným kliknutím |
921
- | 🔄 **Zálohy DB** | Automatické zálohovanie, obnovenie, export a import všetkých nastavení |
922
- | 🌐 **Internacionalizácia** | Plný i18n s next-intl — podpora angličtiny + portugalčiny (Brazília) |
923
- | 🌍 **Výber jazyka** | Ikona zemegule v hlavičke na prepínanie jazyka v reálnom čase (🇺🇸/🇧🇷) |
924
- | 📂 **Custom Data Directory** | `DATA_DIR` env var na prepísanie predvolenej cesty úložiska `~/.omniroute` |
925
-
926
- <details>
927
- <summary><b>📖 Podrobnosti funkcie</b></summary>
928
-
929
- ### 🎯 Inteligentná 4-úrovňová núdzová záloha
930
-
931
- Vytvorte kombá s automatickým núdzovým nastavením:
932
-
933
- ```
934
- Combo: "my-coding-stack"
935
- 1. cc/claude-opus-4-6 (your subscription)
936
- 2. nvidia/llama-3.3-70b (free NVIDIA API)
937
- 3. glm/glm-4.7 (cheap backup, $0.6/1M)
938
- 4. if/kimi-k2-thinking (free fallback)
939
-
940
- → Auto switches when quota runs out or errors occur
941
- ```
942
-
943
- ### 📊 Sledovanie kvóty v reálnom čase
944
-
945
- - Spotreba tokenov na poskytovateľa
946
- - Vynulovať odpočítavanie (5 hodín, denne, týždenne)
947
- - Odhad nákladov pre platené úrovne
948
- - Mesačné správy o výdavkoch
949
-
950
- ### 🔄 Preklad formátu
951
-
952
- Bezproblémový preklad medzi formátmi:
953
-
954
- – **OpenAI** ↔ **Claude** ↔ **Blíženci** ↔ **Odpovede OpenAI**
955
-
956
- - Váš nástroj CLI odošle formát OpenAI → OmniRoute preloží → Poskytovateľ dostane natívny formát
957
- - Funguje s akýmkoľvek nástrojom, ktorý podporuje vlastné koncové body OpenAI
958
- - **Dezinfekcia odozvy** – Odstráni neštandardné polia pre prísnu kompatibilitu OpenAI SDK
959
- - **Normalizácia rolí** — `developer` → `system` pre iné ako OpenAI; `system` → `user` pre modely GLM/ERNIE
960
- - **Extrahovanie značiek myslenia** — `<think>` bloky → `reasoning_content` pre modely myslenia
961
- - **Štruktúrovaný výstup** — `json_schema` → Gemini's `responseMimeType`/`responseSchema`
962
-
963
- ### 👥 Podpora viacerých účtov
964
-
965
- - Pridajte viac účtov na poskytovateľa
966
- - Automatické cyklické alebo prioritné smerovanie
967
- - Návrat k ďalšiemu účtu, keď jeden dosiahne kvótu
968
-
969
- ### 🔄 Automatické obnovenie tokenu
970
-
971
- - Tokeny OAuth sa pred vypršaním platnosti automaticky obnovujú
972
- - Nie je potrebné manuálne opätovné overenie
973
- - Bezproblémové skúsenosti u všetkých poskytovateľov
974
-
975
- ### 🎨 Vlastné kombinácie
976
-
977
- - Vytvárajte neobmedzené kombinácie modelov
978
- - 6 stratégií: vyplňte najskôr, cyklicky, sila dvoch možností, náhodné, najmenej používané, nákladovo optimalizované
979
- - Zdieľajte kombinácie medzi zariadeniami pomocou synchronizácie cloudu
980
-
981
- ### 🏥 Panel zdravia
982
-
983
- - Stav systému (čas prevádzky, verzia, využitie pamäte)
984
- - Stavy ističov podľa poskytovateľa (zatvorené/otvorené/polootvorené)
985
- - Stav limitu sadzby a aktívne blokovania
986
- - Štatistika vyrovnávacej pamäte podpisov
987
- - Telemetria latencie (p50/p95/p99) + prompt cache
988
- - Obnovte zdravotný stav jedným kliknutím
989
-
990
- ### 🔧 Ihrisko pre prekladateľov
991
-
992
- OmniRoute obsahuje výkonné vstavané ihrisko pre prekladateľov so **4 režimami** na ladenie, testovanie a monitorovanie prekladov API:
993
-
994
- | Režim | Popis |
995
- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
996
- | **💻 Ihrisko** | Priamy preklad formátu — vložte ľubovoľné telo požiadavky API a okamžite uvidíte, ako ju OmniRoute preloží medzi formátmi poskytovateľov (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Zahŕňa vzorové šablóny a automatickú detekciu formátu. |
997
- | **💬 Tester chatu** | Pošlite skutočné žiadosti o rozhovor cez OmniRoute a pozrite si celý spiatočný výlet: svoj vstup, preloženú žiadosť, odpoveď poskytovateľa a preloženú odpoveď späť. Neoceniteľné pre overenie kombinovaného smerovania. |
998
- | **🧪 Testovacia lavica** | Režim dávkového testovania – definujte viacero testovacích prípadov s rôznymi vstupmi a očakávanými výstupmi, spustite ich všetky naraz a porovnajte výsledky medzi poskytovateľmi a modelmi. |
999
- | **📱 Živý monitor** | Monitorovanie požiadaviek v reálnom čase – sledujte prichádzajúce požiadavky, ako prechádzajú cez OmniRoute, sledujte, ako prebiehajú preklady formátu naživo, a okamžite identifikujte problémy. |
1000
-
1001
- **Prístup:** Hlavný panel → Prekladač (bočný panel)
1002
-
1003
- ### 💾 Cloud Sync
1004
-
1005
- - Synchronizujte poskytovateľov, kombinácie a nastavenia medzi zariadeniami
1006
- - Automatická synchronizácia na pozadí
1007
- - Bezpečné šifrované úložisko
1008
-
1009
- </details>
1010
-
1011
- ## 🧪 Hodnotenia (Evals)
1012
-
1013
- OmniRoute obsahuje vstavaný hodnotiaci rámec na testovanie kvality odozvy LLM oproti zlatému súboru. Prístup k nej získate cez **Analytics → Evals** na hlavnom paneli.
1014
-
1015
- ### Vstavaná zlatá súprava
1016
-
1017
- Predinštalovaná sada „OmniRoute Golden Set“ obsahuje 10 testovacích prípadov, ktoré zahŕňajú:
1018
-
1019
- - Pozdravy, matematika, geografia, generovanie kódu
1020
- - Súlad s formátom JSON, preklad, zníženie
1021
- - Bezpečnostné odmietnutie (škodlivý obsah), počítanie, booleovská logika
1022
-
1023
- ### Stratégie hodnotenia
1024
-
1025
- | Stratégia | Popis | Príklad |
1026
- | ---------- | ---------------------------------------------------------------------- | -------------------------------- |
1027
- | `exact` | Výstup sa musí presne zhodovať | `"4"` |
1028
- | `contains` | Výstup musí obsahovať podreťazec (nerozlišujú sa malé a veľké písmená) | `"Paris"` |
1029
- | `regex` | Výstup musí zodpovedať vzoru regulárneho výrazu | `"1.*2.*3"` |
1030
- | `custom` | Vlastná funkcia JS vracia true/false | `(output) => output.length > 10` |
1031
-
1032
- ---
1033
-
1034
- ## 📖 Sprievodca nastavením
1035
-
1036
- <details>
1037
- <summary><b>💳 Poskytovatelia predplatného</b></summary>
1038
-
1039
- ### Claude Code (Pro/Max)
1040
-
1041
- ```bash
1042
- Dashboard → Providers → Connect Claude Code
1043
- → OAuth login → Auto token refresh
1044
- → 5-hour + weekly quota tracking
1045
-
1046
- Models:
1047
- cc/claude-opus-4-6
1048
- cc/claude-sonnet-4-5-20250929
1049
- cc/claude-haiku-4-5-20251001
1050
- ```
1051
-
1052
- **Tip pre profesionálov:** Používajte Opus na zložité úlohy, Sonnet na rýchlosť. OmniRoute sleduje kvótu na model!
1053
-
1054
- ### OpenAI Codex (Plus/Pro)
1055
-
1056
- ```bash
1057
- Dashboard → Providers → Connect Codex
1058
- → OAuth login (port 1455)
1059
- → 5-hour + weekly reset
1060
-
1061
- Models:
1062
- cx/gpt-5.2-codex
1063
- cx/gpt-5.1-codex-max
1064
- ```
1065
-
1066
- ### Gemini CLI (ZADARMO 180 000/mesiac!)
1067
-
1068
- ```bash
1069
- Dashboard → Providers → Connect Gemini CLI
1070
- → Google OAuth
1071
- → 180K completions/month + 1K/day
1072
-
1073
- Models:
1074
- gc/gemini-3-flash-preview
1075
- gc/gemini-2.5-pro
1076
- ```
1077
-
1078
- **Najlepšia hodnota:** Obrovská bezplatná úroveň! Použite to pred platenými úrovňami.
1079
-
1080
- ### Kopilot GitHub
1081
-
1082
- ```bash
1083
- Dashboard → Providers → Connect GitHub
1084
- → OAuth via GitHub
1085
- → Monthly reset (1st of month)
1086
-
1087
- Models:
1088
- gh/gpt-5
1089
- gh/claude-4.5-sonnet
1090
- gh/gemini-3-pro
1091
- ```
1092
-
1093
- </details>
1094
-
1095
- <details>
1096
- <summary><b>🔑 Kľúčoví poskytovatelia API</b></summary>
1097
-
1098
- ### NVIDIA NIM (1 000 kreditov ZDARMA!)
1099
-
1100
- 1. Zaregistrujte sa: [build.nvidia.com](https://build.nvidia.com)
1101
- 2. Získajte bezplatný kľúč API (vrátane 1 000 kreditov na odvodenie)
1102
- 3. Ovládací panel → Pridať poskytovateľa → NVIDIA NIM:
1103
- - Kľúč API: `nvapi-your-key`
1104
-
1105
- **Modely:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` a 50+ ďalších
1106
-
1107
- **Tip pre profesionálov:** API kompatibilné s OpenAI – bezproblémovo funguje s prekladom formátu OmniRoute!
1108
-
1109
- ### DeepSeek
1110
-
1111
- 1. Zaregistrujte sa: [platform.deepseek.com](https://platform.deepseek.com)
1112
- 2. Získajte kľúč API
1113
- 3. Dashboard → Pridať poskytovateľa → DeepSeek
1114
-
1115
- **Modely:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
1116
-
1117
- ### Groq (dostupná bezplatná úroveň!)
1118
-
1119
- 1. Zaregistrujte sa: [console.groq.com](https://console.groq.com)
1120
- 2. Získajte kľúč API (vrátane bezplatnej úrovne)
1121
- 3. Dashboard → Pridať poskytovateľa → Groq
1122
-
1123
- **Modely:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
1124
-
1125
- **Tip pre profesionálov:** Ultra rýchle odvodenie – najlepšie pre kódovanie v reálnom čase!
1126
-
1127
- ### OpenRouter (100+ modelov)
1128
-
1129
- 1. Zaregistrujte sa: [openrouter.ai](https://openrouter.ai)
1130
- 2. Získajte kľúč API
1131
- 3. Dashboard → Pridať poskytovateľa → OpenRouter
1132
-
1133
- **Modely:** Získajte prístup k viac ako 100 modelom od všetkých hlavných poskytovateľov prostredníctvom jediného kľúča API.
1134
-
1135
- </details>
1136
-
1137
- <details>
1138
- <summary><b>💰 Lacní poskytovatelia (záložné)</b></summary>
1139
-
1140
- ### GLM-4,7 (denný reset, 0,6 $/1 milión)
1141
-
1142
- 1. Zaregistrujte sa: [Zhipu AI](https://open.bigmodel.cn/)
1143
- 2. Získajte kľúč API z plánu kódovania
1144
- 3. Panel → Pridať kľúč API:
1145
- – Poskytovateľ: `glm`
1146
- - API kľúč: `your-key`
1147
-
1148
- **Použitie:** `glm/glm-4.7`
1149
-
1150
- **Tip pre profesionálov:** Kódovací plán ponúka 3× kvótu za 1/7 cenu! Resetovať denne o 10:00.
1151
-
1152
- ### MiniMax M2.1 (5h reset, $0.20/1M)
1153
-
1154
- 1. Zaregistrujte sa: [MiniMax](https://www.minimax.io/)
1155
- 2. Získajte kľúč API
1156
- 3. Panel → Pridať kľúč API
1157
-
1158
- **Použitie:** `minimax/MiniMax-M2.1`
1159
-
1160
- **Tip pre profesionálov:** Najlacnejšia možnosť pre dlhý kontext (1 milión tokenov)!
1161
-
1162
- ### Kimi K2 (9 USD/mesiac)
1163
-
1164
- 1. Prihlásiť sa na odber: [Moonshot AI](https://platform.moonshot.ai/)
1165
- 2. Získajte kľúč API
1166
- 3. Panel → Pridať kľúč API
1167
-
1168
- **Použitie:** `kimi/kimi-latest`
1169
-
1170
- **Tip pre profesionálov:** Pevné 9 $/mesiac za 10 miliónov tokenov = 0,90 $/1 milión efektívnych nákladov!
1171
-
1172
- </details>
1173
-
1174
- <details>
1175
- <summary><b>🆓 BEZPLATNÍ poskytovatelia (núdzové zálohovanie)</b></summary>
1176
-
1177
- ### iFlow (8 modelov ZDARMA)
1178
-
1179
- ```bash
1180
- Dashboard → Connect iFlow
1181
- → iFlow OAuth login
1182
- → Unlimited usage
1183
-
1184
- Models:
1185
- if/kimi-k2-thinking
1186
- if/qwen3-coder-plus
1187
- if/glm-4.7
1188
- if/minimax-m2
1189
- if/deepseek-r1
1190
- ```
1191
-
1192
- ### Qwen (3 modely ZDARMA)
1193
-
1194
- ```bash
1195
- Dashboard → Connect Qwen
1196
- → Device code authorization
1197
- → Unlimited usage
1198
-
1199
- Models:
1200
- qw/qwen3-coder-plus
1201
- qw/qwen3-coder-flash
1202
- ```
1203
-
1204
- ### Kiro (Claude FREE)
1205
-
1206
- ```bash
1207
- Dashboard → Connect Kiro
1208
- → AWS Builder ID or Google/GitHub
1209
- → Unlimited usage
1210
-
1211
- Models:
1212
- kr/claude-sonnet-4.5
1213
- kr/claude-haiku-4.5
1214
- ```
1215
-
1216
- </details>
1217
-
1218
- <details>
1219
- <summary><b>🎨 Vytvoriť kombá</b></summary>
1220
-
1221
- ### Príklad 1: Maximalizujte predplatné → Lacné zálohovanie
1222
-
1223
- ```
1224
- Dashboard → Combos → Create New
1225
-
1226
- Name: premium-coding
1227
- Models:
1228
- 1. cc/claude-opus-4-6 (Subscription primary)
1229
- 2. glm/glm-4.7 (Cheap backup, $0.6/1M)
1230
- 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)
1231
-
1232
- Use in CLI: premium-coding
1233
- ```
1234
-
1235
- ### Príklad 2: Iba zadarmo (nulové náklady)
1236
-
1237
- ```
1238
- Name: free-combo
1239
- Models:
1240
- 1. gc/gemini-3-flash-preview (180K free/month)
1241
- 2. if/kimi-k2-thinking (unlimited)
1242
- 3. qw/qwen3-coder-plus (unlimited)
1243
-
1244
- Cost: $0 forever!
1245
- ```
1246
-
1247
- </details>
1248
-
1249
- <details>
1250
- <summary><b>🔧 CLI Integration</b></summary>
1251
-
1252
- ### IDE kurzora
1253
-
1254
- ```
1255
- Settings → Models → Advanced:
1256
- OpenAI API Base URL: http://localhost:20128/v1
1257
- OpenAI API Key: [from OmniRoute dashboard]
1258
- Model: cc/claude-opus-4-6
1259
- ```
1260
-
1261
- ### Claude Code
1262
-
1263
- Na konfiguráciu jedným kliknutím použite stránku **CLI Tools** na informačnom paneli alebo upravte `~/.claude/settings.json` manuálne.
1264
-
1265
- ### Kódex CLI
1266
-
1267
- ```bash
1268
- export OPENAI_BASE_URL="http://localhost:20128"
1269
- export OPENAI_API_KEY="your-omniroute-api-key"
1270
-
1271
- codex "your prompt"
1272
- ```
1273
-
1274
- ### OpenClaw
1275
-
1276
- **Možnosť 1 – Dashboard (odporúčané):**
1277
-
1278
- ```
1279
- Dashboard → CLI Tools → OpenClaw → Select Model → Apply
1280
- ```
1281
-
1282
- **Možnosť 2 – Manuálne:** Upraviť `~/.openclaw/openclaw.json`:
1283
-
1284
- ```json
1285
- {
1286
- "models": {
1287
- "providers": {
1288
- "omniroute": {
1289
- "baseUrl": "http://127.0.0.1:20128/v1",
1290
- "apiKey": "sk_omniroute",
1291
- "api": "openai-completions"
1292
- }
1293
- }
1294
- }
1295
- }
1296
- ```
1297
-
1298
- > **Poznámka:** OpenClaw funguje iba s lokálnou OmniRoute. Použite `127.0.0.1` namiesto `localhost`, aby ste sa vyhli problémom s rozlíšením IPv6.
1299
-
1300
- ### Cline / Pokračovať / RooCode
1301
-
1302
- ```
1303
- Settings → API Configuration:
1304
- Provider: OpenAI Compatible
1305
- Base URL: http://localhost:20128/v1
1306
- API Key: [from OmniRoute dashboard]
1307
- Model: if/kimi-k2-thinking
1308
- ```
1309
-
1310
- </details>
1311
-
1312
- ---
1313
-
1314
- ## 🐛 Riešenie problémov
1315
-
1316
- <details>
1317
- <summary><b>Kliknutím rozbalíte sprievodcu riešením problémov</b></summary>
1318
-
1319
- **„Jazykový model neposkytol správy“**
1320
-
1321
- - Kvóta poskytovateľa je vyčerpaná → Skontrolujte sledovanie kvót na paneli
1322
- - Riešenie: Použite záložnú kombináciu alebo prejdite na lacnejšiu úroveň
1323
-
1324
- **Obmedzenie sadzby**
1325
-
1326
- - Vyčerpaná kvóta predplatného → Návrat na GLM/MiniMax
1327
- - Pridať kombináciu: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
1328
-
1329
- **Platnosť tokenu OAuth vypršala**
1330
-
1331
- - Automaticky obnovuje OmniRoute
1332
- - Ak problémy pretrvávajú: Dashboard → Provider → Reconnect
1333
-
1334
- **Vysoké náklady**
1335
-
1336
- - Skontrolujte štatistiky používania v hlavnom paneli → Náklady
1337
- - Prepnite primárny model na GLM/MiniMax
1338
- - Používajte bezplatnú vrstvu (Gemini CLI, iFlow) pre nekritické úlohy
1339
-
1340
- **Palubná doska sa otvára na nesprávnom porte**
1341
-
1342
- - Nastavte `PORT=20128` a `NEXT_PUBLIC_BASE_URL=http://localhost:20128`
1343
-
1344
- **Chyby synchronizácie v cloude**
1345
-
1346
- - Overte `BASE_URL` body na vašu spustenú inštanciu
1347
- – Overte `CLOUD_URL` bodov k očakávanému koncovému bodu cloudu
1348
- - Ponechajte hodnoty `NEXT_PUBLIC_*` zarovnané s hodnotami na strane servera
1349
-
1350
- **Prvé prihlásenie nefunguje**
1351
-
1352
- - Skontrolujte `INITIAL_PASSWORD` v `.env`
1353
- – Ak nie je nastavené, záložné heslo je `123456`
1354
-
1355
- **Žiadne záznamy žiadostí**
1356
-
1357
- - Nastaviť `ENABLE_REQUEST_LOGS=true` v `.env`
1358
-
1359
- **Test pripojenia ukazuje „Neplatné“ pre poskytovateľov kompatibilných s OpenAI**
1360
-
1361
- - Mnohí poskytovatelia nevystavujú koncový bod `/models`
1362
- - OmniRoute v1.0.6+ zahŕňa záložné overenie prostredníctvom dokončenia chatu
1363
- - Uistite sa, že základná adresa URL obsahuje príponu `/v1`
1364
-
1365
- ### 🔐 OAuth
1366
-
1367
- <a name="oauth-em-servidor-remoto"></a>
1368
-
1369
- > **⚠️ DÔLEŽITÉ pre používateľov s OmniRoute a diaľkovým ovládaním VPS/Docker/servidor**
1370
-
1371
- ### OAuth
1372
-
1373
- Osvedčuje **Antigravity** a **Gemini CLI** používame **Google OAuth 2.0** ako autentifikáciu. O Google exige que a `redirect_uri` usada no fluxo OAuth saja **exatamente** uma das URI pre-kadastradas no Google Cloud Console to use.
1374
-
1375
- Ako credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas para `localhost`**. K dispozícii máte prístup k OmniRoute k vzdialenému servisu (napr.: `https://omniroute.meuservidor.com`), alebo k autenticite spoločnosti Google:
1376
-
1377
- ```
1378
- Error 400: redirect_uri_mismatch
1379
- ```
1380
-
1381
- ### Riešenie: Konfigurácia proprias poverenia OAuth
1382
-
1383
- Presný kód je **OAuth 2.0 Client ID** bez služby Google Cloud Console s identifikátorom URI.
1384
-
1385
- #### Passo a passo
1386
-
1387
- **1. Prístup k službe Google Cloud Console**
1388
-
1389
- Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials)
1390
-
1391
- **2. Crie um novo OAuth 2.0 Client ID**
1392
-
1393
- - Kliknite na **"+ Vytvoriť poverenia"** → **"ID klienta OAuth"**
1394
- - Tipo de aplicativo: **"Webová aplikácia"**
1395
- – Nome: escolha qualquer nome (napr.: `OmniRoute Remote`)
1396
-
1397
- **3. Adicione ako Authorized Redirect URI**
1398
-
1399
- Žiadne pole **"URI autorizovaného presmerovania"**, adicione:
1400
-
1401
- ```
1402
- https://seu-servidor.com/callback
1403
- ```
1404
-
1405
- > Substitua `seu-servidor.com` pelo domínio ou IP do seu servidor (inclua a porta se necessário, napr.: `http://45.33.32.156:20128/callback`).
1406
-
1407
- **4. Uložiť a kópiu ako poverenie**
1408
-
1409
- Após criar, o Google mostrará o **Client ID** e o **Client Secret**.
1410
-
1411
- **5. Konfigurovať ako variáveis de ambiente**
1412
-
1413
- No seu `.env` (ou nas variáveis de ambiente do Docker):
1414
-
1415
- ```bash
1416
- # Para Antigravity:
1417
- ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
1418
- ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
1419
-
1420
- # Para Gemini CLI:
1421
- GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
1422
- GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
1423
- GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
1424
- ```
1425
-
1426
- **6. Reinicie alebo OmniRoute**
1427
-
1428
- ```bash
1429
- # Se usando npm:
1430
- npm run dev
1431
-
1432
- # Se usando Docker:
1433
- docker restart omniroute
1434
- ```
1435
-
1436
- **7. Tente conectar novamente**
1437
-
1438
- Dashboard → Poskytovatelia → Antigravitácia (alebo Gemini CLI) → OAuth
1439
-
1440
- Agora alebo Google presmerovaný korretamente pre `https://seu-servidor.com/callback` a autentické funkcie.
1441
-
1442
- ---
1443
-
1444
- ### Alternatívne dočasné riešenie (sem configurar credenciais próprias)
1445
-
1446
- Ak chcete získať prístup k dôvere, môžete použiť **príručku URL**:
1447
-
1448
- 1. O OmniRoute abrirá a URL autorização Google
1449
- 2. Após você autorizar, o Google tentará redirecionar para `localhost` (que falha no servidor remoto)
1450
- 3. **Skopírujte úplnú webovú adresu** da barra de endereço do seu browser (mesmo que a pagina não carregue)
1451
- 4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute
1452
- 5. Kliknite na **"Pripojiť"**
1453
-
1454
- > Toto riešenie funguje pomocou autorizačného kódu na adrese URL a nezávislého presmerovania.
1455
-
1456
- </details>
1457
-
1458
- ---
1459
-
1460
- ## 🛠️
1461
-
1462
- - **Runtime**: Node.js 18–22 LTS (⚠️ Node.js 24+ nie je **podporovaný** — `better-sqlite3` natívne binárne súbory sú nekompatibilné)
1463
- – **Jazyk**: TypeScript 5.9 — **100 % TypeScript** v `src/` a `open-sse/` (v1.0.6)
1464
- – **Framework**: Next.js 16 + React 19 + Tailwind CSS 4
1465
- - **Databáza**: LowDB (JSON) + SQLite (stav domény + protokoly proxy)
1466
- - **Streamovanie**: Server-Sent Events (SSE)
1467
- - **Auth**: OAuth 2.0 (PKCE) + JWT + kľúče API
1468
- - **Testovanie**: Testovací program Node.js (viac ako 368 testov jednotiek)
1469
- - **CI/CD**: Akcie GitHub (automatické zverejňovanie npm + Docker Hub pri vydaní)
1470
- - **Web**: [omniroute.online](https://omniroute.online)
1471
- - **Balík**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
1472
- - **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
1473
- - **Odolnosť**: Istič, exponenciálny ústup, stádo proti hromu, spoofing TLS
1474
-
1475
- ---
1476
-
1477
- ## 📖 Dokumentácia
1478
-
1479
- | Dokument | Popis |
1480
- | -------------------------------------------- | -------------------------------------------------------------- |
1481
- | [User Guide](docs/USER_GUIDE.md) | Poskytovatelia, kombá, integrácia CLI, nasadenie |
1482
- | [API Reference](docs/API_REFERENCE.md) | Všetky koncové body s príkladmi |
1483
- | [Troubleshooting](docs/TROUBLESHOOTING.md) | Bežné problémy a riešenia |
1484
- | [Architecture](docs/ARCHITECTURE.md) | Architektúra systému a vnútorné vybavenie |
1485
- | [Contributing](CONTRIBUTING.md) | Nastavenie vývoja a usmernenia |
1486
- | [OpenAPI Spec](docs/openapi.yaml) | Špecifikácia OpenAPI 3.0 |
1487
- | [Security Policy](SECURITY.md) | Nahlasovanie zraniteľnosti a bezpečnostné postupy |
1488
- | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Kompletný sprievodca: nastavenie VM + nginx + Cloudflare |
1489
- | [Features Gallery](docs/FEATURES.md) | Vizuálna prehliadka prístrojového panela so snímkami obrazovky |
1490
-
1491
- ### 📸 Ukážka hlavného panela
1492
-
1493
- <details>
1494
- <summary><b>Kliknutím zobrazíte snímky obrazovky hlavného panela</b></summary>
1495
-
1496
- | Strana | Snímka obrazovky |
1497
- | ---------------------- | ------------------------------------------------- |
1498
- | **Poskytovatelia** | ![Providers](docs/screenshots/01-providers.png) |
1499
- | **Kombá** | ![Combos](docs/screenshots/02-combos.png) |
1500
- | **Analytika** | ![Analytics](docs/screenshots/03-analytics.png) |
1501
- | **Zdravie** | ![Health](docs/screenshots/04-health.png) |
1502
- | **Prekladateľ** | ![Translator](docs/screenshots/05-translator.png) |
1503
- | **Nastavenia** | ![Settings](docs/screenshots/06-settings.png) |
1504
- | **Nástroje CLI** | ![CLI Tools](docs/screenshots/07-cli-tools.png) |
1505
- | **Denníky používania** | ![Usage](docs/screenshots/08-usage.png) |
1506
- | **Koncový bod** | ![Endpoint](docs/screenshots/09-endpoint.png) |
1507
-
1508
- </details>
1509
-
1510
- ---
1511
-
1512
- ## 🗺️
1513
-
1514
- OmniRoute má naplánovaných **210+ funkcií** vo viacerých fázach vývoja. Tu sú kľúčové oblasti:
1515
-
1516
- | Kategória | Plánované funkcie | Najdôležitejšie |
1517
- | ------------------------------------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------- |
1518
- | 🧠 **Routovanie a inteligencia** | 25+ | Smerovanie s najnižšou latenciou, smerovanie založené na značkách, predbežná kontrola kvóty, výber účtu P2C |
1519
- | 🔒 **Bezpečnosť a dodržiavanie predpisov** | 20+ | Spevnenie SSRF, maskovanie poverení, limit rýchlosti na koncový bod, rozsah kľúča riadenia |
1520
- | 📊 **Pozorovateľnosť** | 15+ | Integrácia OpenTelemetry, monitorovanie kvót v reálnom čase, sledovanie nákladov na model |
1521
- | 🔄 **Integrácie poskytovateľov** | 20+ | Register dynamických modelov, cooldowny poskytovateľov, kódex pre viacero účtov, analýza kvót Copilota |
1522
- | ⚡ **Výkon** | 15+ | Dual cache layer, prompt cache, response cache, streaming keepalive, batch API |
1523
- | 🌐 **Ekosystém** | 10+ | WebSocket API, rýchle opätovné načítanie konfigurácie, distribuovaný ukladací priestor konfigurácií, komerčný režim |
1524
-
1525
- ### 🔜 Už čoskoro
1526
-
1527
- - 🔗 **Integrácia OpenCode** – podpora natívneho poskytovateľa pre IDE kódovania OpenCode AI
1528
- - 🔗 **Integrácia TRAE** – Úplná podpora vývojového rámca TRAE AI
1529
- - 📦 **Batch API** – Asynchrónne dávkové spracovanie pre hromadné požiadavky
1530
- - 🎯 ** Smerovanie založené na značkách** – Smerujte požiadavky na základe vlastných značiek a metadát
1531
- - 💰 **Stratégia najnižšej ceny** — Automaticky vyberte najlacnejšieho dostupného poskytovateľa
1532
-
1533
- > 📝 Úplné špecifikácie funkcií sú k dispozícii v [link](docs/new-features/) (217 podrobných špecifikácií)
1534
-
1535
- ---
1536
-
1537
- ## 👥 Prispievatelia
1538
-
1539
- [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
1540
-
1541
- ### Ako prispieť
1542
-
1543
- 1. Fork úložisko
1544
- 2. Vytvorte si pobočku funkcií (`git checkout -b feature/amazing-feature`)
1545
- 3. Potvrďte zmeny (`git commit -m 'Add amazing feature'`)
1546
- 4. Zatlačte na pobočku (`git push origin feature/amazing-feature`)
1547
- 5. Otvorte požiadavku na stiahnutie
1548
-
1549
- Podrobné pokyny nájdete na stránke [CONTRIBUTING.md](CONTRIBUTING.md).
1550
-
1551
- ### Vydanie novej verzie
1552
-
1553
- ```bash
1554
- # Create a release — npm publish happens automatically
1555
- gh release create v1.0.6 --title "v1.0.6" --generate-notes
1556
- ```
1557
-
1558
- ---
1559
-
1560
- ## 📊 História hviezd
1561
-
1562
- <a href="https://star-history.com/#diegosouzapw/OmniRoute&Date">
1563
- <picture>
1564
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date&theme=dark" />
1565
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
1566
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
1567
- </picture>
1568
- </a>
1569
-
1570
- ---
1571
-
1572
- ## 🙏 Poďakovanie
1573
-
1574
- Špeciálne poďakovanie patrí **[9router](https://github.com/decolua/9router)** od **[decolua](https://github.com/decolua)** – pôvodnému projektu, ktorý inšpiroval túto vidličku. OmniRoute stavia na tomto neuveriteľnom základe s ďalšími funkciami, multimodálnymi API a úplným prepísaním TypeScript.
1575
-
1576
- Špeciálne poďakovanie patrí **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** – pôvodnej implementácii Go, ktorá inšpirovala tento port JavaScript.
1577
-
1578
- ---
1579
-
1580
- ## 📄 Licencia
1581
-
1582
- Licencia MIT – podrobnosti nájdete na stránke [LICENSE](LICENSE).
1583
-
1584
- ---
1585
-
1586
- <div align="center">
1587
- <sub>Vytvorené pomocou ❤️ pre vývojárov, ktorí kódujú 24/7</sub>
1588
- <br/>
1589
- <sub><a href="https://omniroute.online">omniroute.online</a></sub>
1590
- </div>