omniroute 1.4.11 → 1.5.0

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 (370) hide show
  1. package/README.ar.md +1153 -0
  2. package/README.bg.md +1238 -0
  3. package/README.da.md +1238 -0
  4. package/README.de.md +1 -1
  5. package/README.es.md +1 -1
  6. package/README.fi.md +1238 -0
  7. package/README.fr.md +1 -1
  8. package/README.he.md +1238 -0
  9. package/README.hu.md +1238 -0
  10. package/README.id.md +1238 -0
  11. package/README.in.md +952 -0
  12. package/README.it.md +1 -1
  13. package/README.ja.md +1152 -0
  14. package/README.ko.md +1238 -0
  15. package/README.md +25 -20
  16. package/README.ms.md +1238 -0
  17. package/README.nl.md +1238 -0
  18. package/README.no.md +1238 -0
  19. package/README.phi.md +1238 -0
  20. package/README.pl.md +1238 -0
  21. package/README.pt-BR.md +16 -12
  22. package/README.pt.md +1238 -0
  23. package/README.ro.md +1238 -0
  24. package/README.ru.md +1 -1
  25. package/README.sk.md +1239 -0
  26. package/README.sv.md +1238 -0
  27. package/README.th.md +1229 -0
  28. package/README.uk-UA.md +1240 -0
  29. package/README.vi.md +1238 -0
  30. package/README.zh-CN.md +1 -1
  31. package/app/.next/BUILD_ID +1 -1
  32. package/app/.next/app-path-routes-manifest.json +28 -28
  33. package/app/.next/build-manifest.json +2 -2
  34. package/app/.next/prerender-manifest.json +3 -3
  35. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
  36. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js +1 -1
  39. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js.nft.json +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js +2 -2
  42. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js.nft.json +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +6 -6
  45. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js +2 -2
  51. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js.nft.json +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  54. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/(dashboard)/dashboard/health/page.js +2 -2
  57. package/app/.next/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  58. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js +2 -2
  60. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js.nft.json +1 -1
  61. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/(dashboard)/dashboard/logs/page.js +1 -1
  63. package/app/.next/server/app/(dashboard)/dashboard/logs/page.js.nft.json +1 -1
  64. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js +2 -2
  66. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js.nft.json +1 -1
  67. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  69. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  70. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  72. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  73. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
  75. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  76. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  78. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  79. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  81. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  82. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
  84. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
  85. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
  87. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  88. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +3 -3
  90. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  91. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  93. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  94. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/_global-error.html +2 -2
  97. package/app/.next/server/app/_global-error.rsc +1 -1
  98. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  99. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  100. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  101. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  102. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  103. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  104. package/app/.next/server/app/_not-found/page.js +1 -1
  105. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  106. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  113. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  115. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
  117. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  119. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  120. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +1 -1
  121. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  123. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  125. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  127. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  130. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  132. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  134. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
  136. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/models/route.js +1 -1
  161. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  163. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/providers/route.js +1 -1
  185. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  204. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  207. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  209. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  210. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  212. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  213. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  215. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  216. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  218. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  219. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  221. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  222. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  223. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  224. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  225. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  226. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  227. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  228. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  229. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  230. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  231. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  232. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  233. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  234. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  235. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  236. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  237. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  238. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  239. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  240. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  241. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  242. package/app/.next/server/app/callback/page.js +2 -2
  243. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  244. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  245. package/app/.next/server/app/docs/page.js +2 -2
  246. package/app/.next/server/app/docs/page.js.nft.json +1 -1
  247. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  248. package/app/.next/server/app/forbidden/page.js +2 -2
  249. package/app/.next/server/app/forbidden/page.js.nft.json +1 -1
  250. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  251. package/app/.next/server/app/forgot-password/page.js +2 -2
  252. package/app/.next/server/app/forgot-password/page.js.nft.json +1 -1
  253. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  254. package/app/.next/server/app/landing/page.js +2 -2
  255. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  256. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  257. package/app/.next/server/app/login/page.js +2 -2
  258. package/app/.next/server/app/login/page.js.nft.json +1 -1
  259. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  260. package/app/.next/server/app/page.js +1 -1
  261. package/app/.next/server/app/page.js.nft.json +1 -1
  262. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  263. package/app/.next/server/app/privacy/page.js +2 -2
  264. package/app/.next/server/app/privacy/page.js.nft.json +1 -1
  265. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  266. package/app/.next/server/app/terms/page.js +2 -2
  267. package/app/.next/server/app/terms/page.js.nft.json +1 -1
  268. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  269. package/app/.next/server/app-paths-manifest.json +28 -28
  270. package/app/.next/server/chunks/1248.js +1 -0
  271. package/app/.next/server/chunks/{3994.js → 1465.js} +2 -2
  272. package/app/.next/server/chunks/1526.js +1 -0
  273. package/app/.next/server/chunks/1584.js +1 -0
  274. package/app/.next/server/chunks/1623.js +1 -0
  275. package/app/.next/server/chunks/1880.js +1 -0
  276. package/app/.next/server/chunks/1960.js +1 -1
  277. package/app/.next/server/chunks/1990.js +1 -1
  278. package/app/.next/server/chunks/2214.js +1 -0
  279. package/app/.next/server/chunks/2372.js +1 -0
  280. package/app/.next/server/chunks/2594.js +1 -0
  281. package/app/.next/server/chunks/3371.js +1 -0
  282. package/app/.next/server/chunks/3498.js +1 -1
  283. package/app/.next/server/chunks/3911.js +1 -0
  284. package/app/.next/server/chunks/438.js +1 -0
  285. package/app/.next/server/chunks/496.js +1 -0
  286. package/app/.next/server/chunks/5047.js +1 -0
  287. package/app/.next/server/chunks/5094.js +1 -0
  288. package/app/.next/server/chunks/5097.js +1 -0
  289. package/app/.next/server/chunks/5393.js +2 -0
  290. package/app/.next/server/chunks/5521.js +1 -0
  291. package/app/.next/server/chunks/5945.js +1 -0
  292. package/app/.next/server/chunks/6118.js +1 -0
  293. package/app/.next/server/chunks/6930.js +1 -0
  294. package/app/.next/server/chunks/7011.js +1 -0
  295. package/app/.next/server/chunks/708.js +1 -0
  296. package/app/.next/server/chunks/7650.js +1 -0
  297. package/app/.next/server/chunks/8220.js +1 -0
  298. package/app/.next/server/chunks/8464.js +1 -0
  299. package/app/.next/server/chunks/8706.js +1 -0
  300. package/app/.next/server/chunks/8976.js +1 -0
  301. package/app/.next/server/chunks/9119.js +1 -0
  302. package/app/.next/server/chunks/944.js +1 -0
  303. package/app/.next/server/chunks/9824.js +1 -1
  304. package/app/.next/server/chunks/9837.js +1 -0
  305. package/app/.next/server/pages/500.html +2 -2
  306. package/app/.next/server/server-reference-manifest.js +1 -1
  307. package/app/.next/server/server-reference-manifest.json +1 -1
  308. package/app/.next/static/chunks/{6458-085536744d592424.js → 1149-fefe7f95f0e9842f.js} +1 -1
  309. package/app/.next/static/chunks/{5846-19c878280decbd16.js → 5846-c6bffec2bf9757fa.js} +1 -1
  310. package/app/.next/static/chunks/{782-5e138760b7f7bf48.js → 8055-5844ff783b2e8a99.js} +3 -3
  311. package/app/.next/static/chunks/{993-e3050ebfd4f5032f.js → 993-cf9fe6c017bc7e67.js} +3 -3
  312. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/page-52f76c7c91444ec2.js +1 -0
  313. package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-1dd4d0c348a7b0a6.js +1 -0
  314. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-e5bf8955e7b9a4f5.js +1 -0
  315. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-ce332ffdb491a4d8.js +15 -0
  316. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-ede2315b6918315e.js → page-6abed29d64c46388.js} +1 -1
  317. package/app/.next/static/chunks/app/(dashboard)/dashboard/costs/page-3ed2a7685adf9b91.js +1 -0
  318. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-1420c3ca376f1585.js +1 -0
  319. package/app/.next/static/chunks/app/(dashboard)/dashboard/health/page-9a6519bf1468f16e.js +1 -0
  320. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-f4a2d6d07df5ddc4.js +1 -0
  321. package/app/.next/static/chunks/app/(dashboard)/dashboard/logs/{page-6ee69634597daee0.js → page-833d24f322a20f5a.js} +1 -1
  322. package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/page-ec914ae79f085e6f.js +1 -0
  323. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-388840686801f3f5.js +1 -0
  324. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9c8ffb212f855704.js +1 -0
  325. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-31cdb6e15134d8c2.js +1 -0
  326. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-1f022385b812b987.js +1 -0
  327. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1393d4935fc087cf.js +1 -0
  328. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/pricing/{page-77158451270c1852.js → page-f10a8d4bb8236913.js} +1 -1
  329. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-83b07523f81d6282.js +4 -0
  330. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-9cc99ab874fc36e7.js +1 -0
  331. package/app/.next/static/chunks/app/(dashboard)/{layout-b23c2c5427e04dcf.js → layout-00d5d56af65098a9.js} +1 -1
  332. package/app/.next/static/chunks/app/callback/page-585a53f7dc6a30f1.js +1 -0
  333. package/app/.next/static/chunks/app/docs/page-2fe9dcbeb3f738c0.js +1 -0
  334. package/app/.next/static/chunks/app/forbidden/{page-4a39fedc08aaaf55.js → page-df886dfa2d5bd9fa.js} +1 -1
  335. package/app/.next/static/chunks/app/forgot-password/page-2a495f0b0c653ab4.js +1 -0
  336. package/app/.next/static/chunks/app/landing/page-9d540ab1716f8e3e.js +1 -0
  337. package/app/.next/static/chunks/app/login/page-121c612ee459e7c2.js +1 -0
  338. package/app/.next/static/chunks/app/privacy/page-2fe9dcbeb3f738c0.js +1 -0
  339. package/app/.next/static/chunks/app/terms/page-2fe9dcbeb3f738c0.js +1 -0
  340. package/app/.next/static/css/6f101b114a4a7286.css +1 -0
  341. package/app/package.json +1 -1
  342. package/package.json +1 -1
  343. package/app/.next/server/chunks/1259.js +0 -2
  344. package/app/.next/server/chunks/4509.js +0 -1
  345. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/page-a50474b6ebdf468a.js +0 -1
  346. package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-d806e4f28c15636a.js +0 -1
  347. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-27bc511cf3930e1e.js +0 -1
  348. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-ad885fdf9806e9a6.js +0 -15
  349. package/app/.next/static/chunks/app/(dashboard)/dashboard/costs/page-08f3ed204d01b6a0.js +0 -1
  350. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-6e4f3ca7ac9778be.js +0 -1
  351. package/app/.next/static/chunks/app/(dashboard)/dashboard/health/page-8725f1a181e558a3.js +0 -1
  352. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-fbe1442b61df950a.js +0 -1
  353. package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/page-931fa0c45dca76c9.js +0 -1
  354. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-04bc41f9e9de17ef.js +0 -1
  355. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-6b6d62c5872aee46.js +0 -1
  356. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-2dc2a865e90681dd.js +0 -1
  357. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-ac85ce5066cd9044.js +0 -1
  358. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-88cac9e6f2fbe335.js +0 -1
  359. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-b351778975cb8622.js +0 -4
  360. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-f0809c7842e4f5b4.js +0 -1
  361. package/app/.next/static/chunks/app/callback/page-e439cd5a287000d8.js +0 -1
  362. package/app/.next/static/chunks/app/docs/page-8f74097544a61b9d.js +0 -1
  363. package/app/.next/static/chunks/app/forgot-password/page-a440e0c1675842bf.js +0 -1
  364. package/app/.next/static/chunks/app/landing/page-09741814aaca7548.js +0 -1
  365. package/app/.next/static/chunks/app/login/page-164f6b6b41167c5a.js +0 -1
  366. package/app/.next/static/chunks/app/privacy/page-8f74097544a61b9d.js +0 -1
  367. package/app/.next/static/chunks/app/terms/page-8f74097544a61b9d.js +0 -1
  368. package/app/.next/static/css/e90887a86e63903f.css +0 -1
  369. /package/app/.next/static/{g7Mie-iq39oZ7ts610YtL → XOdkUGO-Pm15MwsN4s6B3}/_buildManifest.js +0 -0
  370. /package/app/.next/static/{g7Mie-iq39oZ7ts610YtL → XOdkUGO-Pm15MwsN4s6B3}/_ssgManifest.js +0 -0
@@ -0,0 +1,1240 @@
1
+ <div align="center">
2
+ <img src="./docs/screenshots/MainOmniRoute.png" alt="OmniRoute Dashboard" width="800"/>
3
+
4
+ # 🚀 OmniRoute — безкоштовний ШІ-шлюз
5
+
6
+ 🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)**
7
+
8
+ ### Ніколи не припиняйте кодувати. Розумна маршрутизація до **БЕЗКОШТОВНИХ і недорогих моделей штучного інтелекту** з автоматичним резервним копіюванням.
9
+
10
+ _Ваш універсальний API-проксі — одна кінцева точка, понад 36 провайдерів, нуль простоїв._
11
+
12
+ **Завершення чату • Вбудовування • Генерація зображень • Аудіо • Реранжування • 100% TypeScript**
13
+
14
+ ---
15
+
16
+ ### 🤖 Безкоштовний постачальник AI для ваших улюблених агентів кодування
17
+
18
+ _Підключіть будь-який інструмент IDE або CLI на основі штучного інтелекту через OmniRoute — безкоштовний шлюз API для необмеженого програмування._
19
+
20
+ <table>
21
+ <tr>
22
+ <td align="center" width="110">
23
+ <a href="https://github.com/cline/cline">
24
+ <img src="./public/providers/openclaw.png" alt="OpenClaw" width="48"/><br/>
25
+ <b>OpenClaw</b>
26
+ </a><br/>
27
+ <sub>⭐ 205K</sub>
28
+ </td>
29
+ <td align="center" width="110">
30
+ <a href="https://github.com/HKUDS/nanobot">
31
+ <img src="./public/providers/nanobot.png" alt="NanoBot" width="48"/><br/>
32
+ <b>NanoBot</b>
33
+ </a><br/>
34
+ <sub>⭐ 20.9K</sub>
35
+ </td>
36
+ <td align="center" width="110">
37
+ <a href="https://github.com/sipeed/picoclaw">
38
+ <img src="./public/providers/picoclaw.jpg" alt="PicoClaw" width="48"/><br/>
39
+ <b>PicoClaw</b>
40
+ </a><br/>
41
+ <sub>⭐ 14.6K</sub>
42
+ </td>
43
+ <td align="center" width="110">
44
+ <a href="https://github.com/zeroclaw-labs/zeroclaw">
45
+ <img src="./public/providers/zeroclaw.png" alt="ZeroClaw" width="48"/><br/>
46
+ <b>ZeroClaw</b>
47
+ </a><br/>
48
+ <sub>⭐ 9.9K</sub>
49
+ </td>
50
+ <td align="center" width="110">
51
+ <a href="https://github.com/nearai/ironclaw">
52
+ <img src="./public/providers/ironclaw.png" alt="IronClaw" width="48"/><br/>
53
+ <b>IronClaw</b>
54
+ </a><br/>
55
+ <sub>⭐ 2.1K</sub>
56
+ </td>
57
+ </tr>
58
+ <tr>
59
+ <td align="center" width="110">
60
+ <a href="https://github.com/anomalyco/opencode">
61
+ <img src="./public/providers/opencode.svg" alt="OpenCode" width="48"/><br/>
62
+ <b>OpenCode</b>
63
+ </a><br/>
64
+ <sub>⭐ 106K</sub>
65
+ </td>
66
+ <td align="center" width="110">
67
+ <a href="https://github.com/openai/codex">
68
+ <img src="./public/providers/codex.png" alt="Codex CLI" width="48"/><br/>
69
+ <b>Codex CLI</b>
70
+ </a><br/>
71
+ <sub>⭐ 60.8K</sub>
72
+ </td>
73
+ <td align="center" width="110">
74
+ <a href="https://github.com/anthropics/claude-code">
75
+ <img src="./public/providers/claude.png" alt="Claude Code" width="48"/><br/>
76
+ <b>Claude Code</b>
77
+ </a><br/>
78
+ <sub>⭐ 67.3K</sub>
79
+ </td>
80
+ <td align="center" width="110">
81
+ <a href="https://github.com/google-gemini/gemini-cli">
82
+ <img src="./public/providers/gemini-cli.png" alt="Gemini CLI" width="48"/><br/>
83
+ <b>Gemini CLI</b>
84
+ </a><br/>
85
+ <sub>⭐ 94.7K</sub>
86
+ </td>
87
+ <td align="center" width="110">
88
+ <a href="https://github.com/Kilo-Org/kilocode">
89
+ <img src="./public/providers/kilocode.png" alt="Kilo Code" width="48"/><br/>
90
+ <b>Kilo Code</b>
91
+ </a><br/>
92
+ <sub>⭐ 15.5K</sub>
93
+ </td>
94
+ </tr>
95
+ </table>
96
+
97
+ <sub>📡 Усі агенти підключаються через <code>http://localhost:20128/v1</code> або <code>http://cloud.omniroute.online/v1</code> — одна конфігурація, необмежена кількість моделей і квота</sub>
98
+
99
+ ---
100
+
101
+ [![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute)
102
+ [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute)
103
+ [![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
104
+ [![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online)
105
+ [![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
106
+
107
+ [🌐 Website](https://omniroute.online) • [🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [📖 Docs](#-documentation) • [💰 Pricing](#-pricing-at-a-glance) • [💬 WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
108
+
109
+ 🌐 **Available in:** 🇺🇸 [English](README.md) | 🇧🇷 [Português (Brasil)](README.pt-BR.md) | 🇪🇸 [Español](README.es.md) | 🇫🇷 [Français](README.fr.md) | 🇮🇹 [Italiano](README.it.md) | 🇷🇺 [Русский](README.ru.md) | 🇨🇳 [中文 (简体)](README.zh-CN.md) | 🇩🇪 [Deutsch](README.de.md) | 🇮🇳 [हिन्दी](README.in.md) | 🇹🇭 [ไทย](README.th.md) | 🇺🇦 [Українська](README.uk-UA.md) | 🇸🇦 [العربية](README.ar.md) | 🇯🇵 [日本語](README.ja.md) | 🇻🇳 [Tiếng Việt](README.vi.md) | 🇧🇬 [Български](README.bg.md) | 🇩🇰 [Dansk](README.da.md) | 🇫🇮 [Suomi](README.fi.md) | 🇮🇱 [עברית](README.he.md) | 🇭🇺 [Magyar](README.hu.md) | 🇮🇩 [Bahasa Indonesia](README.id.md) | 🇰🇷 [한국어](README.ko.md) | 🇲🇾 [Bahasa Melayu](README.ms.md) | 🇳🇱 [Nederlands](README.nl.md) | 🇳🇴 [Norsk](README.no.md) | 🇵🇹 [Português (Portugal)](README.pt.md) | 🇷🇴 [Română](README.ro.md) | 🇵🇱 [Polski](README.pl.md) | 🇸🇰 [Slovenčina](README.sk.md) | 🇸🇪 [Svenska](README.sv.md) | 🇵🇭 [Filipino](README.phi.md)
110
+
111
+ </div>
112
+
113
+ ---
114
+
115
+ ## 🤔 Чому OmniRoute?
116
+
117
+ **Припиніть витрачати гроші та досягати лімітів:**
118
+
119
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Квота підписки закінчується без використання кожного місяця
120
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Обмеження швидкості перешкоджають кодуванню в середині
121
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Дорогі API ($20-50/місяць за постачальника)
122
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Ручне перемикання між провайдерами
123
+
124
+ **OmniRoute вирішує цю проблему:**
125
+
126
+ - ✅ **Збільште кількість підписок** - Відстежуйте квоту, використовуйте кожен біт перед скиданням
127
+ - ✅ **Автоматичний резерв** - Підписка → Ключ API → Дешево → Безкоштовно, без простоїв
128
+ - ✅ **Кілька облікових записів** - Циклічний цикл між обліковими записами кожного постачальника
129
+ - ✅ **Універсальний** - Працює з Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, будь-яким інструментом CLI
130
+
131
+ ---
132
+
133
+ ## 🔄 Як це працює
134
+
135
+ ```
136
+ ┌─────────────┐
137
+ │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...)
138
+ │ Tool │
139
+ └──────┬──────┘
140
+ │ http://localhost:20128/v1
141
+
142
+ ┌─────────────────────────────────────────┐
143
+ │ OmniRoute (Smart Router) │
144
+ │ • Format translation (OpenAI ↔ Claude) │
145
+ │ • Quota tracking + Embeddings + Images │
146
+ │ • Auto token refresh │
147
+ └──────┬──────────────────────────────────┘
148
+
149
+ ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI
150
+ │ ↓ quota exhausted
151
+ ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc.
152
+ │ ↓ budget limit
153
+ ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M)
154
+ │ ↓ budget limit
155
+ └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited)
156
+
157
+ Result: Never stop coding, minimal cost
158
+ ```
159
+
160
+ ---
161
+
162
+ ## ⚡ Швидкий старт
163
+
164
+ **1. Встановити глобально:**
165
+
166
+ ```bash
167
+ npm install -g omniroute
168
+ omniroute
169
+ ```
170
+
171
+ 🎉 Інформаційна панель відкривається в `http://localhost:20128`
172
+
173
+ | Команда | Опис |
174
+ | ----------------------- | ---------------------------------------------- |
175
+ | `omniroute` | Запустити сервер (порт за замовчуванням 20128) |
176
+ | `omniroute --port 3000` | Використовувати спеціальний порт |
177
+ | `omniroute --no-open` | Не відкривати автоматично браузер |
178
+ | `omniroute --help` | Показати довідку |
179
+
180
+ **2. Підключіть БЕЗКОШТОВНОГО провайдера:**
181
+
182
+ Інформаційна панель → Постачальники → Підключити **Claude Code** або **Antigravity** → Вхід OAuth → Готово!
183
+
184
+ **3. Використовуйте у своєму інструменті CLI:**
185
+
186
+ ```
187
+ Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings:
188
+ Endpoint: http://localhost:20128/v1
189
+ API Key: [copy from dashboard]
190
+ Model: if/kimi-k2-thinking
191
+ ```
192
+
193
+ **Ось і все!** Почніть кодувати з БЕЗКОШТОВНИМИ моделями ШІ.
194
+
195
+ **Альтернатива — запустити з джерела:**
196
+
197
+ ```bash
198
+ cp .env.example .env
199
+ npm install
200
+ PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
201
+ ```
202
+
203
+ ---
204
+
205
+ ## 🐳 Докер
206
+
207
+ OmniRoute доступний як загальнодоступний образ Docker на [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute).
208
+
209
+ **Швидкий біг:**
210
+
211
+ ```bash
212
+ docker run -d \
213
+ --name omniroute \
214
+ --restart unless-stopped \
215
+ -p 20128:20128 \
216
+ -v omniroute-data:/app/data \
217
+ diegosouzapw/omniroute:latest
218
+ ```
219
+
220
+ **З файлом середовища:**
221
+
222
+ ```bash
223
+ # Copy and edit .env first
224
+ cp .env.example .env
225
+
226
+ docker run -d \
227
+ --name omniroute \
228
+ --restart unless-stopped \
229
+ --env-file .env \
230
+ -p 20128:20128 \
231
+ -v omniroute-data:/app/data \
232
+ diegosouzapw/omniroute:latest
233
+ ```
234
+
235
+ **Використання Docker Compose:**
236
+
237
+ ```bash
238
+ # Base profile (no CLI tools)
239
+ docker compose --profile base up -d
240
+
241
+ # CLI profile (Claude Code, Codex, OpenClaw built-in)
242
+ docker compose --profile cli up -d
243
+ ```
244
+
245
+ | Зображення | Тег | Розмір | Опис |
246
+ | ------------------------ | -------- | ------- | -------------------------- |
247
+ | `diegosouzapw/omniroute` | `latest` | ~250 МБ | Останній стабільний випуск |
248
+ | `diegosouzapw/omniroute` | `1.0.3` | ~250 МБ | Поточна версія |
249
+
250
+ ---
251
+
252
+ ## 💰 Короткий огляд цін
253
+
254
+ | Рівень | Постачальник | Вартість | Скидання квоти | Найкраще для |
255
+ | ------------------ | ---------------- | ------------------------------- | ----------------------------- | ---------------------------- |
256
+ | **💳 ПІДПИСКА** | Клод Код (Pro) | 20 доларів США на місяць | 5 годин + щотижня | Вже підписані |
257
+ | | Codex (Plus/Pro) | $20-200/міс | 5 годин + щотижня | Користувачі OpenAI |
258
+ | | Gemini CLI | **БЕЗКОШТОВНО** | 180 тис./місяць + 1 тис./день | всі! |
259
+ | | Копілот GitHub | $10-19/міс | Щомісяця | Користувачі GitHub |
260
+ | **🔑 КЛЮЧ API** | NVIDIA NIM | **БЕЗКОШТОВНО** (1000 кредитів) | Одноразова | Безкоштовне тестування рівня |
261
+ | | DeepSeek | Оплата за використання | Жодного | Краща ціна/якість |
262
+ | | Groq | Безкоштовний рівень + платний | Оцінка обмежена | Надшвидкий висновок |
263
+ | | xAI (Грок) | Оплата за використання | Жодного | Моделі Grok |
264
+ | | Містраль | Безкоштовний рівень + платний | Оцінка обмежена | Європейський ШІ |
265
+ | | OpenRouter | Оплата за використання | Жодного | 100+ моделей |
266
+ | **💰 ДЕШЕВО** | GLM-4.7 | $0,6/1 млн | Щодня о 10 ранку | Резервне копіювання бюджету |
267
+ | | MiniMax M2.1 | $0,2/1 млн | 5-годинний роликовий | Найдешевший варіант |
268
+ | | Кімі К2 | 9 $/міс квартира | 10 млн токенів/міс | Передбачувана вартість |
269
+ | **🆓 БЕЗКОШТОВНО** | iFlow | $0 | Необмежений | 8 моделей безкоштовно |
270
+ | | Квен | $0 | Необмежений | 3 моделі безкоштовно |
271
+ | | Кіро | $0 | Необмежений | Клод безкоштовно |
272
+
273
+ **💡 Порада професіонала:** Почніть із Gemini CLI (180 тис. безкоштовно/місяць) + iFlow (необмежено безкоштовно) = 0 доларів США!
274
+
275
+ ---
276
+
277
+ ## 🎯 Випадки використання
278
+
279
+ ### Випадок 1: «У мене є підписка на Claude Pro»
280
+
281
+ **Проблема:** Квота закінчується невикористаною, обмеження швидкості під час інтенсивного кодування
282
+
283
+ ```
284
+ Combo: "maximize-claude"
285
+ 1. cc/claude-opus-4-6 (use subscription fully)
286
+ 2. glm/glm-4.7 (cheap backup when quota out)
287
+ 3. if/kimi-k2-thinking (free emergency fallback)
288
+
289
+ Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total
290
+ vs. $20 + hitting limits = frustration
291
+ ```
292
+
293
+ ### Випадок 2: "Я хочу нульову вартість"
294
+
295
+ **Проблема:** не можу дозволити собі підписку, потрібне надійне кодування ШІ
296
+
297
+ ```
298
+ Combo: "free-forever"
299
+ 1. gc/gemini-3-flash (180K free/month)
300
+ 2. if/kimi-k2-thinking (unlimited free)
301
+ 3. qw/qwen3-coder-plus (unlimited free)
302
+
303
+ Monthly cost: $0
304
+ Quality: Production-ready models
305
+ ```
306
+
307
+ ### Випадок 3: «Мені потрібне кодування 24/7, без перерв»
308
+
309
+ **Проблема:** Дедлайни, не можу дозволити собі простою
310
+
311
+ ```
312
+ Combo: "always-on"
313
+ 1. cc/claude-opus-4-6 (best quality)
314
+ 2. cx/gpt-5.2-codex (second subscription)
315
+ 3. glm/glm-4.7 (cheap, resets daily)
316
+ 4. minimax/MiniMax-M2.1 (cheapest, 5h reset)
317
+ 5. if/kimi-k2-thinking (free unlimited)
318
+
319
+ Result: 5 layers of fallback = zero downtime
320
+ ```
321
+
322
+ ### Випадок 4: «Я хочу БЕЗКОШТОВНОГО ШІ в OpenClaw»
323
+
324
+ **Проблема:** потрібен помічник штучного інтелекту в програмах для обміну повідомленнями, повністю безкоштовний
325
+
326
+ ```
327
+ Combo: "openclaw-free"
328
+ 1. if/glm-4.7 (unlimited free)
329
+ 2. if/minimax-m2.1 (unlimited free)
330
+ 3. if/kimi-k2-thinking (unlimited free)
331
+
332
+ Monthly cost: $0
333
+ Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
334
+ ```
335
+
336
+ ---
337
+
338
+ ## 💡 Основні характеристики
339
+
340
+ ### 🧠 Основна маршрутизація та інтелект
341
+
342
+ | Особливість | Що він робить |
343
+ | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
344
+ | 🎯 **Розумний 4-рівневий резервний варіант** | Авто-маршрут: Підписка → Ключ API → Дешево → Безкоштовно |
345
+ | 📊 **Відстеження квот у реальному часі** | Підрахунок живих токенів + скидання зворотного відліку для кожного постачальника |
346
+ | 🔄 **Формат перекладу** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro seamless + відповідь санація |
347
+ | 👥 **Підтримка кількох облікових записів** | Кілька облікових записів на постачальника з інтелектуальним вибором |
348
+ | 🔄 **Автоматичне оновлення токенів** | Маркери OAuth оновлюються автоматично з повторною спробою |
349
+ | 🎨 **Користувацькі комбо** | 6 стратегій: спочатку заповнює, циклічний, p2c, випадковий, найменш використовуваний, оптимізований за витратами |
350
+ | 🧩 **Користувацькі моделі** | Додайте будь-який ідентифікатор моделі до будь-якого постачальника |
351
+ | 🌐 **Wildcard Router** | Динамічно направляйте шаблони `provider/*` до будь-якого постачальника |
352
+ | 🧠 **Мислення про бюджет** | Наскрізний, автоматичний, настроюваний і адаптивний режими для моделей міркування |
353
+ | 💬 **Швидке впровадження системи** | Глобальне системне підказка застосовується до всіх запитів |
354
+ | 📄 **API відповідей** | Повна підтримка OpenAI Responses API (`/v1/responses`) для Codex |
355
+
356
+ ### 🎵 Мультимодальні API
357
+
358
+ | Особливість | Що він робить |
359
+ | ---------------------------------- | ----------------------------------------------------- |
360
+ | 🖼️ **Створення зображень** | `/v1/images/generations` — 4 провайдери, 9+ моделей |
361
+ | 📐 **Вбудовування** | `/v1/embeddings` — 6 провайдерів, 9+ моделей |
362
+ | 🎤 **Транскрипція аудіо** | `/v1/audio/transcriptions` — сумісний із Whisper |
363
+ | 🔊 **Створення тексту в мовлення** | `/v1/audio/speech` — Багатопровайдерний аудіосинтез |
364
+ | 🛡️ **Модерації** | `/v1/moderations` — Перевірка безпеки вмісту |
365
+ | 🔀 **Переранжування** | `/v1/rerank` — Переранжування релевантності документа |
366
+
367
+ ### 🛡️ Стійкість і безпека
368
+
369
+ | Особливість | Що він робить |
370
+ | ------------------------------------- | ----------------------------------------------------------------------------------------------------- |
371
+ | 🔌 **Автоматичний вимикач** | Автоматичне відкриття/закриття для кожного постачальника з настроюваними пороговими значеннями |
372
+ | 🛡️ **Anti-Thundering Herd** | Mutex + обмеження швидкості семафора для постачальників ключів API |
373
+ | 🧠 **Семантичний кеш** | Дворівневий кеш (підпис + семантика) зменшує вартість і затримку |
374
+ | ⚡ **Запит на ідемпотентність** | 5-секундне вікно дедупляції для дублікатів запитів |
375
+ | 🔒 **Підробка відбитків пальців TLS** | Обійти виявлення ботів на основі TLS через wreq-js |
376
+ | 🌐 **IP-фільтрація** | Білий/чорний список для керування доступом API |
377
+ | 📊 **Редаговані ліміти ставок** | Конфігурація RPM, мінімальний проміжок і максимальна одночасність на рівні системи |
378
+ | 🛡 **API Endpoint Protection** | Аутентифікація + блокування постачальника для кінцевої точки `/models` |
379
+ | 🔒 **Видимість проксі** | Кольорові значки: 🟢 глобальний, 🟡 постачальник, 🔵 кожне підключення з відображенням IP |
380
+ | 🌐 **3-рівнева конфігурація проксі** | Налаштуйте проксі-сервери на глобальному рівні, на рівні кожного постачальника чи кожного підключення |
381
+
382
+ ### 📊 Спостережливість і аналітика
383
+
384
+ | Особливість | Що він робить |
385
+ | ------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
386
+ | 📝 **Подати запит на реєстрацію** | Режим налагодження з повними журналами запитів/відповідей |
387
+ | 💾 **Журнали проксі SQLite** | Постійні журнали проксі зберігаються після перезавантаження сервера |
388
+ | 📊 **Інформаційна панель аналітики** | На основі Recharts: картки статистики, діаграма використання моделей, таблиця провайдерів |
389
+ | 📈 **Відстеження прогресу** | Увімкніть події прогресу SSE для потокового передавання |
390
+ | 🧪 **Оцінки LLM** | Тестування золотого набору з 4 стратегіями матчу |
391
+ | 🔍 **Надіслати запит на телеметрію** | агрегація затримок p50/p95/p99 + трасування X-Request-Id |
392
+ | 📋 **Інформаційна панель журналів** | Уніфікована сторінка з 4 вкладками: журнали запитів, журнали проксі, журнали аудиту, консоль |
393
+ | 🖥️ **Перегляд журналу консолі** | Переглядач у режимі реального часу у стилі терміналу з фільтром рівнів, пошуком, автоматичним прокручуванням |
394
+ | 📑 **Логування на основі файлів** | Перехоплювач консолі захоплює весь вихід у файл журналу JSON із обертанням |
395
+ | 🏥 **Інформаційна панель здоров’я** | Час роботи системи, стани автоматичного вимикача, блокування, статистика кешу |
396
+ | 💰 **Відстеження витрат** | Управління бюджетом + конфігурація ціноутворення для кожної моделі |
397
+
398
+ ### ☁️ Розгортання та синхронізація
399
+
400
+ | Особливість | Що він робить |
401
+ | ------------------------------------------- | ----------------------------------------------------------------------------------- |
402
+ | 💾 **Хмарна синхронізація** | Синхронізація конфігурації між пристроями через Cloudflare Workers |
403
+ | 🌐 **Розгортайте будь-де** | Localhost, VPS, Docker, Cloudflare Workers |
404
+ | 🔑 **Керування ключами API** | Генерувати, обертати та використовувати ключі API для кожного постачальника |
405
+ | 🧙 **Майстер адаптації** | 4-етапне покрокове налаштування для користувачів, які вперше |
406
+ | 🔧 **Інформаційна панель інструментів CLI** | Налаштувати в один клік Claude, Codex, Cline, OpenClaw, Kilo, Antigravity |
407
+ | 🔄 **Резервне копіювання БД** | Автоматичне резервне копіювання, відновлення, експорт і імпорт для всіх налаштувань |
408
+ | 🌐 **Інтернаціоналізація** | Повний i18n із next-intl — підтримка англійської та португальської (Бразилія) |
409
+ | 🌍 **Вибір мови** | Значок глобуса в заголовку для перемикання мов у реальному часі (🇺🇸/🇧🇷) |
410
+ | 📂 **Каталог користувацьких даних** | `DATA_DIR` змінна env для перевизначення типового шляху зберігання `~/.omniroute` |
411
+
412
+ <details>
413
+ <summary><b>📖 Деталі функції</b></summary>
414
+
415
+ ### 🎯 Smart 4-Tier Fallback
416
+
417
+ Створюйте комбо з автоматичним резервним варіантом:
418
+
419
+ ```
420
+ Combo: "my-coding-stack"
421
+ 1. cc/claude-opus-4-6 (your subscription)
422
+ 2. nvidia/llama-3.3-70b (free NVIDIA API)
423
+ 3. glm/glm-4.7 (cheap backup, $0.6/1M)
424
+ 4. if/kimi-k2-thinking (free fallback)
425
+
426
+ → Auto switches when quota runs out or errors occur
427
+ ```
428
+
429
+ ### 📊 Відстеження квот у реальному часі
430
+
431
+ - Споживання токенів на постачальника
432
+ - Скидання зворотного відліку (5 годин, щодня, щотижня)
433
+ - Оцінка вартості платних рівнів
434
+ - Щомісячні звіти про витрати
435
+
436
+ ### 🔄 Переклад формату
437
+
438
+ Плавний переклад між форматами:
439
+
440
+ - **OpenAI** ↔ **Клод** ↔ **Близнюки** ↔ **Відповіді OpenAI**
441
+ - Ваш інструмент CLI надсилає формат OpenAI → OmniRoute перекладає → Постачальник отримує рідний формат
442
+ - Працює з будь-яким інструментом, який підтримує спеціальні кінцеві точки OpenAI
443
+ - **Дезінфікація відповіді** — видаляє нестандартні поля для суворої сумісності з OpenAI SDK
444
+ - **Нормалізація ролі** — `developer` → `system` для не-OpenAI; `system` → `user` для моделей GLM/ERNIE
445
+ - **Вилучення тегів мислення** — `<think>` блоків → `reasoning_content` для моделей мислення
446
+ - **Структурований вихід** — `json_schema` → Gemini `responseMimeType`/`responseSchema`
447
+
448
+ ### 👥 Підтримка кількох облікових записів
449
+
450
+ - Додайте кілька облікових записів для кожного постачальника
451
+ - Автоматична циклічна або пріоритетна маршрутизація
452
+ - Повернення до наступного облікового запису, коли досягається квота
453
+
454
+ ### 🔄 Автоматичне оновлення токенів
455
+
456
+ - Маркери OAuth автоматично оновлюються до закінчення терміну дії
457
+ - Повторна автентифікація вручну не потрібна
458
+ - Бездоганний досвід у всіх постачальників
459
+
460
+ ### 🎨 Спеціальні комбо
461
+
462
+ - Створюйте необмежену кількість комбінацій моделей
463
+ - 6 стратегій: спочатку заповнюй, циклічна, сила двох варіантів, випадкова, найменш використовувана, оптимізована за витратами
464
+ - Діліться комбо на різних пристроях за допомогою Cloud Sync
465
+
466
+ ### 🏥 Інформаційна панель здоров'я
467
+
468
+ - Статус системи (час роботи, версія, використання пам'яті)
469
+ - Стани автоматичного вимикача для кожного постачальника (замкнуто/розімкнуто/напіврозімкнуто)
470
+ - Статус обмеження швидкості та активні блокування
471
+ — Статистика кешу підписів
472
+ - Телеметрія затримки (p50/p95/p99) + кеш підказок
473
+ - Скинути стан здоров'я одним клацанням миші
474
+
475
+ ### 🔧 Ігровий майданчик для перекладачів
476
+
477
+ OmniRoute містить потужний вбудований Translator Playground із **4 режимами** для налагодження, тестування та моніторингу перекладів API:
478
+
479
+ | Режим | Опис |
480
+ | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
481
+ | **💻 Ігровий майданчик** | Прямий переклад формату — вставте будь-яке тіло запиту API та миттєво подивіться, як OmniRoute перекладає його між форматами постачальників (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Включає приклади шаблонів і автоматичне визначення формату. |
482
+ | **💬 Тестер чату** | Надсилайте справжні запити в чат через OmniRoute і переглядайте повну інформацію: ваші дані, перекладений запит, відповідь постачальника та перекладену відповідь. Безцінний для перевірки комбінованої маршрутизації. |
483
+ | **🧪 Тестовий стенд** | Режим пакетного тестування — визначте кілька тестів із різними вхідними та очікуваними результатами, запустіть їх усі одночасно та порівняйте результати між постачальниками та моделями. |
484
+ | **📱 Live Monitor** | Моніторинг запитів у режимі реального часу — спостерігайте за вхідними запитами, коли вони проходять через OmniRoute, переглядайте трансляції форматів у реальному часі та миттєво виявляйте проблеми. |
485
+
486
+ **Доступ:** Інформаційна панель → Перекладач (бічна панель)
487
+
488
+ ### 💾 Cloud Sync
489
+
490
+ - Синхронізація постачальників, комбінацій і налаштувань на всіх пристроях
491
+ - Автоматична фонова синхронізація
492
+ - Безпечне зашифроване сховище
493
+
494
+ </details>
495
+
496
+ ---
497
+
498
+ ## 📖 Посібник із налаштування
499
+
500
+ <details>
501
+ <summary><b>💳 Постачальники підписки</b></summary>
502
+
503
+ ### Claude Code (Pro/Max)
504
+
505
+ ```bash
506
+ Dashboard → Providers → Connect Claude Code
507
+ → OAuth login → Auto token refresh
508
+ → 5-hour + weekly quota tracking
509
+
510
+ Models:
511
+ cc/claude-opus-4-6
512
+ cc/claude-sonnet-4-5-20250929
513
+ cc/claude-haiku-4-5-20251001
514
+ ```
515
+
516
+ **Професійна порада:** використовуйте Opus для складних завдань, Sonnet для швидкості. OmniRoute відстежує квоту на модель!
517
+
518
+ ### OpenAI Codex (Plus/Pro)
519
+
520
+ ```bash
521
+ Dashboard → Providers → Connect Codex
522
+ → OAuth login (port 1455)
523
+ → 5-hour + weekly reset
524
+
525
+ Models:
526
+ cx/gpt-5.2-codex
527
+ cx/gpt-5.1-codex-max
528
+ ```
529
+
530
+ ### Gemini CLI (БЕЗКОШТОВНО 180K/місяць!)
531
+
532
+ ```bash
533
+ Dashboard → Providers → Connect Gemini CLI
534
+ → Google OAuth
535
+ → 180K completions/month + 1K/day
536
+
537
+ Models:
538
+ gc/gemini-3-flash-preview
539
+ gc/gemini-2.5-pro
540
+ ```
541
+
542
+ **Найкраще:** Величезний безкоштовний рівень! Використовуйте це перед платними рівнями.
543
+
544
+ ### Копілот GitHub
545
+
546
+ ```bash
547
+ Dashboard → Providers → Connect GitHub
548
+ → OAuth via GitHub
549
+ → Monthly reset (1st of month)
550
+
551
+ Models:
552
+ gh/gpt-5
553
+ gh/claude-4.5-sonnet
554
+ gh/gemini-3-pro
555
+ ```
556
+
557
+ </details>
558
+
559
+ <details>
560
+ <summary><b>🔑 Постачальники ключів API</b></summary>
561
+
562
+ ### NVIDIA NIM (БЕЗКОШТОВНІ 1000 кредитів!)
563
+
564
+ 1. Зареєструйтесь: [build.nvidia.com](https://build.nvidia.com)
565
+ 2. Отримайте безкоштовний ключ API (1000 кредитів включено)
566
+ 3. Інформаційна панель → Додати постачальника → NVIDIA NIM:
567
+ - Ключ API: `nvapi-your-key`
568
+
569
+ **Моделі:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` та понад 50 інших
570
+
571
+ **Порада професіонала:** OpenAI-сумісний API — бездоганно працює з перекладом формату OmniRoute!
572
+
573
+ ### DeepSeek
574
+
575
+ 1. Зареєструйтеся: [platform.deepseek.com](https://platform.deepseek.com)
576
+ 2. Отримайте ключ API
577
+ 3. Інформаційна панель → Додати постачальника → DeepSeek
578
+
579
+ **Моделі:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
580
+
581
+ ### Groq (доступний безкоштовний рівень!)
582
+
583
+ 1. Зареєструйтеся: [console.groq.com](https://console.groq.com)
584
+ 2. Отримайте ключ API (включає безкоштовний рівень)
585
+ 3. Інформаційна панель → Додати постачальника → Groq
586
+
587
+ **Моделі:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
588
+
589
+ **Професійна порада:** Надшвидкий висновок — найкращий для кодування в реальному часі!
590
+
591
+ ### OpenRouter (100+ моделей)
592
+
593
+ 1. Зареєструйтеся: [openrouter.ai](https://openrouter.ai)
594
+ 2. Отримайте ключ API
595
+ 3. Інформаційна панель → Додати провайдера → OpenRouter
596
+
597
+ **Моделі:** Отримуйте доступ до понад 100 моделей від усіх основних постачальників за допомогою єдиного ключа API.
598
+
599
+ </details>
600
+
601
+ <details>
602
+ <summary><b>💰 Дешеві постачальники (резервні)</b></summary>
603
+
604
+ ### GLM-4.7 (щоденне скидання, $0,6/1 млн)
605
+
606
+ 1. Зареєструйтеся: [Zhipu AI](https://open.bigmodel.cn/)
607
+ 2. Отримайте ключ API від Coding Plan
608
+ 3. Інформаційна панель → Додати ключ API:
609
+ - Постачальник: `glm`
610
+ - Ключ API: `your-key`
611
+
612
+ **Використовуйте:** `glm/glm-4.7`
613
+
614
+ **Професійна порада:** План кодування пропонує 3x квоту за 1/7 вартості! Скидання щодня о 10:00.
615
+
616
+ ### MiniMax M2.1 (5 годин скидання, $0,20/1 млн)
617
+
618
+ 1. Зареєструйтеся: [MiniMax](https://www.minimax.io/)
619
+ 2. Отримайте ключ API
620
+ 3. Інформаційна панель → Додати ключ API
621
+
622
+ **Використовуйте:** `minimax/MiniMax-M2.1`
623
+
624
+ **Порада:** Найдешевший варіант для довгого контексту (1 млн токенів)!
625
+
626
+ ### Kimi K2 ($9/місяць)
627
+
628
+ 1. Підпишіться: [Moonshot AI](https://platform.moonshot.ai/)
629
+ 2. Отримайте ключ API
630
+ 3. Інформаційна панель → Додати ключ API
631
+
632
+ **Використання:** `kimi/kimi-latest`
633
+
634
+ **Професійна порада:** Фіксовані 9 доларів США на місяць за 10 мільйонів токенів = 0,90 доларів США за 1 млн. ефективних витрат!
635
+
636
+ </details>
637
+
638
+ <details>
639
+ <summary><b>🆓 БЕЗКОШТОВНІ постачальники (аварійне резервне копіювання)</b></summary>
640
+
641
+ ### iFlow (8 БЕЗКОШТОВНИХ моделей)
642
+
643
+ ```bash
644
+ Dashboard → Connect iFlow
645
+ → iFlow OAuth login
646
+ → Unlimited usage
647
+
648
+ Models:
649
+ if/kimi-k2-thinking
650
+ if/qwen3-coder-plus
651
+ if/glm-4.7
652
+ if/minimax-m2
653
+ if/deepseek-r1
654
+ ```
655
+
656
+ ### Qwen (3 БЕЗКОШТОВНІ моделі)
657
+
658
+ ```bash
659
+ Dashboard → Connect Qwen
660
+ → Device code authorization
661
+ → Unlimited usage
662
+
663
+ Models:
664
+ qw/qwen3-coder-plus
665
+ qw/qwen3-coder-flash
666
+ ```
667
+
668
+ ### Кіро (Клод БЕЗКОШТОВНО)
669
+
670
+ ```bash
671
+ Dashboard → Connect Kiro
672
+ → AWS Builder ID or Google/GitHub
673
+ → Unlimited usage
674
+
675
+ Models:
676
+ kr/claude-sonnet-4.5
677
+ kr/claude-haiku-4.5
678
+ ```
679
+
680
+ </details>
681
+
682
+ <details>
683
+ <summary><b>🎨 Створення комбо</b></summary>
684
+
685
+ ### Приклад 1: максимізація підписки → дешеве резервне копіювання
686
+
687
+ ```
688
+ Dashboard → Combos → Create New
689
+
690
+ Name: premium-coding
691
+ Models:
692
+ 1. cc/claude-opus-4-6 (Subscription primary)
693
+ 2. glm/glm-4.7 (Cheap backup, $0.6/1M)
694
+ 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)
695
+
696
+ Use in CLI: premium-coding
697
+ ```
698
+
699
+ ### Приклад 2: лише безкоштовно (нульова вартість)
700
+
701
+ ```
702
+ Name: free-combo
703
+ Models:
704
+ 1. gc/gemini-3-flash-preview (180K free/month)
705
+ 2. if/kimi-k2-thinking (unlimited)
706
+ 3. qw/qwen3-coder-plus (unlimited)
707
+
708
+ Cost: $0 forever!
709
+ ```
710
+
711
+ </details>
712
+
713
+ <details>
714
+ <summary><b>🔧 Інтеграція CLI</b></summary>
715
+
716
+ ### Курсор IDE
717
+
718
+ ```
719
+ Settings → Models → Advanced:
720
+ OpenAI API Base URL: http://localhost:20128/v1
721
+ OpenAI API Key: [from OmniRoute dashboard]
722
+ Model: cc/claude-opus-4-6
723
+ ```
724
+
725
+ ### Клод Код
726
+
727
+ Використовуйте сторінку **Інструменти CLI** на інформаційній панелі для налаштування одним клацанням миші або редагуйте `~/.claude/settings.json` вручну.
728
+
729
+ ### Codex CLI
730
+
731
+ ```bash
732
+ export OPENAI_BASE_URL="http://localhost:20128"
733
+ export OPENAI_API_KEY="your-omniroute-api-key"
734
+
735
+ codex "your prompt"
736
+ ```
737
+
738
+ ### OpenClaw
739
+
740
+ **Варіант 1 — Інформаційна панель (рекомендовано):**
741
+
742
+ ```
743
+ Dashboard → CLI Tools → OpenClaw → Select Model → Apply
744
+ ```
745
+
746
+ **Варіант 2 — вручну:** Редагувати `~/.openclaw/openclaw.json`:
747
+
748
+ ```json
749
+ {
750
+ "models": {
751
+ "providers": {
752
+ "omniroute": {
753
+ "baseUrl": "http://127.0.0.1:20128/v1",
754
+ "apiKey": "sk_omniroute",
755
+ "api": "openai-completions"
756
+ }
757
+ }
758
+ }
759
+ }
760
+ ```
761
+
762
+ > **Примітка:** OpenClaw працює лише з локальним OmniRoute. Використовуйте `127.0.0.1` замість `localhost`, щоб уникнути проблем із вирішенням IPv6.
763
+
764
+ ### Cline / Продовжити / RooCode
765
+
766
+ ```
767
+ Settings → API Configuration:
768
+ Provider: OpenAI Compatible
769
+ Base URL: http://localhost:20128/v1
770
+ API Key: [from OmniRoute dashboard]
771
+ Model: if/kimi-k2-thinking
772
+ ```
773
+
774
+ </details>
775
+
776
+ ---
777
+
778
+ ## 📊 Доступні моделі
779
+
780
+ <details>
781
+ <summary><b>Переглянути всі доступні моделі</b></summary>
782
+
783
+ **Claude Code (`cc/`)** - Pro/Max:
784
+
785
+ - `cc/claude-opus-4-6`
786
+ - `cc/claude-sonnet-4-5-20250929`
787
+ - `cc/claude-haiku-4-5-20251001`
788
+
789
+ **Codex (`cx/`)** - Plus/Pro:
790
+
791
+ - `cx/gpt-5.2-codex`
792
+ - `cx/gpt-5.1-codex-max`
793
+
794
+ **Gemini CLI (`gc/`)** - БЕЗКОШТОВНО:
795
+
796
+ - `gc/gemini-3-flash-preview`
797
+ - `gc/gemini-2.5-pro`
798
+
799
+ **Копілот GitHub (`gh/`)**:
800
+
801
+ - `gh/gpt-5`
802
+ - `gh/claude-4.5-sonnet`
803
+
804
+ **NVIDIA NIM (`nvidia/`)** - БЕЗКОШТОВНІ кредити:
805
+
806
+ - `nvidia/llama-3.3-70b-instruct`
807
+ - `nvidia/mistral-7b-instruct`
808
+ - більше 50 моделей на [build.nvidia.com](https://build.nvidia.com)
809
+
810
+ **GLM (`glm/`)** - 0,6 $/1 млн:
811
+
812
+ - `glm/glm-4.7`
813
+
814
+ **MiniMax (`minimax/`)** - $0,2/1 млн.:
815
+
816
+ - `minimax/MiniMax-M2.1`
817
+
818
+ **iFlow (`if/`)** - БЕЗКОШТОВНО:
819
+
820
+ - `if/kimi-k2-thinking`
821
+ - `if/qwen3-coder-plus`
822
+ - `if/deepseek-r1`
823
+ - `if/glm-4.7`
824
+ - `if/minimax-m2`
825
+
826
+ **Qwen (`qw/`)** - БЕЗКОШТОВНО:
827
+
828
+ - `qw/qwen3-coder-plus`
829
+ - `qw/qwen3-coder-flash`
830
+
831
+ **Kiro (`kr/`)** - БЕЗКОШТОВНО:
832
+
833
+ - `kr/claude-sonnet-4.5`
834
+ - `kr/claude-haiku-4.5`
835
+
836
+ **OpenRouter (`or/`)** - 100+ моделей:
837
+
838
+ - `or/anthropic/claude-4-sonnet`
839
+ - `or/google/gemini-2.5-pro`
840
+ - Будь-яка модель від [openrouter.ai/models](https://openrouter.ai/models)
841
+
842
+ </details>
843
+
844
+ ---
845
+
846
+ ## 🧪 Оцінки (Evals)
847
+
848
+ OmniRoute містить вбудовану систему оцінювання для перевірки якості відповіді LLM на відповідність золотому набору. Доступ до нього через **Аналітика → Оцінки** на інформаційній панелі.
849
+
850
+ ### Вбудований Золотий набір
851
+
852
+ Попередньо завантажений "Золотий набір OmniRoute" містить 10 тестів, які охоплюють:
853
+
854
+ - Привітання, математика, географія, генерація коду
855
+ - Відповідність формату JSON, переклад, розмітка
856
+ - Відмова безпеки (шкідливий контент), підрахунок, булева логіка
857
+
858
+ ### Стратегії оцінювання
859
+
860
+ | Стратегія | Опис | Приклад |
861
+ | ---------- | -------------------------------------------------------------- | -------------------------------- |
862
+ | `exact` | Вихідні дані повинні точно відповідати | `"4"` |
863
+ | `contains` | Вихідні дані повинні містити підрядок (незалежно від регістру) | `"Paris"` |
864
+ | `regex` | Вихідні дані мають відповідати шаблону регулярного виразу | `"1.*2.*3"` |
865
+ | `custom` | Спеціальна функція JS повертає true/false | `(output) => output.length > 10` |
866
+
867
+ ---
868
+
869
+ ## 🔐 OAuth em Servidor Remoto (віддалене налаштування OAuth)
870
+
871
+ <a name="oauth-em-servidor-remoto"></a>
872
+
873
+ > **⚠️ ВАЖЛИВО для використання OmniRoute у віддаленому VPS/Docker/сервері**
874
+
875
+ ### Чи OAuth для Antigravity / Gemini CLI не підтримує віддалені сервери?
876
+
877
+ Провідники **Antigravity** і **Gemini CLI** використовують **Google OAuth 2.0** для автентифікації. Google вимагає, щоб `redirect_uri` не використовував fluxo OAuth, який **exatamente** має URI перед кадастрадами без додатка Google Cloud Console.
878
+
879
+ Оскільки повноваження OAuth embutidas, OmniRoute не встановлено в кадастрадах **apenas para `localhost`**. Якщо ви маєте доступ до OmniRoute у віддаленому сервері (наприклад: `https://omniroute.meuservidor.com`), або Google rejeita a autenticação com:
880
+
881
+ ```
882
+ Error 400: redirect_uri_mismatch
883
+ ```
884
+
885
+ ### Рішення: налаштуйте власні облікові записи OAuth
886
+
887
+ Потрібно точно написати **Ідентифікатор клієнта OAuth 2.0** у Google Cloud Console через URI вашого сервера.
888
+
889
+ #### Passo a passo
890
+
891
+ **1. Доступ до Google Cloud Console**
892
+
893
+ Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials)
894
+
895
+ **2. Crie um novo OAuth 2.0 ID клієнта**
896
+
897
+ - Натисніть **"+ Створити облікові дані"** → **"Ідентифікатор клієнта OAuth"**
898
+ - Tipo de aplicativo: **"Веб-програма"**
899
+ - Назва: escolha qualquer nome (наприклад: `OmniRoute Remote`)
900
+
901
+ **3. Додайте як авторизовані URI перенаправлення**
902
+
903
+ Без поля **"Авторизовані URI перенаправлення"**, додайте:
904
+
905
+ ```
906
+ https://seu-servidor.com/callback
907
+ ```
908
+
909
+ > Замініть `seu-servidor.com` домен або IP на свій сервер (включно з необхідним портом, наприклад: `http://45.33.32.156:20128/callback`).
910
+
911
+ **4. Зберегти електронну копію як ідентифікацію**
912
+
913
+ Наприклад, Google показує **Ідентифікатор клієнта** і **Секрет клієнта**.
914
+
915
+ **5. Налаштувати як variáveis de ambiente**
916
+
917
+ Немає `.env` (або наших варіантів середовища Docker):
918
+
919
+ ```bash
920
+ # Para Antigravity:
921
+ ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
922
+ ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
923
+
924
+ # Para Gemini CLI:
925
+ GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
926
+ GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
927
+ GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
928
+ ```
929
+
930
+ **6. Reinicie o OmniRoute**
931
+
932
+ ```bash
933
+ # Se usando npm:
934
+ npm run dev
935
+
936
+ # Se usando Docker:
937
+ docker restart omniroute
938
+ ```
939
+
940
+ **7. Tente conectar novamente**
941
+
942
+ Інформаційна панель → Постачальники → Антигравітація (або Gemini CLI) → OAuth
943
+
944
+ Agora o Google redirecionará corretamente para `https://seu-servidor.com/callback` e a authenticação funcionará.
945
+
946
+ ---
947
+
948
+ ### Тимчасове вирішення проблеми (необхідне налаштування облікових записів)
949
+
950
+ Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo **manual de URL**:
951
+
952
+ 1. OmniRoute скидає URL-адресу авторизації Google
953
+ 2. Якщо ви авторизуєтеся, перенаправлення даних Google для `localhost` (неможливо віддалено від сервера)
954
+ 3. **Скопіюйте повну URL-адресу** для переходу до вашого браузера (повідомте, що сторінка не створена)
955
+ 4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute
956
+ 5. Натисніть **"Підключити"**
957
+
958
+ > Este workaround funciona porque o código de autorização na URL é válido independente do redirect ter carregado ou não.
959
+
960
+ ---
961
+
962
+ ## 🐛 Усунення несправностей
963
+
964
+ <details>
965
+ <summary><b>Натисніть, щоб розгорнути посібник з усунення несправностей</b></summary>
966
+
967
+ **"Мовна модель не надавала повідомлень"**
968
+
969
+ - Квота постачальника вичерпана → Перевірте систему відстеження квот на інформаційній панелі
970
+ - Рішення: скористайтеся комбінованим альтернативним варіантом або перейдіть на дешевший рівень
971
+
972
+ **Обмеження швидкості**
973
+
974
+ — Вичерпана квота на підписку → Повернення до GLM/MiniMax
975
+
976
+ - Додати комбо: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
977
+
978
+ **Термін дії маркера OAuth минув**
979
+
980
+ — Автоматично оновлено OmniRoute
981
+
982
+ - Якщо проблеми не зникають: Інформаційна панель → Постачальник → Повторне підключення
983
+
984
+ **Високі витрати**
985
+
986
+ - Перевірте статистику використання в Інформаційній панелі → Витрати
987
+ - Переключіть основну модель на GLM/MiniMax
988
+ - Використовуйте безкоштовний рівень (Gemini CLI, iFlow) для некритичних завдань
989
+
990
+ **Інформаційна панель відкривається через неправильний порт**
991
+
992
+ - Встановити `PORT=20128` та `NEXT_PUBLIC_BASE_URL=http://localhost:20128`
993
+
994
+ **Помилки хмарної синхронізації**
995
+
996
+ - Переконайтеся, що `BASE_URL` вказує на ваш запущений екземпляр
997
+ - Перевірте `CLOUD_URL` вказує на очікувану кінцеву точку хмари
998
+ - Зберігайте значення `NEXT_PUBLIC_*` у відповідності зі значеннями на стороні сервера
999
+
1000
+ **Перший вхід не працює**
1001
+
1002
+ - Перевірте `INITIAL_PASSWORD` в `.env`
1003
+ - Якщо не встановлено, резервний пароль – `123456`
1004
+
1005
+ **Немає журналів запитів**
1006
+
1007
+ - Установіть `ENABLE_REQUEST_LOGS=true` в `.env`
1008
+
1009
+ **Тест з’єднання показує «Недійсне» для OpenAI-сумісних постачальників**
1010
+
1011
+ - Багато постачальників не розкривають кінцеву точку `/models`
1012
+ - OmniRoute v1.0.6+ включає резервну перевірку через завершення чату
1013
+ - Переконайтеся, що базова URL-адреса містить суфікс `/v1`
1014
+
1015
+ </details>
1016
+
1017
+ ---
1018
+
1019
+ ## 🛠️ Tech Stack
1020
+
1021
+ - **Серед виконання**: Node.js 18–22 LTS (⚠️ Node.js 24+ **не підтримується** — рідні двійкові файли `better-sqlite3` несумісні)
1022
+ - **Мова**: TypeScript 5.9 — **100% TypeScript** для `src/` та `open-sse/` (версія 1.0.6)
1023
+ - **Framework**: Next.js 16 + React 19 + Tailwind CSS 4
1024
+ - **База даних**: LowDB (JSON) + SQLite (стан домену + журнали проксі)
1025
+ - **Потокове передавання**: події, надіслані сервером (SSE)
1026
+ - **Auth**: OAuth 2.0 (PKCE) + JWT + ключі API
1027
+ - **Тестування**: програма для тестування Node.js (368+ модульних тестів)
1028
+ - **CI/CD**: дії GitHub (автоматична публікація npm + Docker Hub після випуску)
1029
+ - **Веб-сайт**: [omniroute.online](https://omniroute.online)
1030
+ - **Пакет**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
1031
+ - **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
1032
+ - **Стійкість**: автоматичний вимикач, експоненціальна віддача, захист від громового стада, підробка TLS
1033
+
1034
+ ---
1035
+
1036
+ ## 📖 Документація
1037
+
1038
+ | Документ | Опис |
1039
+ | -------------------------------------------- | ----------------------------------------------------- |
1040
+ | [User Guide](docs/USER_GUIDE.md) | Постачальники, комбо, інтеграція CLI, розгортання |
1041
+ | [API Reference](docs/API_REFERENCE.md) | Усі кінцеві точки з прикладами |
1042
+ | [Troubleshooting](docs/TROUBLESHOOTING.md) | Загальні проблеми та рішення |
1043
+ | [Architecture](docs/ARCHITECTURE.md) | Архітектура системи та внутрішні |
1044
+ | [Contributing](CONTRIBUTING.md) | Розробка установки та рекомендацій |
1045
+ | [OpenAPI Spec](docs/openapi.yaml) | Специфікація OpenAPI 3.0 |
1046
+ | [Security Policy](SECURITY.md) | Повідомлення про вразливості та методи безпеки |
1047
+ | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Повний посібник: налаштування VM + nginx + Cloudflare |
1048
+ | [Features Gallery](docs/FEATURES.md) | Огляд інформаційної панелі зі знімками екрана |
1049
+
1050
+ ### 📸 Попередній перегляд інформаційної панелі
1051
+
1052
+ <details>
1053
+ <summary><b>Натисніть, щоб переглянути знімки панелі інструментів</b></summary>
1054
+
1055
+ | Сторінка | Скріншот |
1056
+ | ------------------------ | ------------------------------------------------- |
1057
+ | **Постачальники** | ![Providers](docs/screenshots/01-providers.png) |
1058
+ | **Комбінації** | ![Combos](docs/screenshots/02-combos.png) |
1059
+ | **Аналітика** | ![Analytics](docs/screenshots/03-analytics.png) |
1060
+ | **Здоров'я** | ![Health](docs/screenshots/04-health.png) |
1061
+ | **Перекладач** | ![Translator](docs/screenshots/05-translator.png) |
1062
+ | **Налаштування** | ![Settings](docs/screenshots/06-settings.png) |
1063
+ | **Інструменти CLI** | ![CLI Tools](docs/screenshots/07-cli-tools.png) |
1064
+ | **Журнали використання** | ![Usage](docs/screenshots/08-usage.png) |
1065
+ | **Кінцева точка** | ![Endpoint](docs/screenshots/09-endpoint.png) |
1066
+
1067
+ </details>
1068
+
1069
+ ---
1070
+
1071
+ ## 🗺️ Дорожня карта
1072
+
1073
+ OmniRoute має **заплановано понад 210 функцій** на кількох етапах розробки. Ось ключові області:
1074
+
1075
+ | Категорія | Заплановані особливості | Основні моменти |
1076
+ | -------------------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------- |
1077
+ | 🧠 **Маршрутизація та інтелект** | 25+ | Маршрутизація з найменшою затримкою, маршрутизація на основі тегів, попередній перегляд квот, вибір облікового запису P2C |
1078
+ | 🔒 **Безпека та відповідність** | 20+ | Захист SSRF, маскування облікових даних, обмеження швидкості для кінцевої точки, визначення обсягу ключа керування |
1079
+ | 📊 **Спостережливість** | 15+ | Інтеграція OpenTelemetry, моніторинг квот у реальному часі, відстеження витрат на модель |
1080
+ | 🔄 **Інтеграція постачальників** | 20+ | Реєстр динамічної моделі, час відновлення провайдера, Codex із кількома обліковими записами, розбір квоти Copilot |
1081
+ | ⚡ **Виконання** | 15+ | Подвійний рівень кешу, кеш запитів, кеш відповідей, потокове підтримання активності, пакетний API |
1082
+ | 🌐 **Екосистема** | 10+ | API WebSocket, гаряче перезавантаження конфігурації, розподілене сховище конфігурацій, комерційний режим |
1083
+
1084
+ ### 🔜 Незабаром
1085
+
1086
+ - 🔗 **Інтеграція OpenCode** — власна підтримка постачальника для IDE кодування OpenCode AI
1087
+ - 🔗 **Інтеграція TRAE** — повна підтримка інфраструктури розробки TRAE AI
1088
+ - 📦 **Batch API** — асинхронна пакетна обробка масових запитів
1089
+ - 🎯 **Маршрутизація на основі тегів** — Маршрутизація запитів на основі спеціальних тегів і метаданих
1090
+ - 💰 **Стратегія найнижчої вартості** — автоматично вибирайте найдешевшого доступного постачальника
1091
+
1092
+ > 📝 Повні специфікації функцій доступні в [link](docs/new-features/) (217 детальних специфікацій)
1093
+
1094
+ ---
1095
+
1096
+ ## 📧 Підтримка
1097
+
1098
+ > 💬 **Приєднуйтесь до нашої спільноти!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — отримуйте допомогу, діліться порадами та будьте в курсі подій.
1099
+
1100
+ - **Веб-сайт**: [omniroute.online](https://omniroute.online)
1101
+ - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
1102
+ - **Проблеми**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
1103
+ - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
1104
+ - **Оригінальний проект**: [9router by decolua](https://github.com/decolua/9router)
1105
+
1106
+ ---
1107
+
1108
+ ## 👥 Автори
1109
+
1110
+ [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
1111
+
1112
+ ### Як зробити внесок
1113
+
1114
+ 1. Розгалужте репозиторій
1115
+ 2. Створіть свою гілку функцій (`git checkout -b feature/amazing-feature`)
1116
+ 3. Зафіксуйте свої зміни (`git commit -m 'Add amazing feature'`)
1117
+ 4. Push до відділення (`git push origin feature/amazing-feature`)
1118
+ 5. Відкрийте Pull Request
1119
+
1120
+ Див. [CONTRIBUTING.md](CONTRIBUTING.md), щоб отримати докладні вказівки.
1121
+
1122
+ ### Випуск нової версії
1123
+
1124
+ ```bash
1125
+ # Create a release — npm publish happens automatically
1126
+ gh release create v1.0.6 --title "v1.0.6" --generate-notes
1127
+ ```
1128
+
1129
+ ---
1130
+
1131
+ ## 📊 Зоряна історія
1132
+
1133
+ <a href="https://star-history.com/#diegosouzapw/OmniRoute&Date">
1134
+ <picture>
1135
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date&theme=dark" />
1136
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
1137
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
1138
+ </picture>
1139
+ </a>
1140
+
1141
+ ---
1142
+
1143
+ ## 🙏 Подяка
1144
+
1145
+ Особлива подяка **[9router](https://github.com/decolua/9router)** від **[decolua](https://github.com/decolua)** — оригінального проекту, який надихнув цей форк. OmniRoute спирається на цю неймовірну основу завдяки додатковим функціям, мультимодальним API і повному перепису TypeScript.
1146
+
1147
+ Особлива подяка **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — оригінальній реалізації Go, яка надихнула цей порт JavaScript.
1148
+
1149
+ ---
1150
+
1151
+ ## 📄 Ліцензія
1152
+
1153
+ Ліцензія Массачусетського технологічного інституту – подробиці див. [LICENSE](LICENSE).
1154
+
1155
+ ---
1156
+
1157
+ ---
1158
+
1159
+ ## 🇧🇷 OmniRoute — Gateway de IA Gratuito
1160
+
1161
+ <a name="-omniroute--gateway-de-ia-gratuito"></a>
1162
+
1163
+ ### Nunca pare de codar. Roteamento inteligente para **modelos de IA GRATUITOS e de baixo custo** com reserve automático.
1164
+
1165
+ _Універсальний проксі-сервер API — кінцева точка, 36+ постачальників, нуль простоїв._
1166
+
1167
+ ### 🌐 Internacionalização (i18n)
1168
+
1169
+ Інформаційна панель OmniRoute підтримує **багато ідіом**. Актуально доступні:
1170
+
1171
+ | Ідіома | Código | Статус |
1172
+ | ----------------------- | ------- | -------- |
1173
+ | 🇺🇸 англійська | `en` | ✅ Повне |
1174
+ | 🇧🇷 Português (Бразилія) | `pt-BR` | ✅ Повне |
1175
+
1176
+ **Параметр троакар або ідіома:** Натисніть без вибору ідіоми (🇺🇸 EN) без заголовка на інформаційній панелі → вибір ідіоми.
1177
+
1178
+ **Para adicionar um nova idioma:**
1179
+
1180
+ 1. Викличте `src/i18n/messages/{codigo}.json` на основі `en.json`
1181
+ 2. Додайте код `src/i18n/config.ts` → `LOCALES` і `LANGUAGES`
1182
+ 3. Reinicie або сервер
1183
+
1184
+ ### ⚡ Início Rápido
1185
+
1186
+ ```bash
1187
+ # Instalar via npm
1188
+ npx omniroute@latest
1189
+
1190
+ # Ou rodar do código-fonte
1191
+ cp .env.example .env
1192
+ npm install
1193
+ PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
1194
+ ```
1195
+
1196
+ ### 🐳 Докер
1197
+
1198
+ ```bash
1199
+ docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest
1200
+ ```
1201
+
1202
+ ### 🔑 Funcionalidades Principais
1203
+
1204
+ - **36+ провідників IA** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek та ін.
1205
+ - **Roteamento inteligente** — Запасні автоматичні постачальники
1206
+ - **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente
1207
+ - **Multi-conta** — Múltiplas contas por provedor com seleção inteligente
1208
+ - **Cache semântico** — Зменшити налаштування та затримку
1209
+ - **OAuth automático** — автоматичне оновлення токенів
1210
+ - **Combos personalizados** — 6 estratégias de roteamento
1211
+ - **Помна панель приладів** — Моніторинг, журнали, аналізи, конфігурації
1212
+ - **Інструменти CLI** — налаштуйте Claude Code, Codex, Cursor, Cline за допомогою кліка
1213
+ - **100% TypeScript** — Código limpo e tipado
1214
+
1215
+ ### 📖 Documentação
1216
+
1217
+ | Documento | Опис |
1218
+ | ----------------------------------------------- | ------------------------------------- |
1219
+ | [Guia do Usuário](docs/USER_GUIDE.md) | Провідори, комбо, CLI, розгортання |
1220
+ | [Referência da API](docs/API_REFERENCE.md) | Усі кінцеві точки з прикладами |
1221
+ | [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problemas comuns e soluções |
1222
+ | [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura e internos do sistema |
1223
+ | [Contribuição](CONTRIBUTING.md) | Setup de desenvolvimento e guidelines |
1224
+ | [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Повна версія: VM + nginx + Cloudflare |
1225
+
1226
+ ### 📧 Підтримуйте
1227
+
1228
+ > 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Тир dúvidas, compartilhe dicas e fique atualizado.
1229
+
1230
+ - **Веб-сайт**: [omniroute.online](https://omniroute.online)
1231
+ - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
1232
+ - **Проблеми**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
1233
+
1234
+ ---
1235
+
1236
+ <div align="center">
1237
+ <sub>Створено з ❤️ для розробників, які працюють у режимі 24/7</sub>
1238
+ <br/>
1239
+ <sub><a href="https://omniroute.online">omniroute.online</a></sub>
1240
+ </div>