omniroute 1.4.11 → 1.6.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 (377) 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 +47 -29
  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 +34 -34
  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.js +1 -1
  129. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  131. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  133. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  135. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
  137. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/init/route.js +1 -1
  155. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/models/route.js +1 -1
  163. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  165. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/providers/route.js +1 -1
  187. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/settings/route.js +1 -1
  202. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  204. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  207. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/api/sync/initialize/route.js +1 -1
  209. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  210. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  212. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  213. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  215. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  216. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  218. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  219. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  221. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  222. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  223. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  224. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  225. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  226. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  227. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  228. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  229. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  230. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  231. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  232. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  233. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  234. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  235. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  236. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  237. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  238. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  239. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  240. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  241. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  242. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  243. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  244. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  245. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  246. package/app/.next/server/app/callback/page.js +2 -2
  247. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  248. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  249. package/app/.next/server/app/docs/page.js +2 -2
  250. package/app/.next/server/app/docs/page.js.nft.json +1 -1
  251. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  252. package/app/.next/server/app/forbidden/page.js +2 -2
  253. package/app/.next/server/app/forbidden/page.js.nft.json +1 -1
  254. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  255. package/app/.next/server/app/forgot-password/page.js +2 -2
  256. package/app/.next/server/app/forgot-password/page.js.nft.json +1 -1
  257. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  258. package/app/.next/server/app/landing/page.js +2 -2
  259. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  260. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  261. package/app/.next/server/app/login/page.js +2 -2
  262. package/app/.next/server/app/login/page.js.nft.json +1 -1
  263. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  264. package/app/.next/server/app/page.js +1 -1
  265. package/app/.next/server/app/page.js.nft.json +1 -1
  266. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  267. package/app/.next/server/app/privacy/page.js +2 -2
  268. package/app/.next/server/app/privacy/page.js.nft.json +1 -1
  269. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  270. package/app/.next/server/app/terms/page.js +2 -2
  271. package/app/.next/server/app/terms/page.js.nft.json +1 -1
  272. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  273. package/app/.next/server/app-paths-manifest.json +34 -34
  274. package/app/.next/server/chunks/1248.js +1 -0
  275. package/app/.next/server/chunks/{3994.js → 1465.js} +2 -2
  276. package/app/.next/server/chunks/1526.js +1 -0
  277. package/app/.next/server/chunks/1584.js +1 -0
  278. package/app/.next/server/chunks/1623.js +1 -0
  279. package/app/.next/server/chunks/1880.js +1 -0
  280. package/app/.next/server/chunks/1960.js +1 -1
  281. package/app/.next/server/chunks/1990.js +1 -1
  282. package/app/.next/server/chunks/2214.js +1 -0
  283. package/app/.next/server/chunks/2372.js +1 -0
  284. package/app/.next/server/chunks/2594.js +1 -0
  285. package/app/.next/server/chunks/3371.js +1 -0
  286. package/app/.next/server/chunks/3498.js +1 -1
  287. package/app/.next/server/chunks/3911.js +1 -0
  288. package/app/.next/server/chunks/438.js +1 -0
  289. package/app/.next/server/chunks/496.js +1 -0
  290. package/app/.next/server/chunks/5047.js +1 -0
  291. package/app/.next/server/chunks/5094.js +1 -0
  292. package/app/.next/server/chunks/5097.js +1 -0
  293. package/app/.next/server/chunks/5393.js +2 -0
  294. package/app/.next/server/chunks/5521.js +1 -0
  295. package/app/.next/server/chunks/5945.js +1 -0
  296. package/app/.next/server/chunks/6118.js +1 -0
  297. package/app/.next/server/chunks/6928.js +1 -0
  298. package/app/.next/server/chunks/6930.js +1 -0
  299. package/app/.next/server/chunks/7011.js +1 -0
  300. package/app/.next/server/chunks/708.js +1 -0
  301. package/app/.next/server/chunks/7650.js +1 -0
  302. package/app/.next/server/chunks/8220.js +1 -0
  303. package/app/.next/server/chunks/8464.js +1 -0
  304. package/app/.next/server/chunks/8706.js +1 -0
  305. package/app/.next/server/chunks/8976.js +1 -0
  306. package/app/.next/server/chunks/9119.js +1 -0
  307. package/app/.next/server/chunks/944.js +1 -0
  308. package/app/.next/server/chunks/9824.js +1 -1
  309. package/app/.next/server/chunks/9837.js +1 -0
  310. package/app/.next/server/instrumentation.js +1 -1
  311. package/app/.next/server/pages/500.html +2 -2
  312. package/app/.next/server/server-reference-manifest.js +1 -1
  313. package/app/.next/server/server-reference-manifest.json +1 -1
  314. package/app/.next/static/chunks/{6458-085536744d592424.js → 1149-fefe7f95f0e9842f.js} +1 -1
  315. package/app/.next/static/chunks/{5846-19c878280decbd16.js → 5846-4d550ce248336a0a.js} +1 -1
  316. package/app/.next/static/chunks/{782-5e138760b7f7bf48.js → 8055-5844ff783b2e8a99.js} +3 -3
  317. package/app/.next/static/chunks/{993-e3050ebfd4f5032f.js → 993-cf9fe6c017bc7e67.js} +3 -3
  318. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/page-52f76c7c91444ec2.js +1 -0
  319. package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-1dd4d0c348a7b0a6.js +1 -0
  320. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-e5bf8955e7b9a4f5.js +1 -0
  321. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-11e68927df2ceb77.js +15 -0
  322. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-ede2315b6918315e.js → page-6abed29d64c46388.js} +1 -1
  323. package/app/.next/static/chunks/app/(dashboard)/dashboard/costs/page-3ed2a7685adf9b91.js +1 -0
  324. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-1420c3ca376f1585.js +1 -0
  325. package/app/.next/static/chunks/app/(dashboard)/dashboard/health/page-9a6519bf1468f16e.js +1 -0
  326. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-f4a2d6d07df5ddc4.js +1 -0
  327. package/app/.next/static/chunks/app/(dashboard)/dashboard/logs/{page-6ee69634597daee0.js → page-833d24f322a20f5a.js} +1 -1
  328. package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/page-d424641c7e428be9.js +1 -0
  329. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-388840686801f3f5.js +1 -0
  330. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9c8ffb212f855704.js +1 -0
  331. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-31cdb6e15134d8c2.js +1 -0
  332. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-1f022385b812b987.js +1 -0
  333. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1393d4935fc087cf.js +1 -0
  334. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/pricing/{page-77158451270c1852.js → page-f10a8d4bb8236913.js} +1 -1
  335. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-83b07523f81d6282.js +4 -0
  336. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-9cc99ab874fc36e7.js +1 -0
  337. package/app/.next/static/chunks/app/(dashboard)/{layout-b23c2c5427e04dcf.js → layout-00d5d56af65098a9.js} +1 -1
  338. package/app/.next/static/chunks/app/callback/page-585a53f7dc6a30f1.js +1 -0
  339. package/app/.next/static/chunks/app/docs/page-2fe9dcbeb3f738c0.js +1 -0
  340. package/app/.next/static/chunks/app/forbidden/{page-4a39fedc08aaaf55.js → page-df886dfa2d5bd9fa.js} +1 -1
  341. package/app/.next/static/chunks/app/forgot-password/page-2a495f0b0c653ab4.js +1 -0
  342. package/app/.next/static/chunks/app/landing/page-9d540ab1716f8e3e.js +1 -0
  343. package/app/.next/static/chunks/app/login/page-121c612ee459e7c2.js +1 -0
  344. package/app/.next/static/chunks/app/privacy/page-2fe9dcbeb3f738c0.js +1 -0
  345. package/app/.next/static/chunks/app/terms/page-2fe9dcbeb3f738c0.js +1 -0
  346. package/app/.next/static/css/6f101b114a4a7286.css +1 -0
  347. package/app/package.json +3 -3
  348. package/bin/omniroute.mjs +27 -14
  349. package/package.json +3 -3
  350. package/app/.next/server/chunks/1259.js +0 -2
  351. package/app/.next/server/chunks/4509.js +0 -1
  352. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/page-a50474b6ebdf468a.js +0 -1
  353. package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-d806e4f28c15636a.js +0 -1
  354. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-27bc511cf3930e1e.js +0 -1
  355. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-ad885fdf9806e9a6.js +0 -15
  356. package/app/.next/static/chunks/app/(dashboard)/dashboard/costs/page-08f3ed204d01b6a0.js +0 -1
  357. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-6e4f3ca7ac9778be.js +0 -1
  358. package/app/.next/static/chunks/app/(dashboard)/dashboard/health/page-8725f1a181e558a3.js +0 -1
  359. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-fbe1442b61df950a.js +0 -1
  360. package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/page-931fa0c45dca76c9.js +0 -1
  361. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-04bc41f9e9de17ef.js +0 -1
  362. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-6b6d62c5872aee46.js +0 -1
  363. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-2dc2a865e90681dd.js +0 -1
  364. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-ac85ce5066cd9044.js +0 -1
  365. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-88cac9e6f2fbe335.js +0 -1
  366. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-b351778975cb8622.js +0 -4
  367. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-f0809c7842e4f5b4.js +0 -1
  368. package/app/.next/static/chunks/app/callback/page-e439cd5a287000d8.js +0 -1
  369. package/app/.next/static/chunks/app/docs/page-8f74097544a61b9d.js +0 -1
  370. package/app/.next/static/chunks/app/forgot-password/page-a440e0c1675842bf.js +0 -1
  371. package/app/.next/static/chunks/app/landing/page-09741814aaca7548.js +0 -1
  372. package/app/.next/static/chunks/app/login/page-164f6b6b41167c5a.js +0 -1
  373. package/app/.next/static/chunks/app/privacy/page-8f74097544a61b9d.js +0 -1
  374. package/app/.next/static/chunks/app/terms/page-8f74097544a61b9d.js +0 -1
  375. package/app/.next/static/css/e90887a86e63903f.css +0 -1
  376. /package/app/.next/static/{g7Mie-iq39oZ7ts610YtL → 8-doeVY8E2CPMK7rYufd5}/_buildManifest.js +0 -0
  377. /package/app/.next/static/{g7Mie-iq39oZ7ts610YtL → 8-doeVY8E2CPMK7rYufd5}/_ssgManifest.js +0 -0
package/README.ro.md ADDED
@@ -0,0 +1,1238 @@
1
+ <div align="center">
2
+ <img src="./docs/screenshots/MainOmniRoute.png" alt="OmniRoute Dashboard" width="800"/>
3
+
4
+ # 🚀 OmniRoute — Gateway-ul gratuit AI
5
+
6
+ 🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)**
7
+
8
+ ### Nu opriți niciodată codificarea. Dirijare inteligentă către **modele AI GRATUITE și cu costuri reduse** cu rezervă automată.
9
+
10
+ _Proxy-ul dvs. universal API - un punct final, peste 36 de furnizori, zero timpi de nefuncționare._
11
+
12
+ **Finalizări de chat • Încorporare • Generare de imagini • Audio • Reclasificare • 100% TypeScript**
13
+
14
+ ---
15
+
16
+ ### 🤖 Furnizor AI gratuit pentru agenții tăi preferați de codare
17
+
18
+ _Conectați orice instrument IDE sau CLI alimentat de AI prin OmniRoute — gateway API gratuit pentru codare nelimitată._
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>📡 Toți agenții se conectează prin <code>http://localhost:20128/v1</code> sau <code>http://cloud.omniroute.online.online/v1 modele și cotă nelimitate</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
+ ## 🤔 De ce OmniRoute?
116
+
117
+ **Nu mai risipi banii și nu mai atingeți limitele:**
118
+
119
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Cota de abonament expiră neutilizată în fiecare lună
120
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Limitele ratelor te opresc la mijloc de codare
121
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> API-uri scumpe (20-50 USD/lună per furnizor)
122
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Comutare manuală între furnizori
123
+
124
+ **OmniRoute rezolvă asta:**
125
+
126
+ - ✅ **Maximizați abonamentele** - Urmăriți cota, utilizați fiecare bit înainte de resetare
127
+ - ✅ **Auto de rezervă** - Abonament → Cheie API → Ieftin → Gratuit, timp de nefuncționare zero
128
+ - ✅ **Multi-cont** - Round-robin între conturi pentru fiecare furnizor
129
+ - ✅ **Universal** - Funcționează cu Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, orice instrument CLI
130
+
131
+ ---
132
+
133
+ ## 🔄 Cum funcționează
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
+ ## ⚡ Pornire rapidă
163
+
164
+ **1. Instalați la nivel global:**
165
+
166
+ ```bash
167
+ npm install -g omniroute
168
+ omniroute
169
+ ```
170
+
171
+ 🎉 Tabloul de bord se deschide la `http://localhost:20128`
172
+
173
+ | Comanda | Descriere |
174
+ | ----------------------- | ---------------------------------------- |
175
+ | `omniroute` | Porniți serverul (portul implicit 20128) |
176
+ | `omniroute --port 3000` | Utilizați portul personalizat |
177
+ | `omniroute --no-open` | Nu deschideți automat browserul |
178
+ | `omniroute --help` | Arată ajutor |
179
+
180
+ **2. Conectați un furnizor GRATUIT:**
181
+
182
+ Tabloul de bord → Furnizori → Conectare **Claude Code** sau **Antigravity** → Conectare OAuth → Gata!
183
+
184
+ **3. Utilizați în instrumentul dvs. 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
+ **Asta este!** Începeți să codați cu modele AI GRATUITE.
194
+
195
+ **Alternativă - rulează de la sursă:**
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
+ ## 🐳 Docker
206
+
207
+ OmniRoute este disponibil ca imagine publică Docker pe [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute).
208
+
209
+ **Alergare rapidă:**
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
+ **Cu fișierul de mediu:**
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
+ **Utilizarea 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
+ | Imagine | Etichetă | Dimensiune | Descriere |
246
+ | ------------------------ | -------- | ---------- | ----------------------- |
247
+ | `diegosouzapw/omniroute` | `latest` | ~250MB | Ultima versiune stabilă |
248
+ | `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Versiunea curentă |
249
+
250
+ ---
251
+
252
+ ## 💰 Prețurile dintr-o privire
253
+
254
+ | Nivelul | Furnizor | Cost | Resetare cotă | Cel mai bun pentru |
255
+ | ---------------- | ----------------- | ---------------------------- | --------------------------- | ------------------------- |
256
+ | **💳 ABONARE** | Claude Code (Pro) | 20 USD/lună | 5h + săptămânal | Deja abonat |
257
+ | | Codex (Plus/Pro) | 20-200 USD/lună | 5h + săptămânal | Utilizatori OpenAI |
258
+ | | Gemeni CLI | **GRATIS** | 180K/lună + 1K/zi | Toată lumea! |
259
+ | | GitHub Copilot | 10-19 USD/lună | Lunar | utilizatorii GitHub |
260
+ | **🔑 CHEIA API** | NVIDIA NIM | **GRATIS** (1000 de credite) | O singură dată | Testare gratuită la nivel |
261
+ | | DeepSeek | Plată-pe-utilizare | Niciuna | Cel mai bun preț/calitate |
262
+ | | Groq | Nivel gratuit + plătit | Tarif limitat | Inferență ultra-rapidă |
263
+ | | xAI (Grok) | Plată-pe-utilizare | Niciuna | Modele Grok |
264
+ | | Mistral | Nivel gratuit + plătit | Tarif limitat | IA europeană |
265
+ | | OpenRouter | Plată-pe-utilizare | Niciuna | 100+ modele |
266
+ | **💰 IEFTIN** | GLM-4.7 | 0,6 USD/1 milion | Zilnic 10:00 | Backup buget |
267
+ | | MiniMax M2.1 | 0,2 USD/1 milion | rulare de 5 ore | Cea mai ieftină opțiune |
268
+ | | Kimi K2 | 9 USD/lună plat | 10 milioane de jetoane/lună | Cost previzibil |
269
+ | **🆓 GRATUIT** | iFlow | $0 | Nelimitat | 8 modele gratuite |
270
+ | | Qwen | $0 | Nelimitat | 3 modele gratuite |
271
+ | | Kiro | $0 | Nelimitat | Claude liber |
272
+
273
+ **💡 Sfat profesionist:** Începeți cu Gemini CLI (180K gratuit/lună) + iFlow (gratuit nelimitat) combo = cost 0 USD!
274
+
275
+ ---
276
+
277
+ ## 🎯 Cazuri de utilizare
278
+
279
+ ### Cazul 1: „Am abonament Claude Pro”
280
+
281
+ **Problemă:** Cota expiră neutilizată, limitele ratei în timpul codării grele
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
+ ### Cazul 2: „Vreau cost zero”
294
+
295
+ **Problemă:** Nu-mi permit abonamente, au nevoie de codare AI de încredere
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
+ ### Cazul 3: „Am nevoie de codare 24/7, fără întreruperi”
308
+
309
+ **Problemă:** Termenele limită, nu-mi permit timpi de nefuncționare
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
+ ### Cazul 4: „Vreau AI GRATUIT în OpenClaw”
323
+
324
+ **Problemă:** Aveți nevoie de asistent AI în aplicațiile de mesagerie, complet gratuit
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
+ ## 💡 Caracteristici cheie
339
+
340
+ ### 🧠 Core Routing & Intelligence
341
+
342
+ | Caracteristica | Ce face |
343
+ | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
344
+ | 🎯 **Backback inteligent pe 4 niveluri** | Rută automată: Abonament → Cheie API → Ieftin → Gratuit |
345
+ | 📊 **Urmărirea cotelor în timp real** | Numărătoare de jetoane live + numărătoare inversă de resetare per furnizor |
346
+ | 🔄 **Traducerea formatului** | OpenAI ↔ Claude ↔ Gemeni ↔ Cursor ↔ Kiro fără întreruperi + dezinfectare răspuns |
347
+ | 👥 **Asistență pentru mai multe conturi** | Conturi multiple per furnizor cu selecție inteligentă |
348
+ | 🔄 **Reîmprospătare automată a simbolului** | Tokenurile OAuth se reîmprospătează automat cu reîncercarea |
349
+ | 🎨 **Combinații personalizate** | 6 strategii: fill-first, round-robin, p2c, aleatoriu, cel mai puțin utilizat, optimizat din punct de vedere al costurilor |
350
+ | 🧩 **Modele personalizate** | Adăugați orice ID de model oricărui furnizor |
351
+ | 🌐 **Wildcard Router** | Dirijați dinamic modelele `provider/*` către orice furnizor |
352
+ | 🧠 **Buget de gândire** | Moduri de trecere, automat, personalizat și adaptiv pentru modelele de raționament |
353
+ | 💬 **System Prompt Injection** | Prompt de sistem global aplicat pentru toate solicitările |
354
+ | 📄 **Responses API** | Compatibilitate completă cu OpenAI Responses API (`/v1/responses`) pentru Codex |
355
+
356
+ ### 🎵 API-uri multimodale
357
+
358
+ | Caracteristica | Ce face |
359
+ | ------------------------- | ---------------------------------------------------------- |
360
+ | 🖼️ **Generarea imaginii** | `/v1/images/generations` — 4 furnizori, peste 9 modele |
361
+ | 📐 **Inglobări** | `/v1/embeddings` — 6 furnizori, peste 9 modele |
362
+ | 🎤 **Transcriere audio** | `/v1/audio/transcriptions` — Compatibil cu Whisper |
363
+ | 🔊 **Text-to-speech** | `/v1/audio/speech` — Sinteză audio cu mai mulți furnizori |
364
+ | 🛡️ **Moderații** | `/v1/moderations` — Verificări de siguranță a conținutului |
365
+ | 🔀 **Reclasificare** | `/v1/rerank` — Reclasificarea relevanței documentului |
366
+
367
+ ### 🛡️ Reziliență și securitate
368
+
369
+ | Caracteristica | Ce face |
370
+ | -------------------------------------- | ------------------------------------------------------------------------------------ |
371
+ | 🔌 **Disjunctor** | Deschidere/închidere automată pentru fiecare furnizor cu praguri configurabile |
372
+ | 🛡️ **Turmă Anti-Tunete** | Limită de rată Mutex + semafor pentru furnizorii de chei API |
373
+ | 🧠 **Cache semantic** | Cache-ul pe două niveluri (semnătură + semantică) reduce costurile și latența |
374
+ | ⚡ **Solicita Idempotenta** | Fereastra de dedup 5s pentru cereri duplicate |
375
+ | 🔒 **TLS Fingerprint Spoofing** | Ocoliți detectarea botului bazată pe TLS prin wreq-js |
376
+ | 🌐 **Filtrare IP** | Lista permisă/lista blocată pentru controlul accesului API |
377
+ | 📊 **Limite de rată editabile** | RPM configurabil, interval minim și concurență maximă la nivel de sistem |
378
+ | 🛡 **Protecție API Endpoint** | Autentificare + blocare furnizor pentru punctul final `/models` |
379
+ | 🔒 **Vizibilitatea proxy** | Ecusoane cu coduri de culoare: 🟢 global, 🟡 furnizor, 🔵 per conexiune cu afișaj IP |
380
+ | 🌐 **Configurare proxy pe 3 niveluri** | Configurați proxy-uri la nivel global, per furnizor sau per conexiune |
381
+
382
+ ### 📊 Observabilitate și analiză
383
+
384
+ | Caracteristica | Ce face |
385
+ | -------------------------------------- | ------------------------------------------------------------------------------------------------- |
386
+ | 📝 **Solicitare înregistrare** | Modul de depanare cu jurnalele complete de cereri/răspuns |
387
+ | 💾 **Jurnale proxy SQLite** | Jurnalele proxy persistente supraviețuiesc repornirilor de server |
388
+ | 📊 **Tabloul de bord de analiză** | Recharts-powered: carduri cu statistici, diagramă de utilizare a modelului, tabel furnizor |
389
+ | 📈 **Urmărirea progresului** | Înscrieți-vă evenimentele de progres SSE pentru streaming |
390
+ | 🧪 **Evaluări LLM** | Testarea setului de aur cu 4 strategii de meci |
391
+ | 🔍 **Solicitare telemetrie** | agregare latență p50/p95/p99 + urmărire X-Request-Id |
392
+ | 📋 **Tabloul de bord jurnal** | Pagina unificată cu 4 file: Jurnalele de solicitări, Jurnalele proxy, Jurnalele de audit, Consolă |
393
+ | 🖥️ **Console Log Viewer** | Vizualizator în timp real în stil terminal cu filtru de nivel, căutare, defilare automată |
394
+ | 📑 **Înregistrare pe bază de fișiere** | Interceptor de consolă captează toate ieșirile în fișierul jurnal JSON cu rotație |
395
+ | 🏥 **Tabloul de bord pentru sănătate** | Timp de funcționare a sistemului, stări întrerupătoare, blocări, statistici cache |
396
+ | 💰 **Urmărirea costurilor** | Gestionarea bugetului + configurarea prețurilor pe model |
397
+
398
+ ### ☁️ Implementare și sincronizare
399
+
400
+ | Caracteristica | Ce face |
401
+ | ------------------------------------- | ------------------------------------------------------------------------------- |
402
+ | 💾 **Cloud Sync** | Sincronizați configurația între dispozitive prin Cloudflare Workers |
403
+ | 🌐 **Implementează oriunde** | Localhost, VPS, Docker, lucrători Cloudflare |
404
+ | 🔑 **Administrarea cheilor API** | Generați, rotiți și stabiliți cheile API pentru fiecare furnizor |
405
+ | 🧙 **Onboarding Wizard** | Configurare ghidată în 4 pași pentru utilizatorii debutanți |
406
+ | 🔧 **Tabloul de bord CLI Tools** | Configurați cu un singur clic Claude, Codex, Cline, OpenClaw, Kilo, Antigravity |
407
+ | 🔄 **Backup-uri DB** | Backup automat, restaurare, export și import pentru toate setările |
408
+ | 🌐 **Internaționalizare** | I18n complet cu next-intl — suport engleză + portugheză (Brazilia) |
409
+ | 🌍 **Selector de limbă** | Pictograma glob în antet pentru schimbarea limbii în timp real (🇺🇸/🇧🇷) |
410
+ | 📂 **Director de date personalizate** | `DATA_DIR` env var pentru a înlocui calea de stocare implicită `~/.omniroute` |
411
+
412
+ <details>
413
+ <summary><b>📖 Detalii caracteristică</b></summary>
414
+
415
+ ### 🎯 Smart 4-Tier Fallback
416
+
417
+ Creați combinații cu rezervă automată:
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
+ ### 📊 Urmărirea cotelor în timp real
430
+
431
+ - Consumul de token per furnizor
432
+ - Resetați numărătoarea inversă (5 ore, zilnic, săptămânal)
433
+ - Estimarea costurilor pentru nivelurile plătite
434
+ - Rapoarte lunare de cheltuieli
435
+
436
+ ### 🔄 Format traducere
437
+
438
+ Traducere fără întreruperi între formate:
439
+
440
+ - **OpenAI** ↔ **Claude** ↔ **Gemeni** ↔ **Răspunsuri OpenAI**
441
+ - Instrumentul dvs. CLI trimite formatul OpenAI → OmniRoute traduce → Furnizorul primește formatul nativ
442
+ - Funcționează cu orice instrument care acceptă puncte finale personalizate OpenAI
443
+ - **Sanitizarea răspunsului** — Elimina câmpurile nestandard pentru compatibilitate strictă cu OpenAI SDK
444
+ - **Normalizarea rolurilor** — `developer` → `system` pentru non-OpenAI; `system` → `user` pentru modelele GLM/ERNIE
445
+ - **Think tag extraction** — blocuri `<think>` → `reasoning_content` pentru modele de gândire
446
+ - **Ieșire structurată** — `json_schema` → `responseMimeType`/`responseSchema` a lui Gemeni
447
+
448
+ ### 👥 Suport pentru mai multe conturi
449
+
450
+ - Adăugați mai multe conturi pentru fiecare furnizor
451
+ - Auto round-robin sau rutare bazată pe prioritate
452
+ - Revenire la următorul cont când cineva atinge cota
453
+
454
+ ### 🔄 Reîmprospătare automată a simbolului
455
+
456
+ - Tokenurile OAuth se reîmprospătează automat înainte de expirare
457
+ - Nu este nevoie de re-autentificare manuală
458
+ - Experiență perfectă pentru toți furnizorii
459
+
460
+ ### 🎨 Combo personalizate
461
+
462
+ - Creați combinații de modele nelimitate
463
+ - 6 strategii: umplere întâi, round-robin, putere cu două alegeri, aleatoriu, cel mai puțin utilizat, optimizat din punct de vedere al costurilor
464
+ - Partajați combo-uri pe dispozitive cu Cloud Sync
465
+
466
+ ### 🏥 Tabloul de bord pentru sănătate
467
+
468
+ - Starea sistemului (timp de funcționare, versiune, utilizare a memoriei)
469
+ - Stări întrerupătoarelor de circuit pentru fiecare furnizor (Închis/Deschis/Pe jumătate deschis)
470
+ - Starea limitei ratei și blocajele active
471
+ - Statistici de cache pentru semnături
472
+ - Telemetrie latență (p50/p95/p99) + cache prompt
473
+ - Resetați starea de sănătate cu un singur clic
474
+
475
+ ### 🔧 Translator Playground
476
+
477
+ OmniRoute include un puternic Translator Playground încorporat cu **4 moduri** pentru depanare, testare și monitorizare a traducerilor API:
478
+
479
+ | Modul | Descriere |
480
+ | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
481
+ | **💻 Loc de joacă** | Traducere directă a formatului — inserați orice corp de solicitare API și vedeți instantaneu cum îl traduce OmniRoute între formatele de furnizor (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Include exemple de șabloane și detecție automată a formatului. |
482
+ | **💬 Tester de chat** | Trimiteți cereri reale de chat prin OmniRoute și vedeți întregul drum dus-întors: intrarea dvs., solicitarea tradusă, răspunsul furnizorului și răspunsul tradus înapoi. Neprețuit pentru validarea rutei combinate. |
483
+ | **🧪 Banc de testare** | Mod de testare în loturi — definiți mai multe cazuri de testare cu diferite intrări și rezultate așteptate, rulați-le pe toate simultan și comparați rezultatele între furnizori și modele. |
484
+ | **📱 Monitor live** | Monitorizare în timp real a cererilor — urmăriți cererile primite în timp ce acestea trec prin OmniRoute, vedeți traducerile formatului care au loc în direct și identificați problemele instantaneu. |
485
+
486
+ **Acces:** Tabloul de bord → Traducător (bara laterală)
487
+
488
+ ### 💾 Cloud Sync
489
+
490
+ - Sincronizați furnizorii, combo-urile și setările pe dispozitive
491
+ - Sincronizare automată în fundal
492
+ - Stocare securizată criptată
493
+
494
+ </details>
495
+
496
+ ---
497
+
498
+ ## 📖 Ghid de configurare
499
+
500
+ <details>
501
+ <summary><b>💳 Furnizori de abonament</b></summary>
502
+
503
+ ### Cod Claude (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
+ **Sfat profesionist:** Folosiți Opus pentru sarcini complexe, Sonnet pentru viteză. OmniRoute urmărește cota per model!
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 (GRATIS 180K/lună!)
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
+ **Cea mai bună valoare:** Nivel gratuit imens! Utilizați acest lucru înainte de nivelurile plătite.
543
+
544
+ ### GitHub Copilot
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>🔑 Furnizori de chei API</b></summary>
561
+
562
+ ### NVIDIA NIM (1000 de credite GRATUITE!)
563
+
564
+ 1. Înscrieți-vă: [build.nvidia.com](https://build.nvidia.com)
565
+ 2. Obțineți cheia API gratuită (1000 de credite de inferență incluse)
566
+ 3. Tabloul de bord → Adăugați furnizor → NVIDIA NIM:
567
+ - Cheie API: `nvapi-your-key`
568
+
569
+ **Modele:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` și peste 50 de altele
570
+
571
+ **Sfat profesional:** API compatibil cu OpenAI - funcționează perfect cu traducerea formatului OmniRoute!
572
+
573
+ ### DeepSeek
574
+
575
+ 1. Înscrieți-vă: [platform.deepseek.com](https://platform.deepseek.com)
576
+ 2. Obțineți cheia API
577
+ 3. Tabloul de bord → Adăugați furnizor → DeepSeek
578
+
579
+ **Modele:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
580
+
581
+ ### Groq (nivel gratuit disponibil!)
582
+
583
+ 1. Înscrieți-vă: [console.groq.com](https://console.groq.com)
584
+ 2. Obțineți cheia API (nivel gratuit inclus)
585
+ 3. Tabloul de bord → Adăugați furnizor → Groq
586
+
587
+ **Modele:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
588
+
589
+ **Sfat profesionist:** Inferență ultra-rapidă - cel mai bun pentru codare în timp real!
590
+
591
+ ### OpenRouter (100+ modele)
592
+
593
+ 1. Înscrieți-vă: [openrouter.ai](https://openrouter.ai)
594
+ 2. Obțineți cheia API
595
+ 3. Tabloul de bord → Adăugare furnizor → OpenRouter
596
+
597
+ **Modele:** Accesați peste 100 de modele de la toți furnizorii importanți printr-o singură cheie API.
598
+
599
+ </details>
600
+
601
+ <details>
602
+ <summary><b>💰 Furnizori ieftini (backup)</b></summary>
603
+
604
+ ### GLM-4.7 (Resetare zilnică, 0,6 USD/1 milion)
605
+
606
+ 1. Înscrieți-vă: [Zhipu AI](https://open.bigmodel.cn/)
607
+ 2. Obțineți cheia API din Coding Plan
608
+ 3. Tabloul de bord → Adăugați cheia API:
609
+ - Furnizor: `glm`
610
+ - Cheie API: `your-key`
611
+
612
+ **Utilizați:** `glm/glm-4.7`
613
+
614
+ **Sfat profesionist:** Planul de codare oferă cotă de 3 ori la 1/7 cost! Resetați zilnic la 10:00.
615
+
616
+ ### MiniMax M2.1 (resetare 5 ore, 0,20 USD/1 milion)
617
+
618
+ 1. Înscrieți-vă: [MiniMax](https://www.minimax.io/)
619
+ 2. Obțineți cheia API
620
+ 3. Tabloul de bord → Adăugați cheia API
621
+
622
+ **Utilizați:** `minimax/MiniMax-M2.1`
623
+
624
+ **Sfat pro:** Cea mai ieftină opțiune pentru context lung (1 milion de jetoane)!
625
+
626
+ ### Kimi K2 (9 USD/lună fix)
627
+
628
+ 1. Abonați-vă: [Moonshot AI](https://platform.moonshot.ai/)
629
+ 2. Obțineți cheia API
630
+ 3. Tabloul de bord → Adăugați cheia API
631
+
632
+ **Utilizați:** `kimi/kimi-latest`
633
+
634
+ **Sfat profesionist:** Fix 9 USD/lună pentru 10 milioane de jetoane = 0,90 USD/cost efectiv de 1 milion!
635
+
636
+ </details>
637
+
638
+ <details>
639
+ <summary><b>🆓 Furnizori GRATUITI (Backup de urgență)</b></summary>
640
+
641
+ ### iFlow (8 modele GRATUITE)
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 modele GRATUITE)
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
+ ### Kiro (Claude GRATUIT)
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>🎨 Creați combinații</b></summary>
684
+
685
+ ### Exemplul 1: Maximizați abonamentul → Backup ieftin
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
+ ### Exemplul 2: Numai gratuit (cost zero)
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>🔧 Integrare CLI</b></summary>
715
+
716
+ ### Cursor 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
+ ### Claude Cod
726
+
727
+ Utilizați pagina **Instrumente CLI** din tabloul de bord pentru configurarea cu un singur clic sau editați manual `~/.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
+ **Opțiunea 1 — Tabloul de bord (recomandat):**
741
+
742
+ ```
743
+ Dashboard → CLI Tools → OpenClaw → Select Model → Apply
744
+ ```
745
+
746
+ **Opțiunea 2 — Manual:** Editați `~/.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
+ > **Notă:** OpenClaw funcționează numai cu OmniRoute local. Utilizați `127.0.0.1` în loc de `localhost` pentru a evita problemele de rezoluție IPv6.
763
+
764
+ ### Cline / Continuare / 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
+ ## 📊 Modele disponibile
779
+
780
+ <details>
781
+ <summary><b>Vedeți toate modelele disponibile</b></summary>
782
+
783
+ **Cod Claude (`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
+ **CLI Gemini (`gc/`)** - GRATUIT:
795
+
796
+ - `gc/gemini-3-flash-preview`
797
+ - `gc/gemini-2.5-pro`
798
+
799
+ **Copilot GitHub (`gh/`)**:
800
+
801
+ - `gh/gpt-5`
802
+ - `gh/claude-4.5-sonnet`
803
+
804
+ **NVIDIA NIM (`nvidia/`)** - credite GRATUITE:
805
+
806
+ - `nvidia/llama-3.3-70b-instruct`
807
+ - `nvidia/mistral-7b-instruct`
808
+ - Mai mult de 50 de modele pe [build.nvidia.com](https://build.nvidia.com)
809
+
810
+ **GLM (`glm/`)** - 0,6 USD/1 milion:
811
+
812
+ - `glm/glm-4.7`
813
+
814
+ **MiniMax (`minimax/`)** - 0,2 USD/1 milion:
815
+
816
+ - `minimax/MiniMax-M2.1`
817
+
818
+ **iFlow (`if/`)** - GRATUIT:
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/`)** - GRATUIT:
827
+
828
+ - `qw/qwen3-coder-plus`
829
+ - `qw/qwen3-coder-flash`
830
+
831
+ **Kiro (`kr/`)** - GRATUIT:
832
+
833
+ - `kr/claude-sonnet-4.5`
834
+ - `kr/claude-haiku-4.5`
835
+
836
+ **OpenRouter (`or/`)** - peste 100 de modele:
837
+
838
+ - `or/anthropic/claude-4-sonnet`
839
+ - `or/google/gemini-2.5-pro`
840
+ - Orice model de la [openrouter.ai/models](https://openrouter.ai/models)
841
+
842
+ </details>
843
+
844
+ ---
845
+
846
+ ## 🧪 Evaluări (Evaluări)
847
+
848
+ OmniRoute include un cadru de evaluare încorporat pentru a testa calitatea răspunsului LLM față de un set de aur. Accesați-l prin **Analitice → Evaluări** în tabloul de bord.
849
+
850
+ ### Set de aur încorporat
851
+
852
+ „Setul de Aur OmniRoute” preîncărcat conține 10 cazuri de testare care acoperă:
853
+
854
+ - Salutări, matematică, geografie, generare de cod
855
+ - Conformitatea formatului JSON, traducere, reducere
856
+ - Refuz de siguranță (conținut dăunător), numărare, logică booleană
857
+
858
+ ### Strategii de evaluare
859
+
860
+ | Strategie | Descriere | Exemplu |
861
+ | ---------- | ------------------------------------------------------------------------- | -------------------------------- |
862
+ | `exact` | Ieșirea trebuie să se potrivească exact cu | `"4"` |
863
+ | `contains` | Ieșirea trebuie să conțină subșir (indiferență de majuscule și minuscule) | `"Paris"` |
864
+ | `regex` | Ieșirea trebuie să se potrivească cu modelul regex | `"1.*2.*3"` |
865
+ | `custom` | Funcția JS personalizată returnează adevărat/fals | `(output) => output.length > 10` |
866
+
867
+ ---
868
+
869
+ ## 🔐 OAuth em Servidor Remoto (Configurare OAuth la distanță)
870
+
871
+ <a name="oauth-em-servidor-remoto"></a>
872
+
873
+ > **⚠️ IMPORTANT pentru utilizatorii cu OmniRoute în VPS/Docker/servidor remoto**
874
+
875
+ ### Por que o OAuth do Antigravity / Gemini CLI falha em serveres remotes?
876
+
877
+ Pentru autentificare, **Antigravity** și **Gemini CLI** folosesc **Google OAuth 2.0**. O Google exige que a `redirect_uri` utilizat nu fluxo OAuth seja **exatamente** uma das URIs pre-cadastradas no Google Cloud Console do aplicative.
878
+
879
+ As credenciais OAuth embutidas no OmniRoute esteo cadastradas **apenas for `localhost`**. Când accesați OmniRoute într-un server la distanță (ex: `https://omniroute.meuservidor.com`), sau Google respinge autentificarea com:
880
+
881
+ ```
882
+ Error 400: redirect_uri_mismatch
883
+ ```
884
+
885
+ ### Soluție: Configurați propriile acreditări OAuth
886
+
887
+ Você necesita criar um **OAuth 2.0 Client ID** nu Google Cloud Console ca URI pentru server.
888
+
889
+ #### Passo a passo
890
+
891
+ **1. Acces sau Google Cloud Console**
892
+
893
+ Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials)
894
+
895
+ **2. Plângeți nou OAuth 2.0 Client ID**
896
+
897
+ - Faceți clic pe **"+ Create Credentials"** → **"OAuth client ID"**
898
+ - Tip de aplicație: **"Aplicație web"**
899
+ - Nume: scolha qualquer nome (ex: `OmniRoute Remote`)
900
+
901
+ **3. Adăugați ca URI de redirecționare autorizate**
902
+
903
+ No campo **„URI-uri de redirecționare autorizate”**, adiție:
904
+
905
+ ```
906
+ https://seu-servidor.com/callback
907
+ ```
908
+
909
+ > Substitue `seu-servidor.com` pelo domínio sau IP do seu servidor (inclua a porta se necessário, ex: `http://45.33.32.156:20128/callback`).
910
+
911
+ **4. Salve și copie ca credenciais**
912
+
913
+ Após criar, o Google afișează o **Client ID** e o **Client Secret**.
914
+
915
+ **5. Configurați ca variabile de mediu**
916
+
917
+ Nu ai `.env` (ai variat de ambient do 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 connect novamente**
941
+
942
+ Tabloul de bord → Furnizori → Antigravity (sau Gemini CLI) → OAuth
943
+
944
+ Agora sau Google redirecționează corect pentru `https://seu-servidor.com/callback` și funcționează autenticação.
945
+
946
+ ---
947
+
948
+ ### Soluție temporară (sem configurar credenciais proprias)
949
+
950
+ Nu vă rugăm să vă convingeți acum, dar este posibil să utilizați sau să fluxați **manual de URL**:
951
+
952
+ 1. OmniRoute deschide o adresă URL de autorizare Google
953
+ 2. Após você autorizar, o Google tentará redirecionar para `localhost` (que falha no server remote)
954
+ 3. **Copiați o adresă URL completă** da bara de accesare a browserului (mesmo que a page não carregue)
955
+ 4. Cole essa URL nu există câmpuri care nu apar modal de conexão pentru OmniRoute
956
+ 5. Faceți clic pe **„Conectați-vă”**
957
+
958
+ > Această soluție de soluționare funcționează deoarece codul de autorizare a URL-ului este valabil independent de redirecționare pentru a încărca sau nu.
959
+
960
+ ---
961
+
962
+ ## 🐛 Depanare
963
+
964
+ <details>
965
+ <summary><b>Faceți clic pentru a extinde ghidul de depanare</b></summary>
966
+
967
+ **„Modelul de limbă nu a furnizat mesaje”**
968
+
969
+ - Cota de furnizor epuizată → Verificați instrumentul de urmărire a cotei din tabloul de bord
970
+ - Soluție: utilizați alternativă combinată sau treceți la un nivel mai ieftin
971
+
972
+ **Limitarea ratei**
973
+
974
+ - Scăderea cotei de abonament → Fallback la GLM/MiniMax
975
+ - Adăugați combo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
976
+
977
+ **Tokenul OAuth a expirat**
978
+
979
+ - Reîmprospătat automat de OmniRoute
980
+ - Dacă problemele persistă: Dashboard → Provider → Reconnect
981
+
982
+ **Costuri mari**
983
+
984
+ - Verificați statisticile de utilizare în Tabloul de bord → Costuri
985
+ - Comutați modelul principal la GLM/MiniMax
986
+ - Utilizați nivelul gratuit (Gemini CLI, iFlow) pentru sarcini necritice
987
+
988
+ **Tabloul de bord se deschide pe portul greșit**
989
+
990
+ - Setați `PORT=20128` și `NEXT_PUBLIC_BASE_URL=http://localhost:20128`
991
+
992
+ **Erori de sincronizare în cloud**
993
+
994
+ - Verificați `BASE_URL` puncte către instanța dvs. care rulează
995
+ - Verificați `CLOUD_URL` puncte către punctul final din cloud așteptat
996
+ - Păstrați valorile `NEXT_PUBLIC_*` aliniate cu valorile de pe partea serverului
997
+
998
+ **Prima conectare nu funcționează**
999
+
1000
+ - Verificați `INITIAL_PASSWORD` în `.env`
1001
+ - Dacă nu este setată, parola de rezervă este `123456`
1002
+
1003
+ **Fără jurnal de solicitare**
1004
+
1005
+ - Setați `ENABLE_REQUEST_LOGS=true` în `.env`
1006
+
1007
+ **Testul de conectare arată „Invalid” pentru furnizorii compatibili cu OpenAI**
1008
+
1009
+ - Mulți furnizori nu expun un punct final `/models`
1010
+ - OmniRoute v1.0.6+ include validarea de rezervă prin finalizarea chatului
1011
+ - Asigurați-vă că adresa URL de bază include sufixul `/v1`
1012
+
1013
+ </details>
1014
+
1015
+ ---
1016
+
1017
+ ## 🛠️ Tech Stack
1018
+
1019
+ - **Runtime**: Node.js 18–22 LTS (⚠️ Node.js 24+ este **nu este acceptat** - `better-sqlite3` binarele native sunt incompatibile)
1020
+ - **Limba**: TypeScript 5.9 — **100% TypeScript** în `src/` și `open-sse/` (v1.0.6)
1021
+ - **Cadru**: Next.js 16 + React 19 + Tailwind CSS 4
1022
+ - **Bază de date**: LowDB (JSON) + SQLite (starea domeniului + jurnalele proxy)
1023
+ - **Streaming**: evenimente trimise de server (SSE)
1024
+ - **Auth**: OAuth 2.0 (PKCE) + JWT + chei API
1025
+ - **Testare**: Runner de testare Node.js (368+ teste unitare)
1026
+ - **CI/CD**: GitHub Actions (publicare automată npm + Docker Hub la lansare)
1027
+ - **Site web**: [omniroute.online](https://omniroute.online)
1028
+ - **Pachet**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
1029
+ - **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
1030
+ - **Reziliență**: întrerupător de circuit, backoff exponențial, turmă anti-tunet, falsificare TLS
1031
+
1032
+ ---
1033
+
1034
+ ## 📖 Documentație
1035
+
1036
+ | Document | Descriere |
1037
+ | -------------------------------------------- | --------------------------------------------------------- |
1038
+ | [User Guide](docs/USER_GUIDE.md) | Furnizori, combo-uri, integrare CLI, implementare |
1039
+ | [API Reference](docs/API_REFERENCE.md) | Toate punctele finale cu exemple |
1040
+ | [Troubleshooting](docs/TROUBLESHOOTING.md) | Probleme și soluții comune |
1041
+ | [Architecture](docs/ARCHITECTURE.md) | Arhitectura sistemului și elementele interne |
1042
+ | [Contributing](CONTRIBUTING.md) | Configurare și linii directoare de dezvoltare |
1043
+ | [OpenAPI Spec](docs/openapi.yaml) | Specificație OpenAPI 3.0 |
1044
+ | [Security Policy](SECURITY.md) | Raportarea vulnerabilităților și practicile de securitate |
1045
+ | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Ghid complet: VM + nginx + configurare Cloudflare |
1046
+ | [Features Gallery](docs/FEATURES.md) | Tur vizual al tabloului de bord cu capturi de ecran |
1047
+
1048
+ ### 📸 Previzualizarea tabloului de bord
1049
+
1050
+ <details>
1051
+ <summary><b>Faceți clic pentru a vedea capturile de ecran de pe tabloul de bord</b></summary>
1052
+
1053
+ | Pagina | Captură de ecran |
1054
+ | ------------------------ | ------------------------------------------------- |
1055
+ | **Furnizori** | ![Providers](docs/screenshots/01-providers.png) |
1056
+ | **Combo** | ![Combos](docs/screenshots/02-combos.png) |
1057
+ | **Analitice** | ![Analytics](docs/screenshots/03-analytics.png) |
1058
+ | **Sănătate** | ![Health](docs/screenshots/04-health.png) |
1059
+ | **Translator** | ![Translator](docs/screenshots/05-translator.png) |
1060
+ | **Setări** | ![Settings](docs/screenshots/06-settings.png) |
1061
+ | **Instrumente CLI** | ![CLI Tools](docs/screenshots/07-cli-tools.png) |
1062
+ | **Jurnale de utilizare** | ![Usage](docs/screenshots/08-usage.png) |
1063
+ | **Punctul final** | ![Endpoint](docs/screenshots/09-endpoint.png) |
1064
+
1065
+ </details>
1066
+
1067
+ ---
1068
+
1069
+ ## 🗺️ Foaia de parcurs
1070
+
1071
+ OmniRoute are **210+ funcții planificate** în mai multe faze de dezvoltare. Iată domeniile cheie:
1072
+
1073
+ | Categoria | Caracteristici planificate | Repere |
1074
+ | --------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
1075
+ | 🧠 **Routing & Intelligence** | 25+ | Rutare cu cea mai mică latență, rutare bazată pe etichete, verificare preliminară a cotei, selecție contului P2C |
1076
+ | 🔒 **Securitate și conformitate** | 20+ | Întărirea SSRF, acoperirea acreditărilor, limita de rată per punct final, domeniul de aplicare al cheii de management |
1077
+ | 📊 **Observabilitate** | 15+ | Integrarea OpenTelemetry, monitorizarea cotelor în timp real, urmărirea costurilor per model |
1078
+ | 🔄 **Integrări furnizori** | 20+ | Registrul modelului dinamic, perioadele de încărcare ale furnizorului, Codexul cu mai multe conturi, analiza cotelor Copilot |
1079
+ | ⚡ **Performanță** | 15+ | Strat cache dublu, cache prompt, cache de răspuns, streaming keepalive, API batch |
1080
+ | 🌐 **Ecosistem** | 10+ | WebSocket API, config hot-reload, magazin de configurare distribuit, mod comercial |
1081
+
1082
+ ### 🔜 În curând
1083
+
1084
+ - 🔗 **Integrare OpenCode** — Suport furnizor nativ pentru IDE-ul de codare OpenCode AI
1085
+ - 🔗 **Integrare TRAE** — Suport complet pentru cadrul de dezvoltare TRAE AI
1086
+ - 📦 **Batch API** — Procesare asincronă în lot pentru solicitări în bloc
1087
+ - 🎯 **Rutare bazată pe etichete** — Solicitări de rutare bazate pe etichete și metadate personalizate
1088
+ - 💰 **Strategia cu cel mai mic cost** — Selectați automat cel mai ieftin furnizor disponibil
1089
+
1090
+ > 📝 Specificații complete ale caracteristicilor disponibile în [link](docs/new-features/) (217 specificații detaliate)
1091
+
1092
+ ---
1093
+
1094
+ ## 📧 Suport
1095
+
1096
+ > 💬 **Alăturați-vă comunității noastre!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Obțineți ajutor, împărtășiți sfaturi și fiți la curent.
1097
+
1098
+ - **Site web**: [omniroute.online](https://omniroute.online)
1099
+ - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
1100
+ - **Probleme**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
1101
+ - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
1102
+ - **Proiect original**: [9router by decolua](https://github.com/decolua/9router)
1103
+
1104
+ ---
1105
+
1106
+ ## 👥 Colaboratori
1107
+
1108
+ [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
1109
+
1110
+ ### Cum să contribui
1111
+
1112
+ 1. Bifurcați depozitul
1113
+ 2. Creați-vă ramura caracteristică (`git checkout -b feature/amazing-feature`)
1114
+ 3. Afișează modificările (`git commit -m 'Add amazing feature'`)
1115
+ 4. Apăsați la ramură (`git push origin feature/amazing-feature`)
1116
+ 5. Deschideți o cerere de tragere
1117
+
1118
+ Consultați [CONTRIBUTING.md](CONTRIBUTING.md) pentru instrucțiuni detaliate.
1119
+
1120
+ ### Lansarea unei noi versiuni
1121
+
1122
+ ```bash
1123
+ # Create a release — npm publish happens automatically
1124
+ gh release create v1.0.6 --title "v1.0.6" --generate-notes
1125
+ ```
1126
+
1127
+ ---
1128
+
1129
+ ## 📊 Istoria stelelor
1130
+
1131
+ <a href="https://star-history.com/#diegosouzapw/OmniRoute&Date">
1132
+ <picture>
1133
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date&theme=dark" />
1134
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
1135
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
1136
+ </picture>
1137
+ </a>
1138
+
1139
+ ---
1140
+
1141
+ ## 🙏 Mulțumiri
1142
+
1143
+ Mulțumiri speciale pentru **[9router](https://github.com/decolua/9router)** de **[decolua](https://github.com/decolua)** — proiectul original care a inspirat această furcă. OmniRoute se bazează pe această bază incredibilă cu funcții suplimentare, API-uri multimodale și o rescrie completă TypeScript.
1144
+
1145
+ Mulțumiri speciale pentru **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — implementarea Go originală care a inspirat acest port JavaScript.
1146
+
1147
+ ---
1148
+
1149
+ ## 📄 Licență
1150
+
1151
+ Licență MIT - consultați [LICENSE](LICENSE) pentru detalii.
1152
+
1153
+ ---
1154
+
1155
+ ---
1156
+
1157
+ ## 🇧🇷 OmniRoute — Gateway de IA Gratuito
1158
+
1159
+ <a name="-omniroute--gateway-de-ia-gratuito"></a>
1160
+
1161
+ ### Nunca pare de codar. Roteamento inteligente pentru **modele de IA GRATUITE și de baixo custo** com fallback automático.
1162
+
1163
+ _Seu proxy universal de API — um endpoint, peste 36 de probe, zero downtime._
1164
+
1165
+ ### 🌐 Internaționalizare (i18n)
1166
+
1167
+ O tablou de bord pentru OmniRoute suportă **multiplos idiomas**. De fapt, sunt disponibile:
1168
+
1169
+ | Idioma | Cod | Stare |
1170
+ | ----------------------- | ------- | ---------- |
1171
+ | 🇺🇸 engleză | `en` | ✅ Complet |
1172
+ | 🇧🇷 Português (Brazilia) | `pt-BR` | ✅ Complet |
1173
+
1174
+ **Para trocar o idioma:** Clique no selector de idioma (🇺🇸 EN) no header do dashboard → selecione o idioma desejado.
1175
+
1176
+ **Para adicionar um nou idioma:**
1177
+
1178
+ 1. Plânge `src/i18n/messages/{codigo}.json` bazat pe `en.json`
1179
+ 2. Adăugați codul în `src/i18n/config.ts` → `LOCALES` și `LANGUAGES`
1180
+ 3. Reinicie o servidor
1181
+
1182
+ ### ⚡ Início Rápido
1183
+
1184
+ ```bash
1185
+ # Instalar via npm
1186
+ npx omniroute@latest
1187
+
1188
+ # Ou rodar do código-fonte
1189
+ cp .env.example .env
1190
+ npm install
1191
+ PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
1192
+ ```
1193
+
1194
+ ### 🐳 Docker
1195
+
1196
+ ```bash
1197
+ docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest
1198
+ ```
1199
+
1200
+ ### 🔑 Funcționalități principale
1201
+
1202
+ - **36+ provedores de IA** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek, și mai mult
1203
+ - **Roteamento inteligente** — Fallback automat entre provedores
1204
+ - **Tradução de format** — OpenAI ↔ Claude ↔ Gemeni automaticamente
1205
+ - **Multi-conta** — Múltiplas contas por provedor com seleção inteligente
1206
+ - **Cache semântico** — Reduz custos e latência
1207
+ - **OAuth automat** — Jetoane renovate automat
1208
+ - **Combos personalizados** — 6 estratégias de roteamento
1209
+ - **Dashboard complet** — Monitorizare, jurnale, analize, configurații
1210
+ - **CLI Tools** — Configurați Claude Code, Codex, Cursor, Cline com um clique
1211
+ - **100% TypeScript** — Código limpo e tipado
1212
+
1213
+ ### 📖 Documentação
1214
+
1215
+ | Documento | Descriere |
1216
+ | ----------------------------------------------- | ---------------------------------------- |
1217
+ | [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, combo-uri, CLI, implementare |
1218
+ | [Referência da API](docs/API_REFERENCE.md) | Toate punctele finale, cum ar fi exemple |
1219
+ | [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problemas comuns e soluções |
1220
+ | [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura e internos do sistema |
1221
+ | [Contribuição](CONTRIBUTING.md) | Configurare de dezvoltare și ghiduri |
1222
+ | [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Ghid complet: VM + nginx + Cloudflare |
1223
+
1224
+ ### 📧 Suport
1225
+
1226
+ > 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Tire dúvidas, compartilhe dicas e fique atualizado.
1227
+
1228
+ - **Site web**: [omniroute.online](https://omniroute.online)
1229
+ - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
1230
+ - **Probleme**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
1231
+
1232
+ ---
1233
+
1234
+ <div align="center">
1235
+ <sub>Construit cu ❤️ pentru dezvoltatorii care codifică 24/7</sub>
1236
+ <br/>
1237
+ <sub><a href="https://omniroute.online">omniroute.online</a></sub>
1238
+ </div>