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.phi.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 — Ang Libreng AI Gateway
5
+
6
+ 🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)**
7
+
8
+ ### Huwag kailanman ihinto ang coding. Smart routing sa **LIBRE at murang mga modelo ng AI** na may awtomatikong fallback.
9
+
10
+ _Iyong unibersal na API proxy — isang endpoint, 36+ provider, zero downtime._
11
+
12
+ **Mga Pagkumpleto ng Chat • Mga Pag-embed • Pagbuo ng Imahe • Audio • Pag-rerank • 100% TypeScript**
13
+
14
+ ---
15
+
16
+ ### 🤖 Libreng AI Provider para sa iyong mga paboritong coding agent
17
+
18
+ _Ikonekta ang anumang AI-powered IDE o CLI tool sa pamamagitan ng OmniRoute — libreng API gateway para sa walang limitasyong coding._
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>📡 Kumonekta ang lahat ng ahente sa pamamagitan ng <code>http://localhost:20128/v1</code> o <code>http://cloud.omniroute.online/v1 >http://cloud.omniroute.online/v1 —iisang modelo at hindi config. quota</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
+ ## 🤔 Bakit OmniRoute?
116
+
117
+ **Ihinto ang pag-aaksaya ng pera at pag-abot sa mga limitasyon:**
118
+
119
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Mag-e-expire ang quota ng subscription na hindi nagamit bawat buwan
120
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Pinipigilan ka ng mga limitasyon sa rate sa mid-coding
121
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Mga Mamahaling API ($20-50/buwan bawat provider)
122
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Manu-manong paglipat sa pagitan ng mga provider
123
+
124
+ **Sumalutas ito ng OmniRoute:**
125
+
126
+ - ✅ **I-maximize ang mga subscription** - Subaybayan ang quota, gamitin ang bawat bit bago i-reset
127
+ - ✅ **Auto fallback** - Subscription → API Key → Mura → Libre, zero downtime
128
+ - ✅ **Multi-account** - Round-robin sa pagitan ng mga account sa bawat provider
129
+ - ✅ **Universal** - Gumagana sa Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, anumang CLI tool
130
+
131
+ ---
132
+
133
+ ## 🔄 Paano Ito Gumagana
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
+ ## ⚡ Mabilis na Pagsisimula
163
+
164
+ **1. I-install sa buong mundo:**
165
+
166
+ ```bash
167
+ npm install -g omniroute
168
+ omniroute
169
+ ```
170
+
171
+ 🎉 Magbubukas ang dashboard sa `http://localhost:20128`
172
+
173
+ | Utos | Paglalarawan |
174
+ | ----------------------- | --------------------------------------- |
175
+ | `omniroute` | Simulan ang server (default port 20128) |
176
+ | `omniroute --port 3000` | Gumamit ng custom na port |
177
+ | `omniroute --no-open` | Huwag awtomatikong buksan ang browser |
178
+ | `omniroute --help` | Ipakita ang tulong |
179
+
180
+ **2. Ikonekta ang isang LIBRENG provider:**
181
+
182
+ Dashboard → Mga Provider → Ikonekta ang **Claude Code** o **Antigravity** → OAuth login → Tapos na!
183
+
184
+ **3. Gamitin sa iyong CLI tool:**
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
+ **Iyon na!** Magsimulang mag-coding gamit ang LIBRENG mga modelo ng AI.
194
+
195
+ **Alternatibong — tumakbo mula sa pinagmulan:**
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
+ Available ang OmniRoute bilang isang pampublikong larawan ng Docker sa [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute).
208
+
209
+ **Mabilis na pagtakbo:**
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
+ **Na may environment file:**
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
+ **Gumagamit ng 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
+ | Larawan | Tag | Sukat | Paglalarawan |
246
+ | ------------------------ | -------- | ------ | ------------------------------ |
247
+ | `diegosouzapw/omniroute` | `latest` | ~250MB | Pinakabagong stable na release |
248
+ | `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Kasalukuyang bersyon |
249
+
250
+ ---
251
+
252
+ ## 💰 Pagpepresyo sa isang Sulyap
253
+
254
+ | Tier | Provider | Gastos | I-reset ang Quota | Pinakamahusay Para sa |
255
+ | ------------------- | ----------------- | ------------------------ | -------------------- | ------------------------------- |
256
+ | **💳 SUBSCRIPTION** | Claude Code (Pro) | $20/buwan | 5h + lingguhan | Naka-subscribe na |
257
+ | | Codex (Plus/Pro) | $20-200/buwan | 5h + lingguhan | Mga user ng OpenAI |
258
+ | | Gemini CLI | **LIBRE** | 180K/buwan + 1K/araw | Lahat! |
259
+ | | GitHub Copilot | $10-19/buwan | Buwanang | Mga user ng GitHub |
260
+ | **🔑 API KEY** | NVIDIA NIM | **LIBRE** (1000 credits) | Isang beses | Libreng tier na pagsubok |
261
+ | | DeepSeek | Pay-per-use | Wala | Pinakamahusay na presyo/kalidad |
262
+ | | Groq | Libreng tier + bayad | Limitado ang rate | Napakabilis na hinuha |
263
+ | | xAI (Grok) | Pay-per-use | Wala | Mga modelong Grok |
264
+ | | Mistral | Libreng tier + bayad | Limitado ang rate | European AI |
265
+ | | OpenRouter | Pay-per-use | Wala | 100+ modelo |
266
+ | **💰 MURA** | GLM-4.7 | $0.6/1M | Araw-araw 10AM | Backup ng badyet |
267
+ | | MiniMax M2.1 | $0.2/1M | 5 oras na rolling | Pinaka murang opsyon |
268
+ | | Kimi K2 | $9/buwan flat | 10M token/buwan | Nahuhulaang gastos |
269
+ | **🆓 LIBRE** | iFlow | $0 | Walang limitasyong | 8 mga modelong libre |
270
+ | | Qwen | $0 | Walang limitasyong | 3 mga modelong libre |
271
+ | | Kiro | $0 | Walang limitasyong | Claude libre |
272
+
273
+ **💡 Pro Tip:** Magsimula sa Gemini CLI (180K libre/buwan) + iFlow (walang limitasyong libre) combo = $0 na halaga!
274
+
275
+ ---
276
+
277
+ ## 🎯 Use Cases
278
+
279
+ ### Case 1: "May subscription ako sa Claude Pro"
280
+
281
+ **Problema:** Nag-e-expire ang quota nang hindi nagamit, mga limitasyon sa rate sa panahon ng mabigat na coding
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
+ ### Case 2: "Gusto ko ng zero cost"
294
+
295
+ **Problema:** Hindi kayang bayaran ang mga subscription, kailangan ng maaasahang AI coding
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
+ ### Case 3: "Kailangan ko ng 24/7 coding, walang mga pagkaantala"
308
+
309
+ **Problema:** Mga deadline, hindi kayang bayaran ang downtime
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
+ ### Kaso 4: "Gusto ko ng LIBRENG AI sa OpenClaw"
323
+
324
+ **Problema:** Kailangan ng AI assistant sa mga app sa pagmemensahe, ganap na libre
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
+ ## 💡 Mga Pangunahing Tampok
339
+
340
+ ### 🧠 Core Routing at Intelligence
341
+
342
+ | Tampok | Ano ang Ginagawa Nito |
343
+ | ------------------------------- | -------------------------------------------------------------------------------------------- |
344
+ | 🎯 **Smart 4-Tier Fallback** | Auto-ruta: Subscription → API Key → Mura → Libre |
345
+ | 📊 **Real-Time Quota Tracking** | Live na bilang ng token + reset countdown bawat provider |
346
+ | 🔄 **Format Translation** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro seamless + response sanitization |
347
+ | 👥 **Suporta sa Multi-Account** | Maramihang account sa bawat provider na may matalinong pagpili |
348
+ | 🔄 **Auto Token Refresh** | Awtomatikong nagre-refresh ang mga token ng OAuth sa muling pagsubok |
349
+ | 🎨 **Mga Custom na Combos** | 6 na diskarte: fill-first, round-robin, p2c, random, hindi gaanong ginagamit, cost-optimized |
350
+ | 🧩 **Mga Custom na Modelo** | Magdagdag ng anumang ID ng modelo sa anumang provider |
351
+ | 🌐 **Wildcard Router** | Iruta ang `provider/*` na mga pattern sa anumang provider nang dynamic na |
352
+ | 🧠 **Badyet sa Pag-iisip** | Passthrough, auto, custom, at adaptive mode para sa mga modelo ng pangangatwiran |
353
+ | 💬 **System Prompt Injection** | Inilapat ang global system prompt sa lahat ng kahilingan |
354
+ | 📄 **Responses API** | Buong OpenAI Responses API (`/v1/responses`) na suporta para sa Codex |
355
+
356
+ ### 🎵 Mga Multi-Modal na API
357
+
358
+ | Tampok | Ano ang Ginagawa Nito |
359
+ | -------------------------- | ------------------------------------------------------------ |
360
+ | 🖼️ **Pagbuo ng Larawan** | `/v1/images/generations` — 4 na provider, 9+ na modelo |
361
+ | 📐 **Mga Pag-embed** | `/v1/embeddings` — 6 na provider, 9+ na modelo |
362
+ | 🎤 **Audio Transcription** | `/v1/audio/transcriptions` — Whisper-compatible |
363
+ | 🔊 **Text-to-Speech** | `/v1/audio/speech` — Multi-provider audio synthesis |
364
+ | 🛡️ **Mga Pag-moderate** | `/v1/moderations` — Mga pagsusuri sa kaligtasan ng nilalaman |
365
+ | 🔀 **Reranking** | `/v1/rerank` — Muling pagraranggo ng kaugnayan ng dokumento |
366
+
367
+ ### 🛡️ Katatagan at Seguridad
368
+
369
+ | Tampok | Ano ang Ginagawa Nito |
370
+ | ----------------------------------------- | ------------------------------------------------------------------------------------- |
371
+ | 🔌 **Circuit Breaker** | Awtomatikong buksan/isara ang bawat provider na may mga na-configure na threshold |
372
+ | 🛡️ **Anti-Thundering Herd** | Mutex + semaphore rate-limit para sa mga API key provider |
373
+ | 🧠 **Semantic Cache** | Binabawasan ng two-tier na cache (pirma + semantiko) ang gastos at latency |
374
+ | ⚡ **Humiling ng Idempotency** | 5s dedup window para sa mga duplicate na kahilingan |
375
+ | 🔒 **TLS Fingerprint Spoofing** | I-bypass ang TLS-based na bot detection sa pamamagitan ng wreq-js |
376
+ | 🌐 **Pag-filter ng IP** | Allowlist/blocklist para sa API access control |
377
+ | 📊 **Mga Nae-edit na Limitasyon sa Rate** | Configurable RPM, min gap, at max na kasabay sa antas ng system |
378
+ | 🛡 **Proteksyon sa Endpoint ng API** | Auth gating + pagharang ng provider para sa `/models` endpoint |
379
+ | 🔒 **Proxy Visibility** | Mga color-coded na badge: 🟢 global, 🟡 provider, 🔵 per-connection na may IP display |
380
+ | 🌐 **3-Level Proxy Config** | I-configure ang mga proxy sa global, per-provider, o per-connection level |
381
+
382
+ ### 📊 Pagmamasid at Analytics
383
+
384
+ | Tampok | Ano ang Ginagawa Nito |
385
+ | ------------------------------- | -------------------------------------------------------------------------------------------- |
386
+ | 📝 **Kahilingan sa Pag-log** | Debug mode na may buong kahilingan/tugon logs |
387
+ | 💾 **SQLite Proxy Logs** | Ang mga paulit-ulit na proxy log ay nakaligtas sa pag-restart ng server |
388
+ | 📊 **Analytics Dashboard** | Recharts-powered: mga stat card, chart ng paggamit ng modelo, talahanayan ng provider |
389
+ | 📈 **Pagsubaybay sa Pag-unlad** | Mag-opt-in sa mga kaganapan sa pag-usad ng SSE para sa streaming |
390
+ | 🧪 **Mga Pagsusuri sa LLM** | Golden set testing na may 4 na diskarte sa pagtutugma |
391
+ | 🔍 **Humiling ng Telemetry** | p50/p95/p99 latency aggregation + X-Request-Id tracing |
392
+ | 📋 **Dashboard ng Mga Log** | Pinag-isang 4-tab na pahina: Mga Log ng Kahilingan, Mga Proxy Log, Mga Log ng Audit, Console |
393
+ | 🖥️ **Console Log Viewer** | Real-time na terminal-style viewer na may level filter, search, auto-scroll |
394
+ | 📑 **File-Based Logging** | Kinukuha ng Console interceptor ang lahat ng output sa JSON log file na may pag-ikot |
395
+ | 🏥 **Dashboard ng Kalusugan** | System uptime, circuit breaker states, lockouts, cache stats |
396
+ | 💰 **Pagsubaybay sa Gastos** | Pamamahala ng badyet + configuration ng pagpepresyo sa bawat modelo |
397
+
398
+ ### ☁️ Deployment at Pag-sync
399
+
400
+ | Tampok | Ano ang Ginagawa Nito |
401
+ | ----------------------------------- | ----------------------------------------------------------------------------------------------- |
402
+ | 💾 **Cloud Sync** | I-sync ang config sa mga device sa pamamagitan ng Cloudflare Workers |
403
+ | 🌐 **I-deploy Kahit Saan** | Localhost, VPS, Docker, Cloudflare Workers |
404
+ | 🔑 **API Key Management** | Bumuo, paikutin, at saklawin ang mga API key sa bawat provider |
405
+ | 🧙 **Onboarding Wizard** | 4-step guided setup para sa mga unang beses na user |
406
+ | 🔧 **CLI Tools Dashboard** | One-click configure Claude, Codex, Cline, OpenClaw, Kilo, Antigravity |
407
+ | 🔄 **Mga Backup ng DB** | Awtomatikong pag-backup, pagpapanumbalik, pag-export at pag-import para sa lahat ng mga setting |
408
+ | 🌐 **Internasyonalisasyon** | Buong i18n na may next-intl — suporta sa English + Portuguese (Brazil) |
409
+ | 🌍 **Pili ng Wika** | Globe icon sa header para sa real-time na paglipat ng wika (🇺🇸/🇧🇷) |
410
+ | 📂 **Custom na Direktoryo ng Data** | `DATA_DIR` env var to override default `~/.omniroute` storage path |
411
+
412
+ <details>
413
+ <summary><b>📖 Mga Detalye ng Tampok</b></summary>
414
+
415
+ ### 🎯 Smart 4-Tier Fallback
416
+
417
+ Gumawa ng mga combo na may awtomatikong fallback:
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
+ ### 📊 Real-Time na Pagsubaybay sa Quota
430
+
431
+ - Pagkonsumo ng token bawat provider
432
+ - I-reset ang countdown (5 oras, araw-araw, lingguhan)
433
+ - Pagtatantya ng gastos para sa mga bayad na tier
434
+ - Mga ulat sa buwanang paggasta
435
+
436
+ ### 🔄 Pagsasalin ng Format
437
+
438
+ Walang putol na pagsasalin sa pagitan ng mga format:
439
+
440
+ - **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses**
441
+ - Ang iyong CLI tool ay nagpapadala ng OpenAI na format → OmniRoute nagsasalin → Provider ay tumatanggap ng katutubong format
442
+ - Gumagana sa anumang tool na sumusuporta sa mga custom na endpoint ng OpenAI
443
+ - **Response sanitization** — Tinatanggal ang mga hindi karaniwang field para sa mahigpit na OpenAI SDK compatibility
444
+ - **Pag-normalize ng tungkulin** — `developer` → `system` para sa hindi OpenAI; `system` → `user` para sa mga modelo ng GLM/ERNIE
445
+ - **Think tag extraction** — `<think>` block → `reasoning_content` para sa mga modelo ng pag-iisip
446
+ - **Structured output** — `json_schema` → Gemini's `responseMimeType`/`responseSchema`
447
+
448
+ ### 👥 Multi-Account Support
449
+
450
+ - Magdagdag ng maramihang mga account sa bawat provider
451
+ - Auto round-robin o priority-based na pagruruta
452
+ - Fallback sa susunod na account kapag naabot ng isa ang quota
453
+
454
+ ### 🔄 Auto Token Refresh
455
+
456
+ - Awtomatikong nagre-refresh ang mga token ng OAuth bago mag-expire
457
+ - Walang kinakailangang manu-manong muling pagpapatotoo
458
+ - Walang putol na karanasan sa lahat ng provider
459
+
460
+ ### 🎨 Mga Custom na Combos
461
+
462
+ - Lumikha ng walang limitasyong mga kumbinasyon ng modelo
463
+ - 6 na diskarte: fill-first, round-robin, power-of-two-choices, random, hindi gaanong ginagamit, cost-optimized
464
+ - Magbahagi ng mga combo sa mga device na may Cloud Sync
465
+
466
+ ### 🏥 Dashboard ng Kalusugan
467
+
468
+ - Katayuan ng system (uptime, bersyon, paggamit ng memorya)
469
+ - Mga estado ng circuit breaker bawat provider (Sarado/Bukas/Kalahating Bukas)
470
+ - Katayuan ng limitasyon sa rate at mga aktibong lockout
471
+ - Mga istatistika ng cache ng lagda
472
+ - Latency telemetry (p50/p95/p99) + prompt cache
473
+ - I-reset ang katayuan ng kalusugan sa isang pag-click
474
+
475
+ ### 🔧 Palaruan ng Tagasalin
476
+
477
+ Kasama sa OmniRoute ang isang malakas na built-in na Playground ng Translator na may **4 na mode** para sa pag-debug, pagsubok, at pagsubaybay sa mga pagsasalin ng API:
478
+
479
+ | Mode | Paglalarawan |
480
+ | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
481
+ | **💻 Palaruan** | Direktang pagsasalin ng format — i-paste ang anumang katawan ng kahilingan sa API at agad na makita kung paano ito isinasalin ng OmniRoute sa pagitan ng mga format ng provider (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). May kasamang mga halimbawang template at format ng auto-detection. |
482
+ | **💬 Chat Tester** | Magpadala ng mga totoong kahilingan sa chat sa pamamagitan ng OmniRoute at tingnan ang buong round-trip: ang iyong input, ang isinaling kahilingan, ang tugon ng provider, at ang isinaling tugon pabalik. Napakahalaga para sa pagpapatunay ng combo routing. |
483
+ | **🧪 Test Bench** | Batch testing mode — tumukoy ng maraming test case na may iba't ibang input at inaasahang output, patakbuhin ang mga ito nang sabay-sabay, at paghambingin ang mga resulta sa mga provider at modelo. |
484
+ | **📱 Live Monitor** | Real-time na pagsubaybay sa kahilingan — panoorin ang mga papasok na kahilingan habang dumadaloy ang mga ito sa OmniRoute, tingnan ang mga pagsasalin ng format na nangyayari nang live, at tukuyin kaagad ang mga isyu. |
485
+
486
+ **Access:** Dashboard → Translator (sidebar)
487
+
488
+ ### 💾 Cloud Sync
489
+
490
+ - I-sync ang mga provider, combo, at mga setting sa mga device
491
+ - Awtomatikong pag-sync sa background
492
+ - Secure na naka-encrypt na imbakan
493
+
494
+ </details>
495
+
496
+ ---
497
+
498
+ ## 📖 Gabay sa Pag-setup
499
+
500
+ <details>
501
+ <summary><b>💳 Mga Tagabigay ng Subscription</b></summary>
502
+
503
+ ### Claude Code (Pro/Max)
504
+
505
+ ```bash
506
+ Dashboard → Providers → Connect Claude Code
507
+ → OAuth login → Auto token refresh
508
+ → 5-hour + weekly quota tracking
509
+
510
+ Models:
511
+ cc/claude-opus-4-6
512
+ cc/claude-sonnet-4-5-20250929
513
+ cc/claude-haiku-4-5-20251001
514
+ ```
515
+
516
+ **Pro Tip:** Gamitin ang Opus para sa mga kumplikadong gawain, Soneto para sa bilis. Sinusubaybayan ng OmniRoute ang quota bawat modelo!
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 (LIBRE 180K/buwan!)
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
+ **Pinakamahusay na Halaga:** Malaking libreng tier! Gamitin ito bago ang mga bayad na tier.
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>🔑 API Key Provider</b></summary>
561
+
562
+ ### NVIDIA NIM (LIBRE 1000 credits!)
563
+
564
+ 1. Mag-sign up: [build.nvidia.com](https://build.nvidia.com)
565
+ 2. Kumuha ng libreng API key (1000 inference credits kasama)
566
+ 3. Dashboard → Magdagdag ng Provider → NVIDIA NIM:
567
+ - API Key: `nvapi-your-key`
568
+
569
+ **Mga Modelo:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct`, at 50+ pa
570
+
571
+ **Pro Tip:** OpenAI-compatible na API — gumagana nang walang putol sa pagsasalin ng format ng OmniRoute!
572
+
573
+ ### DeepSeek
574
+
575
+ 1. Mag-sign up: [platform.deepseek.com](https://platform.deepseek.com)
576
+ 2. Kunin ang API key
577
+ 3. Dashboard → Magdagdag ng Provider → DeepSeek
578
+
579
+ **Mga Modelo:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
580
+
581
+ ### Groq (Magagamit ang Libreng Tier!)
582
+
583
+ 1. Mag-sign up: [console.groq.com](https://console.groq.com)
584
+ 2. Kunin ang API key (kasama ang libreng tier)
585
+ 3. Dashboard → Magdagdag ng Provider → Groq
586
+
587
+ **Mga Modelo:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
588
+
589
+ **Pro Tip:** Napakabilis na inference — pinakamahusay para sa real-time na coding!
590
+
591
+ ### OpenRouter (100+ Modelo)
592
+
593
+ 1. Mag-sign up: [openrouter.ai](https://openrouter.ai)
594
+ 2. Kunin ang API key
595
+ 3. Dashboard → Magdagdag ng Provider → OpenRouter
596
+
597
+ **Mga Modelo:** I-access ang 100+ na modelo mula sa lahat ng pangunahing provider sa pamamagitan ng iisang API key.
598
+
599
+ </details>
600
+
601
+ <details>
602
+ <summary><b>💰 Mga Murang Provider (Backup)</b></summary>
603
+
604
+ ### GLM-4.7 (Araw-araw na pag-reset, $0.6/1M)
605
+
606
+ 1. Mag-sign up: [Zhipu AI](https://open.bigmodel.cn/)
607
+ 2. Kumuha ng API key mula sa Coding Plan
608
+ 3. Dashboard → Magdagdag ng API Key:
609
+ - Provider: `glm`
610
+ - API Key: `your-key`
611
+
612
+ **Gamitin:** `glm/glm-4.7`
613
+
614
+ **Pro Tip:** Nag-aalok ang Coding Plan ng 3× na quota sa 1/7 na halaga! I-reset araw-araw 10:00 AM.
615
+
616
+ ### MiniMax M2.1 (5h reset, $0.20/1M)
617
+
618
+ 1. Mag-sign up: [MiniMax](https://www.minimax.io/)
619
+ 2. Kunin ang API key
620
+ 3. Dashboard → Magdagdag ng API Key
621
+
622
+ **Gamitin:** `minimax/MiniMax-M2.1`
623
+
624
+ **Pro Tip:** Ang pinakamurang opsyon para sa mahabang konteksto (1M token)!
625
+
626
+ ### Kimi K2 ($9/month flat)
627
+
628
+ 1. Mag-subscribe: [Moonshot AI](https://platform.moonshot.ai/)
629
+ 2. Kunin ang API key
630
+ 3. Dashboard → Magdagdag ng API Key
631
+
632
+ **Gamitin:** `kimi/kimi-latest`
633
+
634
+ **Pro Tip:** Nakapirming $9/buwan para sa 10M token = $0.90/1M epektibong gastos!
635
+
636
+ </details>
637
+
638
+ <details>
639
+ <summary><b>🆓 LIBRENG Provider (Emergency Backup)</b></summary>
640
+
641
+ ### iFlow (8 LIBRENG modelo)
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 LIBRENG modelo)
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 LIBRE)
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>🎨 Lumikha ng mga Combo</b></summary>
684
+
685
+ ### Halimbawa 1: I-maximize ang Subscription → Murang Backup
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
+ ### Halimbawa 2: Libre-Lamang (Zero na Gastos)
700
+
701
+ ```
702
+ Name: free-combo
703
+ Models:
704
+ 1. gc/gemini-3-flash-preview (180K free/month)
705
+ 2. if/kimi-k2-thinking (unlimited)
706
+ 3. qw/qwen3-coder-plus (unlimited)
707
+
708
+ Cost: $0 forever!
709
+ ```
710
+
711
+ </details>
712
+
713
+ <details>
714
+ <summary><b>🔧 CLI Integration</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 Code
726
+
727
+ Gamitin ang pahina ng **CLI Tools** sa dashboard para sa isang pag-click na configuration, o manu-manong i-edit ang `~/.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
+ **Pagpipilian 1 — Dashboard (inirerekomenda):**
741
+
742
+ ```
743
+ Dashboard → CLI Tools → OpenClaw → Select Model → Apply
744
+ ```
745
+
746
+ **Pagpipilian 2 — Manwal:** I-edit ang `~/.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
+ > **Tandaan:** Ang OpenClaw ay gumagana lamang sa lokal na OmniRoute. Gamitin ang `127.0.0.1` sa halip na `localhost` upang maiwasan ang mga isyu sa paglutas ng IPv6.
763
+
764
+ ### Cline / Magpatuloy / 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
+ ## 📊 Mga Magagamit na Modelo
779
+
780
+ <details>
781
+ <summary><b>Tingnan ang lahat ng available na modelo</b></summary>
782
+
783
+ **Claude Code (`cc/`)** - Pro/Max:
784
+
785
+ - `cc/claude-opus-4-6`
786
+ - `cc/claude-sonnet-4-5-20250929`
787
+ - `cc/claude-haiku-4-5-20251001`
788
+
789
+ **Codex (`cx/`)** - Plus/Pro:
790
+
791
+ - `cx/gpt-5.2-codex`
792
+ - `cx/gpt-5.1-codex-max`
793
+
794
+ **Gemini CLI (`gc/`)** - LIBRE:
795
+
796
+ - `gc/gemini-3-flash-preview`
797
+ - `gc/gemini-2.5-pro`
798
+
799
+ **GitHub Copilot (`gh/`)**:
800
+
801
+ - `gh/gpt-5`
802
+ - `gh/claude-4.5-sonnet`
803
+
804
+ **NVIDIA NIM (`nvidia/`)** - LIBRENG mga kredito:
805
+
806
+ - `nvidia/llama-3.3-70b-instruct`
807
+ - `nvidia/mistral-7b-instruct`
808
+ - 50+ pang mga modelo sa [build.nvidia.com](https://build.nvidia.com)
809
+
810
+ **GLM (`glm/`)** - $0.6/1M:
811
+
812
+ - `glm/glm-4.7`
813
+
814
+ **MiniMax (`minimax/`)** - $0.2/1M:
815
+
816
+ - `minimax/MiniMax-M2.1`
817
+
818
+ **iFlow (`if/`)** - LIBRE:
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/`)** - LIBRE:
827
+
828
+ - `qw/qwen3-coder-plus`
829
+ - `qw/qwen3-coder-flash`
830
+
831
+ **Kiro (`kr/`)** - LIBRE:
832
+
833
+ - `kr/claude-sonnet-4.5`
834
+ - `kr/claude-haiku-4.5`
835
+
836
+ **OpenRouter (`or/`)** - 100+ na modelo:
837
+
838
+ - `or/anthropic/claude-4-sonnet`
839
+ - `or/google/gemini-2.5-pro`
840
+ - Anumang modelo mula sa [openrouter.ai/models](https://openrouter.ai/models)
841
+
842
+ </details>
843
+
844
+ ---
845
+
846
+ ## 🧪 Mga Pagsusuri (Evals)
847
+
848
+ Ang OmniRoute ay may kasamang built-in na balangkas ng pagsusuri upang subukan ang kalidad ng pagtugon ng LLM laban sa isang ginintuang hanay. I-access ito sa pamamagitan ng **Analytics → Evals** sa dashboard.
849
+
850
+ ### Built-in na Golden Set
851
+
852
+ Ang pre-loaded na "OmniRoute Golden Set" ay naglalaman ng 10 test case na sumasaklaw sa:
853
+
854
+ - Pagbati, matematika, heograpiya, pagbuo ng code
855
+ - Pagsunod sa format ng JSON, pagsasalin, markdown
856
+ - Pagtanggi sa kaligtasan (nakapipinsalang nilalaman), pagbibilang, lohika ng boolean
857
+
858
+ ### Estratehiya sa Pagsusuri
859
+
860
+ | Diskarte | Paglalarawan | Halimbawa |
861
+ | ---------- | ------------------------------------------------------------ | -------------------------------- |
862
+ | `exact` | Dapat na eksaktong tumugma ang output | `"4"` |
863
+ | `contains` | Ang output ay dapat maglaman ng substring (case-insensitive) | `"Paris"` |
864
+ | `regex` | Ang output ay dapat tumugma sa regex pattern | `"1.*2.*3"` |
865
+ | `custom` | Ang custom na JS function ay nagbabalik ng true/false | `(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
+ > **⚠️ MAHALAGA para sa usuários com OmniRoute sa VPS/Docker/servidor remoto**
874
+
875
+ ### Para sa que o OAuth do Antigravity / Gemini CLI falha em servidores remotos?
876
+
877
+ Os provedores **Antigravity** at **Gemini CLI** gamit ang **Google OAuth 2.0** para sa autenticação. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs pré-cadastradas no Google Cloud Console do aplicativo.
878
+
879
+ Bilang credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas para sa `localhost`**. Quando você acessa o OmniRoute em um servidor remoto (hal: `https://omniroute.meuservidor.com`), o Google rejeita a autenticação com:
880
+
881
+ ```
882
+ Error 400: redirect_uri_mismatch
883
+ ```
884
+
885
+ ### Solusyon: I-configure ang suas próprias credenciais OAuth
886
+
887
+ Você precisa criar um **OAuth 2.0 Client ID** walang Google Cloud Console com a URI do seu servidor.
888
+
889
+ #### Passo a passo
890
+
891
+ **1. Mag-access sa Google Cloud Console**
892
+
893
+ Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials)
894
+
895
+ **2. Crie um novo OAuth 2.0 Client ID**
896
+
897
+ - Clique em **"+ Lumikha ng Mga Kredensyal"** → **"OAuth client ID"**
898
+ - Tipo de aplicativo: **"Web application"**
899
+ - Pangalan: escolha qualquer nome (hal: `OmniRoute Remote`)
900
+
901
+ **3. Idagdag bilang Mga Awtorisadong URI sa Pag-redirect**
902
+
903
+ Walang campo **"Mga Awtorisadong URI sa pag-redirect"**, idagdag:
904
+
905
+ ```
906
+ https://seu-servidor.com/callback
907
+ ```
908
+
909
+ > Substitua `seu-servidor.com` pelo domínio ou IP do seu servidor (kasama ang porta se necessário, hal: `http://45.33.32.156:20128/callback`).
910
+
911
+ **4. I-save at kopyahin bilang kredensyal**
912
+
913
+ Após criar, o Google mostrará o **Client ID** at ** Client Secret**.
914
+
915
+ **5. I-configure bilang 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
+ Dashboard → Mga Provider → Antigravity (ou Gemini CLI) → OAuth
943
+
944
+ Agora o Google redirectionará corretamente para sa `https://seu-servidor.com/callback` at a autenticação funcionará.
945
+
946
+ ---
947
+
948
+ ### Workaround temporário (sem configurar credenciais próprias)
949
+
950
+ Se não quiser criar credenciais próprias agora, may posibilidad na magamit o fluxo **manual de URL**:
951
+
952
+ 1. OmniRoute abrirá a URL de authorização do Google
953
+ 2. Após você authorizar, o Google tentará redirectionar para sa `localhost` (que falha no servidor remoto)
954
+ 3. **Kopyahin ang isang URL completa** sa barra de endereço do seu browser (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 **"Kumonekta"**
957
+
958
+ > Ang workaround na ito ay gumagana sa pamamagitan ng código de authorização na URL ay maaaring mag-redirect sa iyong carregado ou não.
959
+
960
+ ---
961
+
962
+ ## 🐛 Pag-troubleshoot
963
+
964
+ <details>
965
+ <summary><b>Mag-click upang palawakin ang gabay sa pag-troubleshoot</b></summary>
966
+
967
+ **"Ang modelo ng wika ay hindi nagbigay ng mga mensahe"**
968
+
969
+ - Naubos na ang quota ng provider → Suriin ang tracker ng quota ng dashboard
970
+ - Solusyon: Gumamit ng combo fallback o lumipat sa mas murang tier
971
+
972
+ **Paglilimita sa rate**
973
+
974
+ - Out na ang quota ng subscription → Fallback sa GLM/MiniMax
975
+ - Magdagdag ng combo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
976
+
977
+ **Nag-expire ang token ng OAuth**
978
+
979
+ - Auto-refresh ng OmniRoute
980
+ - Kung magpapatuloy ang mga isyu: Dashboard → Provider → Muling kumonekta
981
+
982
+ **Mataas na gastos**
983
+
984
+ - Suriin ang mga istatistika ng paggamit sa Dashboard → Mga Gastos
985
+ - Ilipat ang pangunahing modelo sa GLM/MiniMax
986
+ - Gumamit ng libreng tier (Gemini CLI, iFlow) para sa mga hindi kritikal na gawain
987
+
988
+ **Nagbubukas ang dashboard sa maling port**
989
+
990
+ - Itakda ang `PORT=20128` at `NEXT_PUBLIC_BASE_URL=http://localhost:20128`
991
+
992
+ **Mga error sa cloud sync**
993
+
994
+ - I-verify ang `BASE_URL` na mga puntos sa iyong running instance
995
+ - I-verify ang `CLOUD_URL` na mga puntos sa iyong inaasahang cloud endpoint
996
+ - Panatilihing nakahanay ang mga value ng `NEXT_PUBLIC_*` sa mga value sa gilid ng server
997
+
998
+ **Hindi gumagana ang unang pag-login**
999
+
1000
+ - Suriin ang `INITIAL_PASSWORD` sa `.env`
1001
+ - Kung hindi nakatakda, ang fallback na password ay `123456`
1002
+
1003
+ **Walang mga log ng kahilingan**
1004
+
1005
+ - Itakda ang `ENABLE_REQUEST_LOGS=true` sa `.env`
1006
+
1007
+ **Ang pagsubok sa koneksyon ay nagpapakita ng "Di-wasto" para sa mga provider na katugma sa OpenAI**
1008
+
1009
+ - Maraming provider ang hindi naglalantad ng `/models` endpoint
1010
+ - Kasama sa OmniRoute v1.0.6+ ang fallback validation sa pamamagitan ng mga pagkumpleto ng chat
1011
+ - Tiyaking may kasamang `/v1` suffix ang base URL
1012
+
1013
+ </details>
1014
+
1015
+ ---
1016
+
1017
+ ## 🛠️ Tech Stack
1018
+
1019
+ - **Runtime**: Node.js 18–22 LTS (⚠️ Node.js 24+ ay **hindi suportado** — `better-sqlite3` native binary ay hindi tugma)
1020
+ - **Wika**: TypeScript 5.9 — **100% TypeScript** sa `src/` at `open-sse/` (v1.0.6)
1021
+ - **Framework**: Next.js 16 + React 19 + Tailwind CSS 4
1022
+ - **Database**: LowDB (JSON) + SQLite (domain state + proxy logs)
1023
+ - **Streaming**: Mga Kaganapang Ipinadala ng Server (SSE)
1024
+ - **Auth**: OAuth 2.0 (PKCE) + JWT + API Keys
1025
+ - **Pagsubok**: Node.js test runner (368+ unit test)
1026
+ - **CI/CD**: GitHub Actions (auto npm publish + Docker Hub on release)
1027
+ - **Website**: [omniroute.online](https://omniroute.online)
1028
+ - **Package**: [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
+ - **Resilience**: Circuit breaker, exponential backoff, anti-thundering herd, TLS spoofing
1031
+
1032
+ ---
1033
+
1034
+ ## 📖 Dokumentasyon
1035
+
1036
+ | Dokumento | Paglalarawan |
1037
+ | -------------------------------------------- | --------------------------------------------------- |
1038
+ | [User Guide](docs/USER_GUIDE.md) | Mga provider, combo, CLI integration, deployment |
1039
+ | [API Reference](docs/API_REFERENCE.md) | Lahat ng mga endpoint na may mga halimbawa |
1040
+ | [Troubleshooting](docs/TROUBLESHOOTING.md) | Mga karaniwang problema at solusyon |
1041
+ | [Architecture](docs/ARCHITECTURE.md) | Arkitektura ng system at mga panloob |
1042
+ | [Contributing](CONTRIBUTING.md) | Pag-setup at mga alituntunin ng pag-unlad |
1043
+ | [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0 na detalye |
1044
+ | [Security Policy](SECURITY.md) | Pag-uulat ng kahinaan at mga kasanayan sa seguridad |
1045
+ | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Kumpletong gabay: VM + nginx + Cloudflare setup |
1046
+ | [Features Gallery](docs/FEATURES.md) | Visual dashboard tour na may mga screenshot |
1047
+
1048
+ ### 📸 Preview ng Dashboard
1049
+
1050
+ <details>
1051
+ <summary><b>Mag-click para makita ang mga screenshot ng dashboard</b></summary>
1052
+
1053
+ | Pahina | Screenshot |
1054
+ | ----------------------- | ------------------------------------------------- |
1055
+ | **Mga Provider** | ![Providers](docs/screenshots/01-providers.png) |
1056
+ | **Combos** | ![Combos](docs/screenshots/02-combos.png) |
1057
+ | **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) |
1058
+ | **Kalusugan** | ![Health](docs/screenshots/04-health.png) |
1059
+ | **Tagasalin** | ![Translator](docs/screenshots/05-translator.png) |
1060
+ | **Mga Setting** | ![Settings](docs/screenshots/06-settings.png) |
1061
+ | **Mga CLI Tools** | ![CLI Tools](docs/screenshots/07-cli-tools.png) |
1062
+ | **Mga Log ng Paggamit** | ![Usage](docs/screenshots/08-usage.png) |
1063
+ | **Endpoint** | ![Endpoint](docs/screenshots/09-endpoint.png) |
1064
+
1065
+ </details>
1066
+
1067
+ ---
1068
+
1069
+ ## 🗺️ Roadmap
1070
+
1071
+ Ang OmniRoute ay may **210+ feature na binalak** sa maraming yugto ng pag-unlad. Narito ang mga pangunahing lugar:
1072
+
1073
+ | Kategorya | Mga Nakaplanong Tampok | Mga Highlight |
1074
+ | -------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------- |
1075
+ | 🧠 **Routing at Intelligence** | 25+ | Lowest-latency routing, tag-based na routing, quota preflight, P2C account selection |
1076
+ | 🔒 **Seguridad at Pagsunod** | 20+ | SSRF hardening, credential cloaking, rate-limit sa bawat endpoint, management key scoping |
1077
+ | 📊 **Pagmamasid** | 15+ | Pagsasama ng OpenTelemetry, real-time na pagsubaybay sa quota, pagsubaybay sa gastos bawat modelo |
1078
+ | 🔄 **Mga Pagsasama ng Provider** | 20+ | Dynamic na model registry, provider cooldowns, multi-account Codex, Copilot quota parsing |
1079
+ | ⚡ **Pagganap** | 15+ | Dual cache layer, prompt cache, response cache, streaming keepalive, batch API |
1080
+ | 🌐 **Ecosystem** | 10+ | WebSocket API, config hot-reload, distributed config store, commercial mode |
1081
+
1082
+ ### 🔜 Malapit na
1083
+
1084
+ - 🔗 **OpenCode Integration** — Suporta ng katutubong provider para sa OpenCode AI coding IDE
1085
+ - 🔗 **TRAE Integration** — Buong suporta para sa balangkas ng pag-develop ng TRAE AI
1086
+ - 📦 **Batch API** — Asynchronous na pagproseso ng batch para sa maramihang kahilingan
1087
+ - 🎯 **Tag-Based Routing** — Mga kahilingan sa ruta batay sa mga custom na tag at metadata
1088
+ - 💰 **Diskarte sa Pinakamababang Gastos** — Awtomatikong piliin ang pinakamurang available na provider
1089
+
1090
+ > 📝 Available ang buong detalye ng feature sa [link](docs/new-features/) (217 detalyadong spec)
1091
+
1092
+ ---
1093
+
1094
+ ## 📧 Suporta
1095
+
1096
+ > 💬 **Sumali sa aming komunidad!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Humingi ng tulong, magbahagi ng mga tip, at manatiling updated.
1097
+
1098
+ - **Website**: [omniroute.online](https://omniroute.online)
1099
+ - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
1100
+ - **Mga Isyu**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
1101
+ - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
1102
+ - **Orihinal na Proyekto**: [9router by decolua](https://github.com/decolua/9router)
1103
+
1104
+ ---
1105
+
1106
+ ## 👥 Mga nag-aambag
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
+ ### Paano Mag-ambag
1111
+
1112
+ 1. I-fork ang repositoryo
1113
+ 2. Gawin ang iyong sangay ng tampok (`git checkout -b feature/amazing-feature`)
1114
+ 3. Ibigay ang iyong mga pagbabago (`git commit -m 'Add amazing feature'`)
1115
+ 4. Itulak sa sangay (`git push origin feature/amazing-feature`)
1116
+ 5. Magbukas ng Pull Request
1117
+
1118
+ Tingnan ang [CONTRIBUTING.md](CONTRIBUTING.md) para sa mga detalyadong alituntunin.
1119
+
1120
+ ### Naglalabas ng Bagong Bersyon
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
+ ## 📊 Kasaysayan ng Bituin
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
+ ## 🙏 Pasasalamat
1142
+
1143
+ Espesyal na pasasalamat kay **[9router](https://github.com/decolua/9router)** ni **[decolua](https://github.com/decolua)** — ang orihinal na proyektong nagbigay inspirasyon sa tinidor na ito. Bumubuo ang OmniRoute sa hindi kapani-paniwalang pundasyong iyon na may mga karagdagang feature, multi-modal na API, at buong TypeScript na muling pagsulat.
1144
+
1145
+ Espesyal na salamat sa **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — ang orihinal na pagpapatupad ng Go na nagbigay inspirasyon sa JavaScript port na ito.
1146
+
1147
+ ---
1148
+
1149
+ ## 📄 Lisensya
1150
+
1151
+ Lisensya ng MIT - tingnan ang [LICENSE](LICENSE) para sa mga detalye.
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 intelligente para **modelos de IA GRATUITOS e de baixo custo** com fallback automático.
1162
+
1163
+ _Seu proxy universal de API — um endpoint, 36+ provedores, zero downtime._
1164
+
1165
+ ### 🌐 Internacionalização (i18n)
1166
+
1167
+ O dashboard ng OmniRoute suporta **multiplos idiomas**. Ibigay ang mga ito:
1168
+
1169
+ | Idyoma | Código | Katayuan |
1170
+ | --------------------- | ------- | ----------- |
1171
+ | 🇺🇸 Ingles | `en` | ✅ Kumpleto |
1172
+ | 🇧🇷 Português (Brasil) | `pt-BR` | ✅ Kumpleto |
1173
+
1174
+ **Para trocar o idioma:** Clique no seletor de idioma (🇺🇸 EN) walang header do dashboard → selecione o idioma desejado.
1175
+
1176
+ **Para adicionar um novo idioma:**
1177
+
1178
+ 1. Sumigaw `src/i18n/messages/{codigo}.json` baseado em `en.json`
1179
+ 2. Addicione 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, at iba pa
1203
+ - **Roteamento intelligente** — Fallback automatico entre provedores
1204
+ - **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente
1205
+ - **Multi-conta** — Múltiplas contas por provedor com seleção intelligente
1206
+ - **Cache semântico** — Reduz custos at latência
1207
+ - **OAuth automático** — Token renovam automaticamente
1208
+ - **Combos personalizados** — 6 estratégias de roteamento
1209
+ - **Dashboard completo** — Monitoramento, logs, análises, configurações
1210
+ - **CLI Tools** — I-configure ang Claude Code, Codex, Cursor, Cline com um clique
1211
+ - **100% TypeScript** — Código limpo at tipado
1212
+
1213
+ ### 📖 Documentação
1214
+
1215
+ | Dokumento | Paglalarawan |
1216
+ | ----------------------------------------------- | ------------------------------------------- |
1217
+ | [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, combos, CLI, deploy |
1218
+ | [Referência da API](docs/API_REFERENCE.md) | Todos os endpoints com exemplos |
1219
+ | [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problema communs at soluções |
1220
+ | [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura at internos do sistema |
1221
+ | [Contribuição](CONTRIBUTING.md) | Setup ng desenvolvimento at mga alituntunin |
1222
+ | [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Guia completo: VM + nginx + Cloudflare |
1223
+
1224
+ ### 📧 Suporta
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
+ - **Website**: [omniroute.online](https://omniroute.online)
1229
+ - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
1230
+ - **Mga Isyu**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
1231
+
1232
+ ---
1233
+
1234
+ <div align="center">
1235
+ <sub>Built with ❤️ para sa mga developer na nagko-code 24/7</sub>
1236
+ <br/>
1237
+ <sub><a href="https://omniroute.online">omniroute.online</a></sub>
1238
+ </div>