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
package/README.pt.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 — O gateway de IA gratuito
5
+
6
+ 🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)**
7
+
8
+ ### Nunca pare de codificar. Roteamento inteligente para **modelos de IA GRATUITOS e de baixo custo** com fallback automático.
9
+
10
+ _Seu proxy de API universal — um endpoint, mais de 36 provedores, tempo de inatividade zero._
11
+
12
+ **Conclusões de bate-papo • Incorporações • Geração de imagem • Áudio • Reclassificação • 100% TypeScript**
13
+
14
+ ---
15
+
16
+ ### 🤖 Provedor de IA gratuito para seus agentes de codificação favoritos
17
+
18
+ _Conecte qualquer ferramenta IDE ou CLI com tecnologia de IA por meio do OmniRoute - gateway de API gratuito para codificação ilimitada._
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>📡 Todos os agentes se conectam via <code>http://localhost:20128/v1</code> ou <code>http://cloud.omniroute.online/v1</code> — uma configuração, modelos ilimitados e cota</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
+ ## 🤔 Por que OmniRoute?
116
+
117
+ **Pare de desperdiçar dinheiro e atingir limites:**
118
+
119
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> A cota de assinatura expira sem ser utilizada todos os meses
120
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Os limites de taxa impedem você no meio da codificação
121
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> APIs caras (US$ 20-50/mês por provedor)
122
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Troca manual entre provedores
123
+
124
+ **OmniRoute resolve isso:**
125
+
126
+ - ✅ **Maximize as assinaturas** - Rastreie a cota, use cada bit antes de redefinir
127
+ - ✅ **Fullback automático** - Assinatura → Chave de API → Barato → Gratuito, tempo de inatividade zero
128
+ - ✅ **Múltiplas contas** - Round-robin entre contas por provedor
129
+ - ✅ **Universal** - Funciona com Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, qualquer ferramenta CLI
130
+
131
+ ---
132
+
133
+ ## 🔄 Como funciona
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
+ ## ⚡ Início rápido
163
+
164
+ **1. Instale globalmente:**
165
+
166
+ ```bash
167
+ npm install -g omniroute
168
+ omniroute
169
+ ```
170
+
171
+ 🎉 O painel abre às `http://localhost:20128`
172
+
173
+ | Comando | Descrição |
174
+ | ----------------------- | ------------------------------------- |
175
+ | `omniroute` | Iniciar servidor (porta padrão 20128) |
176
+ | `omniroute --port 3000` | Usar porta personalizada |
177
+ | `omniroute --no-open` | Não abra o navegador automaticamente |
178
+ | `omniroute --help` | Mostrar ajuda |
179
+
180
+ **2. Conecte um provedor GRATUITO:**
181
+
182
+ Painel → Provedores → Conectar **Claude Code** ou **Antigravidade** → Login OAuth → Concluído!
183
+
184
+ **3. Use em sua ferramenta 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
+ **É isso aí!** Comece a codificar com modelos de IA GRATUITOS.
194
+
195
+ **Alternativa – execute a partir da fonte:**
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 está disponível como uma imagem pública do Docker em [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute).
208
+
209
+ **Execução rápida:**
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
+ **Com arquivo de ambiente:**
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
+ **Usando 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
+ | Imagem | Etiqueta | Tamanho | Descrição |
246
+ | ------------------------ | -------- | ------- | --------------------- |
247
+ | `diegosouzapw/omniroute` | `latest` | ~250 MB | Última versão estável |
248
+ | `diegosouzapw/omniroute` | `1.0.3` | ~250 MB | Versão atual |
249
+
250
+ ---
251
+
252
+ ## 💰 Visão geral dos preços
253
+
254
+ | Nível | Provedor | Custo | Redefinição de cota | Melhor para |
255
+ | ------------------- | ------------------- | -------------------------- | ------------------------ | ----------------------- |
256
+ | **💳 ASSINATURA** | Código Claude (Pro) | $ 20/mês | 5h + semanalmente | Já inscrito |
257
+ | | Códice (Plus/Pro) | US$ 20-200/mês | 5h + semanalmente | Usuários OpenAI |
258
+ | | Gêmeos CLI | **GRÁTIS** | 180 mil/mês + 1 mil/dia | Todos! |
259
+ | | Copiloto GitHub | US$ 10-19/mês | Mensalmente | Usuários do GitHub |
260
+ | **🔑 CHAVE DE API** | NVIDIA NIM | **GRÁTIS** (1000 créditos) | Único | Teste de nível gratuito |
261
+ | | DeepSeek | Pagamento conforme uso | Nenhum | Melhor preço/qualidade |
262
+ | | Groq | Nível gratuito + pago | Taxa limitada | Inferência ultrarrápida |
263
+ | | xAI (Groque) | Pagamento conforme uso | Nenhum | Modelos Grok |
264
+ | | Mistral | Nível gratuito + pago | Taxa limitada | IA Europeia |
265
+ | | OpenRouter | Pagamento conforme uso | Nenhum | Mais de 100 modelos |
266
+ | **💰 BARATO** | GLM-4.7 | US$ 0,6/1 milhão | Diariamente 10h | Backup de orçamento |
267
+ | | MiniMax M2.1 | US$ 0,2/1 milhão | Rolamento de 5 horas | Opção mais barata |
268
+ | | Kimi K2 | $ 9 / mês fixo | 10 milhões de tokens/mês | Custo previsível |
269
+ | **🆓 GRÁTIS** | iFlow | $0 | Ilimitado | 8 modelos grátis |
270
+ | | Qwen | $0 | Ilimitado | 3 modelos grátis |
271
+ | | Kiro | $0 | Ilimitado | Cláudio grátis |
272
+
273
+ **💡 Dica profissional:** Comece com Gemini CLI (180 mil grátis/mês) + combo iFlow (gratuito ilimitado) = custo de $ 0!
274
+
275
+ ---
276
+
277
+ ## 🎯 Casos de uso
278
+
279
+ ### Caso 1: "Tenho assinatura do Claude Pro"
280
+
281
+ **Problema:** A cota expira sem ser utilizada, limites de taxa durante codificação pesada
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
+ ### Caso 2: "Quero custo zero"
294
+
295
+ **Problema:** Não posso pagar assinaturas, preciso de codificação de IA confiável
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
+ ### Caso 3: "Preciso de codificação 24 horas por dia, 7 dias por semana, sem interrupções"
308
+
309
+ **Problema:** Prazos, não podemos arcar com o tempo de inatividade
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
+ ### Caso 4: "Quero IA GRATUITA no OpenClaw"
323
+
324
+ **Problema:** Precisa de assistente de IA em aplicativos de mensagens, totalmente gratuito
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
+ ## 💡 Principais recursos
339
+
340
+ ### 🧠 Roteamento e inteligência central
341
+
342
+ | Recurso | O que faz |
343
+ | -------------------------------------------- | -------------------------------------------------------------------------------------------------- |
344
+ | 🎯 **Fullback inteligente de 4 camadas** | Roteamento automático: Assinatura → Chave de API → Barato → Grátis |
345
+ | 📊 **Acompanhamento de cotas em tempo real** | Contagem de tokens ativos + contagem regressiva redefinida por provedor |
346
+ | 🔄 **Tradução de formato** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro sem costura + higienização de resposta |
347
+ | 👥 **Suporte para múltiplas contas** | Múltiplas contas por provedor com seleção inteligente |
348
+ | 🔄 **Atualização automática de token** | Os tokens OAuth são atualizados automaticamente com nova tentativa |
349
+ | 🎨 **Combos Personalizados** | 6 estratégias: preencher primeiro, round-robin, p2c, aleatório, menos usado, otimizado para custos |
350
+ | 🧩 **Modelos Personalizados** | Adicione qualquer ID de modelo a qualquer provedor |
351
+ | 🌐 **Roteador curinga** | Rotear padrões `provider/*` para qualquer provedor dinamicamente |
352
+ | 🧠 **Pensando no Orçamento** | Modos de passagem, automático, personalizado e adaptativo para modelos de raciocínio |
353
+ | 💬 **Injeção imediata do sistema** | Prompt de sistema global aplicado em todas as solicitações |
354
+ | 📄 **API de respostas** | Suporte completo à API de respostas OpenAI (`/v1/responses`) para Codex |
355
+
356
+ ### 🎵 APIs multimodais
357
+
358
+ | Recurso | O que faz |
359
+ | --------------------------------- | ----------------------------------------------------------- |
360
+ | 🖼️ **Geração de imagens** | `/v1/images/generations` — 4 provedores, mais de 9 modelos |
361
+ | 📐 **Incorporações** | `/v1/embeddings` — 6 provedores, mais de 9 modelos |
362
+ | 🎤 **Transcrição de áudio** | `/v1/audio/transcriptions` — Compatível com sussurro |
363
+ | 🔊 **Conversão de texto em fala** | `/v1/audio/speech` — Síntese de áudio multiprovedor |
364
+ | 🛡️ **Moderações** | `/v1/moderations` — Verificações de segurança de conteúdo |
365
+ | 🔀 **Reclassificação** | `/v1/rerank` — Reclassificação da relevância dos documentos |
366
+
367
+ ### 🛡️ Resiliência e segurança
368
+
369
+ | Recurso | O que faz |
370
+ | -------------------------------------------- | ------------------------------------------------------------------------------------ |
371
+ | 🔌 **Disjuntor** | Abertura/fechamento automático por provedor com limites configuráveis ​​ |
372
+ | 🛡️ **Rebanho Anti-Trovão** | Mutex + limite de taxa de semáforo para provedores de chaves de API |
373
+ | 🧠 **Cache Semântico** | Cache de duas camadas (assinatura + semântica) reduz custo e latência |
374
+ | ⚡ **Solicitar Idempotência** | Janela de desduplicação 5s para solicitações duplicadas |
375
+ | 🔒 **Falsificação de impressão digital TLS** | Ignore a detecção de bot baseada em TLS via wreq-js |
376
+ | 🌐 **Filtragem de IP** | Lista de permissões/lista de bloqueio para controle de acesso à API |
377
+ | 📊 **Limites de taxas editáveis** | RPM configurável, intervalo mínimo e simultâneo máximo no nível do sistema |
378
+ | 🛡 **Proteção de endpoint de API** | Autenticação + bloqueio de provedor para o endpoint `/models` |
379
+ | 🔒 **Visibilidade do proxy** | Crachás codificados por cores: 🟢 global, 🟡 provedor, 🔵 por conexão com display IP |
380
+ | 🌐 **Configuração de proxy de 3 níveis** | Configurar proxies em nível global, por provedor ou por conexão |
381
+
382
+ ### 📊 Observabilidade e análise
383
+
384
+ | Recurso | O que faz |
385
+ | ------------------------------------------- | ------------------------------------------------------------------------------------------------ |
386
+ | 📝 **Solicitar registro** | Modo de depuração com logs completos de solicitação/resposta |
387
+ | 💾 **Logs de proxy SQLite** | Logs de proxy persistentes sobrevivem às reinicializações do servidor |
388
+ | 📊 **Painel de análise** | Alimentado por recargas: cartões de estatísticas, gráfico de uso de modelo, tabela de provedores |
389
+ | 📈 **Acompanhamento do progresso** | Eventos de progresso SSE opcionais para streaming |
390
+ | 🧪 **Avaliações LLM** | Teste de Golden Set com 4 estratégias de jogo |
391
+ | 🔍 **Solicitar Telemetria** | Agregação de latência p50/p95/p99 + rastreamento X-Request-Id |
392
+ | 📋 **Painel de registros** | Página unificada de 4 guias: Logs de solicitação, Logs de proxy, Logs de auditoria, Console |
393
+ | 🖥️ **Visualizador de registros do console** | Visualizador em estilo terminal em tempo real com filtro de nível, pesquisa, rolagem automática |
394
+ | 📑 **Registro baseado em arquivo** | O interceptor do console captura toda a saída para o arquivo de log JSON com rotação |
395
+ | 🏥 **Painel de saúde** | Tempo de atividade do sistema, estados de disjuntores, bloqueios, estatísticas de cache |
396
+ | 💰 **Acompanhamento de custos** | Gestão orçamentária + configuração de preços por modelo |
397
+
398
+ ### ☁️ Implantação e sincronização
399
+
400
+ | Recurso | O que faz |
401
+ | --------------------------------------- | ------------------------------------------------------------------------------------ |
402
+ | 💾 **Sincronização na nuvem** | Sincronize a configuração entre dispositivos por meio do Cloudflare Workers |
403
+ | 🌐 **Implante em qualquer lugar** | Localhost, VPS, Docker, Cloudflare Workers |
404
+ | 🔑 **Gerenciamento de chaves de API** | Gerar, alternar e definir o escopo de chaves de API por provedor |
405
+ | 🧙 **Assistente de integração** | Configuração guiada em 4 etapas para usuários iniciantes |
406
+ | 🔧 **Painel de Ferramentas CLI** | Configurar com um clique Claude, Codex, Cline, OpenClaw, Kilo, Antigravity |
407
+ | 🔄 **Backups de banco de dados** | Backup, restauração, exportação e importação automáticos para todas as configurações |
408
+ | 🌐 **Internacionalização** | i18n completo com next-intl — Suporte Inglês + Português (Brasil) |
409
+ | 🌍 **Seletor de idioma** | Ícone de globo no cabeçalho para troca de idioma em tempo real (🇺🇸/🇧🇷) |
410
+ | 📂 **Diretório de dados personalizado** | `DATA_DIR` env var para substituir o caminho de armazenamento padrão `~/.omniroute` |
411
+
412
+ <details>
413
+ <summary><b>📖 Detalhes do recurso</b></summary>
414
+
415
+ ### 🎯 Fallback inteligente de 4 camadas
416
+
417
+ Crie combos com fallback automático:
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
+ ### 📊 Rastreamento de cotas em tempo real
430
+
431
+ - Consumo de token por provedor
432
+ - Redefinir contagem regressiva (5 horas, diariamente, semanalmente)
433
+ - Estimativa de custos para níveis pagos
434
+ - Relatórios mensais de gastos
435
+
436
+ ### 🔄 Tradução de formato
437
+
438
+ Tradução perfeita entre formatos:
439
+
440
+ - **OpenAI** ↔ **Claude** ↔ **Gêmeos** ↔ **Respostas OpenAI**
441
+ - Sua ferramenta CLI envia o formato OpenAI → OmniRoute traduz → O provedor recebe o formato nativo
442
+ - Funciona com qualquer ferramenta que suporte endpoints OpenAI personalizados
443
+ - **Higienização de resposta** — Remove campos não padrão para compatibilidade estrita com o OpenAI SDK
444
+ - **Normalização de funções** — `developer` → `system` para não-OpenAI; `system` → `user` para modelos GLM/ERNIE
445
+ - ** Extração de tags Think ** — `<think>` blocos → `reasoning_content` para modelos de pensamento
446
+ - **Saída estruturada** — `json_schema` → `responseMimeType`/`responseSchema` de Gêmeos
447
+
448
+ ### 👥 Suporte para múltiplas contas
449
+
450
+ - Adicione várias contas por provedor
451
+ - Round-robin automático ou roteamento baseado em prioridade
452
+ - Fallback para a próxima conta quando alguém atingir a cota
453
+
454
+ ### 🔄 Atualização automática de token
455
+
456
+ - Os tokens OAuth são atualizados automaticamente antes da expiração
457
+ - Não é necessária reautenticação manual
458
+ - Experiência perfeita em todos os provedores
459
+
460
+ ### 🎨 Combos Personalizados
461
+
462
+ - Crie combinações ilimitadas de modelos
463
+ - 6 estratégias: preencher primeiro, round-robin, poder de duas escolhas, aleatório, menos usado, otimizado para custos
464
+ - Compartilhe combos entre dispositivos com Cloud Sync
465
+
466
+ ### 🏥 Painel de saúde
467
+
468
+ - Status do sistema (tempo de atividade, versão, uso de memória)
469
+ - Estados do disjuntor por provedor (Fechado/Aberto/Meio-Aberto)
470
+ - Status do limite de taxa e bloqueios ativos
471
+ - Estatísticas de cache de assinatura
472
+ - Telemetria de latência (p50/p95/p99) + cache de prompt
473
+ - Redefinir o status de saúde com um clique
474
+
475
+ ### 🔧 Parque do Tradutor
476
+
477
+ OmniRoute inclui um poderoso Translator Playground integrado com **4 modos** para depuração, teste e monitoramento de traduções de API:
478
+
479
+ | Modo | Descrição |
480
+ | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
481
+ | **💻 Parque Infantil** | Tradução direta de formato — cole qualquer corpo de solicitação de API e veja instantaneamente como o OmniRoute o traduz entre formatos de provedor (OpenAI ↔ Claude ↔ Gemini ↔ API de respostas). Inclui modelos de exemplo e detecção automática de formato. |
482
+ | **💬 Testador de bate-papo** | Envie solicitações de chat reais por meio do OmniRoute e veja o percurso completo: sua entrada, a solicitação traduzida, a resposta do provedor e a resposta traduzida de volta. Inestimável para validar o roteamento combinado. |
483
+ | **🧪 Bancada de testes** | Modo de teste em lote — defina vários casos de teste com diferentes entradas e resultados esperados, execute-os todos de uma vez e compare os resultados entre provedores e modelos. |
484
+ | **📱Monitoramento ao vivo** | Monitoramento de solicitações em tempo real: observe as solicitações recebidas conforme elas fluem pelo OmniRoute, veja as traduções de formato acontecendo ao vivo e identifique problemas instantaneamente. |
485
+
486
+ **Acesso:** Painel → Tradutor (barra lateral)
487
+
488
+ ### 💾 Sincronização na nuvem
489
+
490
+ - Sincronize provedores, combos e configurações entre dispositivos
491
+ - Sincronização automática em segundo plano
492
+ - Armazenamento criptografado seguro
493
+
494
+ </details>
495
+
496
+ ---
497
+
498
+ ## 📖 Guia de configuração
499
+
500
+ <details>
501
+ <summary><b>💳 Provedores de assinatura</b></summary>
502
+
503
+ ### Código 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
+ **Dica profissional:** Use o Opus para tarefas complexas e o Sonnet para velocidade. OmniRoute rastreia cota por modelo!
517
+
518
+ ### Codex OpenAI (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 (GRÁTIS 180K/mês!)
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
+ **Melhor valor:** Grande nível gratuito! Use isso antes dos níveis pagos.
543
+
544
+ ### GitHub Copiloto
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>🔑 Provedores de chave de API</b></summary>
561
+
562
+ ### NVIDIA NIM (1000 créditos GRÁTIS!)
563
+
564
+ 1. Inscreva-se: [build.nvidia.com](https://build.nvidia.com)
565
+ 2. Obtenha uma chave de API gratuita (1.000 créditos de inferência incluídos)
566
+ 3. Painel → Adicionar Provedor → NVIDIA NIM:
567
+ - Chave API: `nvapi-your-key`
568
+
569
+ **Modelos:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` e mais de 50
570
+
571
+ **Dica profissional:** API compatível com OpenAI — funciona perfeitamente com a tradução de formato do OmniRoute!
572
+
573
+ ### DeepSeek
574
+
575
+ 1. Inscreva-se: [platform.deepseek.com](https://platform.deepseek.com)
576
+ 2. Obtenha a chave API
577
+ 3. Painel → Adicionar provedor → DeepSeek
578
+
579
+ **Modelos:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
580
+
581
+ ### Groq (nível gratuito disponível!)
582
+
583
+ 1. Inscreva-se: [console.groq.com](https://console.groq.com)
584
+ 2. Obtenha a chave API (nível gratuito incluído)
585
+ 3. Painel → Adicionar Provedor → Groq
586
+
587
+ **Modelos:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
588
+
589
+ **Dica profissional:** Inferência ultrarrápida — melhor para codificação em tempo real!
590
+
591
+ ### OpenRouter (mais de 100 modelos)
592
+
593
+ 1. Inscreva-se: [openrouter.ai](https://openrouter.ai)
594
+ 2. Obtenha a chave API
595
+ 3. Painel → Adicionar Provedor → OpenRouter
596
+
597
+ **Modelos:** acesse mais de 100 modelos de todos os principais fornecedores por meio de uma única chave de API.
598
+
599
+ </details>
600
+
601
+ <details>
602
+ <summary><b>💰 Provedores baratos (backup)</b></summary>
603
+
604
+ ### GLM-4.7 (redefinição diária, US$ 0,6/1 milhão)
605
+
606
+ 1. Inscreva-se: [Zhipu AI](https://open.bigmodel.cn/)
607
+ 2. Obtenha a chave API do plano de codificação
608
+ 3. Painel → Adicionar chave API:
609
+ - Provedor: `glm`
610
+ - Chave API: `your-key`
611
+
612
+ **Usar:** `glm/glm-4.7`
613
+
614
+ **Dica profissional:** O plano de codificação oferece cota 3× com custo de 1/7! Redefinir diariamente às 10h.
615
+
616
+ ### MiniMax M2.1 (redefinição de 5h, US$ 0,20/1 milhão)
617
+
618
+ 1. Inscreva-se: [MiniMax](https://www.minimax.io/)
619
+ 2. Obtenha a chave API
620
+ 3. Painel → Adicionar chave API
621
+
622
+ **Usar:** `minimax/MiniMax-M2.1`
623
+
624
+ **Dica profissional:** Opção mais barata para contexto longo (1 milhão de tokens)!
625
+
626
+ ### Kimi K2 (US$ 9/mês fixo)
627
+
628
+ 1. Inscreva-se: [Moonshot AI](https://platform.moonshot.ai/)
629
+ 2. Obtenha a chave API
630
+ 3. Painel → Adicionar chave API
631
+
632
+ **Usar:** `kimi/kimi-latest`
633
+
634
+ **Dica profissional:** $9 fixos/mês para 10 milhões de tokens = $0,90/custo efetivo de 1 milhão!
635
+
636
+ </details>
637
+
638
+ <details>
639
+ <summary><b>🆓 Provedores GRATUITOS (backup de emergência)</b></summary>
640
+
641
+ ### iFlow (8 modelos GRATUITOS)
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 modelos GRATUITOS)
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 GRÁTIS)
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>🎨 Criar Combos</b></summary>
684
+
685
+ ### Exemplo 1: Maximize a assinatura → Backup barato
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
+ ### Exemplo 2: somente gratuito (custo 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>🔧 Integração 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
+ ### Código Cláudio
726
+
727
+ Use a página **Ferramentas CLI** no painel para configuração com um clique ou edite `~/.claude/settings.json` manualmente.
728
+
729
+ ### CLI do Codex
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ção 1 — Painel (recomendado):**
741
+
742
+ ```
743
+ Dashboard → CLI Tools → OpenClaw → Select Model → Apply
744
+ ```
745
+
746
+ **Opção 2 — Manual:** Editar `~/.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
+ > **Observação:** OpenClaw só funciona com OmniRoute local. Use `127.0.0.1` em vez de `localhost` para evitar problemas de resolução de IPv6.
763
+
764
+ ### Cline / Continuar / 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
+ ## 📊 Modelos Disponíveis
779
+
780
+ <details>
781
+ <summary><b>Ver todos os modelos disponíveis</b></summary>
782
+
783
+ **Código Claude (`cc/`)** - Pro/Máx:
784
+
785
+ - `cc/claude-opus-4-6`
786
+ - `cc/claude-sonnet-4-5-20250929`
787
+ - `cc/claude-haiku-4-5-20251001`
788
+
789
+ **Códice (`cx/`)** - Plus/Pro:
790
+
791
+ - `cx/gpt-5.2-codex`
792
+ - `cx/gpt-5.1-codex-max`
793
+
794
+ **Gemini CLI (`gc/`)** - GRATUITO:
795
+
796
+ - `gc/gemini-3-flash-preview`
797
+ - `gc/gemini-2.5-pro`
798
+
799
+ **Copiloto do GitHub (`gh/`)**:
800
+
801
+ - `gh/gpt-5`
802
+ - `gh/claude-4.5-sonnet`
803
+
804
+ **NVIDIA NIM (`nvidia/`)** - Créditos GRATUITOS:
805
+
806
+ - `nvidia/llama-3.3-70b-instruct`
807
+ - `nvidia/mistral-7b-instruct`
808
+ - Mais de 50 modelos em [build.nvidia.com](https://build.nvidia.com)
809
+
810
+ **GLM (`glm/`)** - US$ 0,6/1 milhão:
811
+
812
+ - `glm/glm-4.7`
813
+
814
+ **MiniMax (`minimax/`)** - US$ 0,2/1 milhão:
815
+
816
+ - `minimax/MiniMax-M2.1`
817
+
818
+ **iFlow (`if/`)** - GRATUITO:
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/`)** - GRATUITO:
827
+
828
+ - `qw/qwen3-coder-plus`
829
+ - `qw/qwen3-coder-flash`
830
+
831
+ **Kiro (`kr/`)** - GRATUITO:
832
+
833
+ - `kr/claude-sonnet-4.5`
834
+ - `kr/claude-haiku-4.5`
835
+
836
+ **OpenRouter (`or/`)** - mais de 100 modelos:
837
+
838
+ - `or/anthropic/claude-4-sonnet`
839
+ - `or/google/gemini-2.5-pro`
840
+ - Qualquer modelo de [openrouter.ai/models](https://openrouter.ai/models)
841
+
842
+ </details>
843
+
844
+ ---
845
+
846
+ ## 🧪 Avaliações (Evals)
847
+
848
+ OmniRoute inclui uma estrutura de avaliação integrada para testar a qualidade da resposta do LLM em relação a um conjunto dourado. Acesse-o em **Analytics → Evals** no painel.
849
+
850
+ ### Conjunto Dourado Integrado
851
+
852
+ O "OmniRoute Golden Set" pré-carregado contém 10 casos de teste cobrindo:
853
+
854
+ - Saudações, matemática, geografia, geração de código
855
+ - Conformidade com o formato JSON, tradução, remarcação
856
+ - Recusa de segurança (conteúdo prejudicial), contagem, lógica booleana
857
+
858
+ ### Estratégias de Avaliação
859
+
860
+ | Estratégia | Descrição | Exemplo |
861
+ | ---------- | --------------------------------------------------------------------------- | -------------------------------- |
862
+ | `exact` | A saída deve corresponder exatamente | `"4"` |
863
+ | `contains` | A saída deve conter substring (sem distinção entre maiúsculas e minúsculas) | `"Paris"` |
864
+ | `regex` | A saída deve corresponder ao padrão regex | `"1.*2.*3"` |
865
+ | `custom` | Função JS personalizada retorna verdadeiro/falso | `(output) => output.length > 10` |
866
+
867
+ ---
868
+
869
+ ## 🔐 OAuth em Servidor Remoto (Remote OAuth Setup)
870
+
871
+ <a name="oauth-em-servidor-remoto"></a>
872
+
873
+ > **⚠️ IMPORTANTE para usuários com OmniRoute em VPS/Docker/servidor remoto**
874
+
875
+ ### Por que o OAuth do Antigravity / Gemini CLI falha em servidores remotos?
876
+
877
+ Os provedores **Antigravity** e **Gemini CLI** usam **Google OAuth 2.0** para autenticação. O Google exige que um `redirect_uri` usado no fluxo OAuth seja **exatamente** uma das URIs pré-cadastradas no Google Cloud Console do aplicativo.
878
+
879
+ As credenciais OAuth incorporadas no OmniRoute estão cadastradas **apenas para `localhost`**. Quando você acessa o OmniRoute em um servidor remoto (ex: `https://omniroute.meuservidor.com`), o Google rejeita a autenticação com:
880
+
881
+ ```
882
+ Error 400: redirect_uri_mismatch
883
+ ```
884
+
885
+ ### Solução: Configure suas próprias credenciais OAuth
886
+
887
+ Você precisa criar um **OAuth 2.0 Client ID** no Google Cloud Console com o URI do seu servidor.
888
+
889
+ ####Passo a passo
890
+
891
+ **1. Acesse o Console do Google Cloud**
892
+
893
+ Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials)
894
+
895
+ **2. Crie um novo ID de cliente OAuth 2.0**
896
+
897
+ - Clique em **"+ Criar credenciais"** → **"ID do cliente OAuth"**
898
+ - Tipo de aplicativo: **"Aplicativo Web"**
899
+ - Nome: escolha qualquer nome (ex: `OmniRoute Remote`)
900
+
901
+ **3. Adicionar como URIs de redirecionamento autorizados**
902
+
903
+ No campo **"URIs de redirecionamento autorizados"**, adicionado:
904
+
905
+ ```
906
+ https://seu-servidor.com/callback
907
+ ```
908
+
909
+ > Substitua `seu-servidor.com` pelo domínio ou IP do seu servidor (inclua a porta se necessário, ex: `http://45.33.32.156:20128/callback`).
910
+
911
+ **4. Salve e copie as credenciais**
912
+
913
+ Após criar, o Google mostrará o **Client ID** e o **Client Secret**.
914
+
915
+ **5. Configurar como variáveis de ambiente**
916
+
917
+ No seu `.env` (ou nas variáveis de ambiente 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 conectar novamente**
941
+
942
+ Painel → Provedores → Antigravidade (ou Gemini CLI) → OAuth
943
+
944
+ Agora o Google redirecionará corretamente para `https://seu-servidor.com/callback` e a autenticação funcionará.
945
+
946
+ ---
947
+
948
+ ### Solução alternativa temporária (sem configurar credenciais próprias)
949
+
950
+ Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo **manual de URL**:
951
+
952
+ 1. O OmniRoute abrirá uma URL de autorização do Google
953
+ 2. Após você autorizar, o Google tentará redirecionar para `localhost` (que falha no servidor remoto)
954
+ 3. **Copie a URL completa** da barra de endereço do seu navegador (mesmo que a página não carregue)
955
+ 4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute
956
+ 5. Clique em **"Conectar"**
957
+
958
+ > Esta solução alternativa funciona porque o código de autorização na URL é válido, independentemente do redirecionamento ter sido carregado ou não.
959
+
960
+ ---
961
+
962
+ ## 🐛 Solução de problemas
963
+
964
+ <details>
965
+ <summary><b>Clique para expandir o guia de solução de problemas</b></summary>
966
+
967
+ **"O modelo de linguagem não forneceu mensagens"**
968
+
969
+ - Cota do provedor esgotada → Verifique o rastreador de cota do painel
970
+ - Solução: use o combo substituto ou mude para um nível mais barato
971
+
972
+ ** Limitação de taxa **
973
+
974
+ - Cota de assinatura esgotada → Fallback para GLM/MiniMax
975
+ - Adicionar combinação: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
976
+
977
+ **O token OAuth expirou**
978
+
979
+ - Atualizado automaticamente pelo OmniRoute
980
+ - Se os problemas persistirem: Painel → Provedor → Reconectar
981
+
982
+ **Custos elevados**
983
+
984
+ - Verifique as estatísticas de uso em Painel → Custos
985
+ - Mude o modelo primário para GLM/MiniMax
986
+ - Use o nível gratuito (Gemini CLI, iFlow) para tarefas não críticas
987
+
988
+ **Painel abre na porta errada**
989
+
990
+ - Definir `PORT=20128` e `NEXT_PUBLIC_BASE_URL=http://localhost:20128`
991
+
992
+ **Erros de sincronização na nuvem**
993
+
994
+ - Verifique `BASE_URL` aponta para sua instância em execução
995
+ - Verifique os pontos `CLOUD_URL` para o endpoint de nuvem esperado
996
+ - Mantenha os valores `NEXT_PUBLIC_*` alinhados com os valores do lado do servidor
997
+
998
+ **Primeiro login não funciona**
999
+
1000
+ - Verifique `INITIAL_PASSWORD` em `.env`
1001
+ - Se não definida, a senha substituta é `123456`
1002
+
1003
+ **Sem registros de solicitação**
1004
+
1005
+ - Definir `ENABLE_REQUEST_LOGS=true` em `.env`
1006
+
1007
+ **O teste de conexão mostra "Inválido" para provedores compatíveis com OpenAI**
1008
+
1009
+ - Muitos provedores não expõem um endpoint `/models`
1010
+ - OmniRoute v1.0.6+ inclui validação de fallback por meio de conclusões de chat
1011
+ - Certifique-se de que o URL base inclua o sufixo `/v1`
1012
+
1013
+ </details>
1014
+
1015
+ ---
1016
+
1017
+ ## 🛠️ Pilha de tecnologia
1018
+
1019
+ - **Tempo de execução**: Node.js 18–22 LTS (⚠️ Node.js 24+ **não é compatível** — `better-sqlite3` binários nativos são incompatíveis)
1020
+ - **Idioma**: TypeScript 5.9 — **100% TypeScript** em `src/` e `open-sse/` (v1.0.6)
1021
+ - **Estrutura**: Next.js 16 + React 19 + Tailwind CSS 4
1022
+ - **Banco de dados**: LowDB (JSON) + SQLite (estado do domínio + logs de proxy)
1023
+ - **Streaming**: eventos enviados pelo servidor (SSE)
1024
+ - **Autenticação**: OAuth 2.0 (PKCE) + JWT + chaves de API
1025
+ - **Testes**: executor de testes Node.js (mais de 368 testes de unidade)
1026
+ - **CI/CD**: GitHub Actions (publicação automática de npm + Docker Hub no lançamento)
1027
+ - **Site**: [omniroute.online](https://omniroute.online)
1028
+ - **Pacote**: [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
+ - **Resiliência**: Disjuntor, espera exponencial, rebanho anti-trovão, falsificação de TLS
1031
+
1032
+ ---
1033
+
1034
+ ## 📖 Documentação
1035
+
1036
+ | Documento | Descrição |
1037
+ | -------------------------------------------- | ------------------------------------------------------ |
1038
+ | [User Guide](docs/USER_GUIDE.md) | Provedores, combos, integração CLI, implantação |
1039
+ | [API Reference](docs/API_REFERENCE.md) | Todos os endpoints com exemplos |
1040
+ | [Troubleshooting](docs/TROUBLESHOOTING.md) | Problemas e soluções comuns |
1041
+ | [Architecture](docs/ARCHITECTURE.md) | Arquitetura do sistema e componentes internos |
1042
+ | [Contributing](CONTRIBUTING.md) | Configuração e diretrizes de desenvolvimento |
1043
+ | [OpenAPI Spec](docs/openapi.yaml) | Especificação OpenAPI 3.0 |
1044
+ | [Security Policy](SECURITY.md) | Relatórios de vulnerabilidades e práticas de segurança |
1045
+ | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Guia completo: configuração de VM + nginx + Cloudflare |
1046
+ | [Features Gallery](docs/FEATURES.md) | Tour visual do painel com capturas de tela |
1047
+
1048
+ ### 📸 Visualização do painel
1049
+
1050
+ <details>
1051
+ <summary><b>Clique para ver as capturas de tela do painel</b></summary>
1052
+
1053
+ | Página | Captura de tela |
1054
+ | -------------------- | ------------------------------------------------- |
1055
+ | **Fornecedores** | ![Providers](docs/screenshots/01-providers.png) |
1056
+ | **Combos** | ![Combos](docs/screenshots/02-combos.png) |
1057
+ | **Análise** | ![Analytics](docs/screenshots/03-analytics.png) |
1058
+ | **Saúde** | ![Health](docs/screenshots/04-health.png) |
1059
+ | **Tradutor** | ![Translator](docs/screenshots/05-translator.png) |
1060
+ | **Configurações** | ![Settings](docs/screenshots/06-settings.png) |
1061
+ | **Ferramentas CLI** | ![CLI Tools](docs/screenshots/07-cli-tools.png) |
1062
+ | **Registros de uso** | ![Usage](docs/screenshots/08-usage.png) |
1063
+ | **Ponto final** | ![Endpoint](docs/screenshots/09-endpoint.png) |
1064
+
1065
+ </details>
1066
+
1067
+ ---
1068
+
1069
+ ## 🗺️ Roteiro
1070
+
1071
+ OmniRoute tem **210+ recursos planejados** em diversas fases de desenvolvimento. Aqui estão as principais áreas:
1072
+
1073
+ | Categoria | Recursos planejados | Destaques |
1074
+ | --------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------ |
1075
+ | 🧠 **Roteamento e Inteligência** | 25+ | Roteamento de menor latência, roteamento baseado em tags, simulação de cota, seleção de conta P2C |
1076
+ | 🔒 **Segurança e Conformidade** | 20+ | Proteção SSRF, camuflagem de credenciais, limite de taxa por endpoint, escopo de chave de gerenciamento |
1077
+ | 📊 **Observabilidade** | 15+ | Integração OpenTelemetry, monitoramento de cotas em tempo real, rastreamento de custos por modelo |
1078
+ | 🔄 **Integrações com Provedores** | 20+ | Registro de modelo dinâmico, resfriamento de provedor, Codex multicontas, análise de cotas do Copilot |
1079
+ | ⚡ **Desempenho** | 15+ | Camada de cache dupla, cache de prompt, cache de resposta, manutenção de atividade de streaming, API em lote |
1080
+ | 🌐 **Ecossistema** | 10+ | API WebSocket, configuração hot-reload, armazenamento de configuração distribuído, modo comercial |
1081
+
1082
+ ### 🔜 Em breve
1083
+
1084
+ - 🔗 **Integração OpenCode** — Suporte de provedor nativo para o IDE de codificação OpenCode AI
1085
+ - 🔗 **Integração TRAE** — Suporte total para a estrutura de desenvolvimento TRAE AI
1086
+ - 📦 **API Batch** — Processamento assíncrono em lote para solicitações em massa
1087
+ - 🎯 **Roteamento baseado em tags** — Roteie solicitações com base em tags personalizadas e metadados
1088
+ - 💰 **Estratégia de custo mais baixo** — Selecione automaticamente o provedor mais barato disponível
1089
+
1090
+ > 📝 Especificações completas de recursos disponíveis em [link](docs/new-features/) (217 especificações detalhadas)
1091
+
1092
+ ---
1093
+
1094
+ ## 📧 Suporte
1095
+
1096
+ > 💬 **Junte-se à nossa comunidade!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Obtenha ajuda, compartilhe dicas e fique atualizado.
1097
+
1098
+ - **Site**: [omniroute.online](https://omniroute.online)
1099
+ - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
1100
+ - **Problemas**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
1101
+ - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
1102
+ - **Projeto Original**: [9router by decolua](https://github.com/decolua/9router)
1103
+
1104
+ ---
1105
+
1106
+ ## 👥 Colaboradores
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
+ ### Como contribuir
1111
+
1112
+ 1. Bifurque o repositório
1113
+ 2. Crie sua ramificação de recursos (`git checkout -b feature/amazing-feature`)
1114
+ 3. Confirme suas alterações (`git commit -m 'Add amazing feature'`)
1115
+ 4. Envie para a ramificação (`git push origin feature/amazing-feature`)
1116
+ 5. Abra uma solicitação pull
1117
+
1118
+ Consulte [CONTRIBUTING.md](CONTRIBUTING.md) para obter diretrizes detalhadas.
1119
+
1120
+ ### Lançando uma nova versão
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
+ ## 📊 História das Estrelas
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
+ ## 🙏 Agradecimentos
1142
+
1143
+ Agradecimentos especiais a **[9router](https://github.com/decolua/9router)** de **[decolua](https://github.com/decolua)** — o projeto original que inspirou este fork. OmniRoute se baseia nessa base incrível com recursos adicionais, APIs multimodais e uma reescrita completa do TypeScript.
1144
+
1145
+ Agradecimentos especiais a **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — a implementação Go original que inspirou esta versão JavaScript.
1146
+
1147
+ ---
1148
+
1149
+ ## 📄 Licença
1150
+
1151
+ Licença MIT - consulte [LICENSE](LICENSE) para obter detalhes.
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 codificar. Roteamento inteligente para **modelos de IA GRATUITOS e de baixo custo** com fallback automático.
1162
+
1163
+ _Seu proxy universal de API — um endpoint, mais de 36 provedores, tempo de inatividade zero._
1164
+
1165
+ ### 🌐 Internacionalização (i18n)
1166
+
1167
+ O painel do OmniRoute suporta **múltiplos idiomas**. Atualmente disponível em:
1168
+
1169
+ | Idioma | Código | Estado |
1170
+ | --------------------- | ------- | ----------- |
1171
+ | 🇺🇸 Inglês | `en` | ✅ Completo |
1172
+ | 🇧🇷 Português (Brasil) | `pt-BR` | ✅ Completo |
1173
+
1174
+ **Para alterar o idioma:** Clique no seletor de idioma (🇺🇸 PT) no cabeçalho do painel → selecione o idioma desejado.
1175
+
1176
+ **Para adicionar um novo idioma:**
1177
+
1178
+ 1. Crie `src/i18n/messages/{codigo}.json` baseado em `en.json`
1179
+ 2. Adicione o código em `src/i18n/config.ts` → `LOCALES` e `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
+ ### 🔑 Funcionalidades Principais
1201
+
1202
+ - **36+ provedores de IA** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek, e mais
1203
+ - **Roteamento inteligente** — Fallback automático entre provedores
1204
+ - **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente
1205
+ - **Multi-conta** — Múltiplas contas por provedor com seleção inteligente
1206
+ - **Cache semântico** — Reduz custos e latência
1207
+ - **OAuth automático** — Tokens renovam automaticamente
1208
+ - **Combos personalizados** — 6 estratégias de roteamento
1209
+ - **Dashboard completo** — Monitoramento, logs, análises, configurações
1210
+ - **Ferramentas CLI** — Configure Claude Code, Codex, Cursor, Cline com um clique
1211
+ - **100% TypeScript** — Código limpo e digitado
1212
+
1213
+ ### 📖 Documentação
1214
+
1215
+ | Documento | Descrição |
1216
+ | ----------------------------------------------- | -------------------------------------------- |
1217
+ | [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, combos, CLI, implantar |
1218
+ | [Referência da API](docs/API_REFERENCE.md) | Todos os endpoints com exemplos |
1219
+ | [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problemas comuns e soluções |
1220
+ | [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura e portas do sistema |
1221
+ | [Contribuição](CONTRIBUTING.md) | Configuração de desenvolvimento e diretrizes |
1222
+ | [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Guia completo: VM + nginx + Cloudflare |
1223
+
1224
+ ### 📧Suporte
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**: [omniroute.online](https://omniroute.online)
1229
+ - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
1230
+ - **Problemas**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
1231
+
1232
+ ---
1233
+
1234
+ <div align="center">
1235
+ <sub>Construído com ❤️ para desenvolvedores que codificam 24 horas por dia, 7 dias por semana</sub>
1236
+ <br/>
1237
+ <sub><a href="https://omniroute.online">omniroute.online</a></sub>
1238
+ </div>