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.sv.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 — Den kostnadsfria AI-gatewayen
5
+
6
+ 🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)**
7
+
8
+ ### Sluta aldrig koda. Smart routing till **GRATIS & lågkostnads ​​AI-modeller** med automatisk reserv.
9
+
10
+ _Din universella API-proxy — en slutpunkt, 36+ leverantörer, noll driftstopp._
11
+
12
+ **Slutförda chatt • Inbäddningar • Bildgenerering • Ljud • Omrankning • 100 % TypeScript**
13
+
14
+ ---
15
+
16
+ ### 🤖 Gratis AI-leverantör för dina favoritkodningsagenter
17
+
18
+ _Anslut alla AI-drivna IDE- eller CLI-verktyg via OmniRoute — gratis API-gateway för obegränsad kodning._
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>📡 Alla agenter ansluter via <code>http://localhost:20128/v1</code> eller <code>http://cloud.omniroute.online/v1</code>, —limited one config_245\_\_ kvot</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
+ ## 🤔 Varför OmniRoute?
116
+
117
+ **Sluta slösa pengar och nå gränser:**
118
+
119
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Prenumerationskvoten löper ut oanvänd varje månad
120
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Hastighetsgränser stoppar dig mellankodning
121
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Dyra API:er ($20-50/månad per leverantör)
122
+ - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Manuellt byte mellan leverantörer
123
+
124
+ **OmniRoute löser detta:**
125
+
126
+ - ✅ **Maximera prenumerationer** - Spåra kvot, använd varje bit innan återställning
127
+ - ✅ **Automatisk reserv** - Prenumeration → API-nyckel → Billigt → Gratis, noll driftstopp
128
+ - ✅ **Multi-konto** - Round-robin mellan konton per leverantör
129
+ - ✅ **Universal** - Fungerar med Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, vilket CLI-verktyg som helst
130
+
131
+ ---
132
+
133
+ ## 🔄 Hur det fungerar
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
+ ## ⚡ Snabbstart
163
+
164
+ **1. Installera globalt:**
165
+
166
+ ```bash
167
+ npm install -g omniroute
168
+ omniroute
169
+ ```
170
+
171
+ 🎉 Instrumentpanelen öppnar kl. `http://localhost:20128`
172
+
173
+ | Kommando | Beskrivning |
174
+ | ----------------------- | ---------------------------------- |
175
+ | `omniroute` | Startserver (standardport 20128) |
176
+ | `omniroute --port 3000` | Använd anpassad port |
177
+ | `omniroute --no-open` | Öppna inte webbläsaren automatiskt |
178
+ | `omniroute --help` | Visa hjälp |
179
+
180
+ **2. Anslut en GRATIS leverantör:**
181
+
182
+ Dashboard → Leverantörer → Anslut **Claude Code** eller **Antigravity** → OAuth-inloggning → Klar!
183
+
184
+ **3. Använd i ditt CLI-verktyg:**
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
+ **Det var allt!** Börja koda med GRATIS AI-modeller.
194
+
195
+ **Alternativ – kör från källan:**
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
+ ## 🐳 Hamnarbetare
206
+
207
+ OmniRoute är tillgänglig som en offentlig Docker-bild på [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute).
208
+
209
+ **Snabbkörning:**
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
+ **Med miljöfil:**
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
+ **Använda 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
+ | Bild | Tagga | Storlek | Beskrivning |
246
+ | ------------------------ | -------- | ------- | ----------------------- |
247
+ | `diegosouzapw/omniroute` | `latest` | ~250MB | Senaste stabila utgåvan |
248
+ | `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Aktuell version |
249
+
250
+ ---
251
+
252
+ ## 💰 Prissättning i en överblick
253
+
254
+ | Nivå | Leverantör | Kostnad | Kvotåterställning | Bäst för |
255
+ | -------------------- | ----------------- | ----------------------- | ------------------------ | ----------------------- |
256
+ | **💳 PRENUMERATION** | Claude Code (Pro) | 20 USD/månad | 5h + veckovis | Har redan prenumererat |
257
+ | | Codex (Plus/Pro) | 20-200 USD/månad | 5h + veckovis | OpenAI-användare |
258
+ | | Gemini CLI | **GRATIS** | 180K/månad + 1K/dag | Alla! |
259
+ | | GitHub Copilot | 10-19 USD/månad | Månatlig | GitHub-användare |
260
+ | **🔑 API-NYCKEL** | NVIDIA NIM | **GRATIS** (1000 poäng) | Engång | Gratis nivåtestning |
261
+ | | DeepSeek | Betala per användning | Inga | Bästa pris/kvalitet |
262
+ | | Groq | Gratis nivå + betald | Begränsat pris | Ultrasnabb slutledning |
263
+ | | xAI (Grok) | Betala per användning | Inga | Grok modeller |
264
+ | | Mistral | Gratis nivå + betald | Begränsat pris | Europeisk AI |
265
+ | | OpenRouter | Betala per användning | Inga | 100+ modeller |
266
+ | **💰 BILLIGT** | GLM-4.7 | $0,6/1M | Dagligen 10:00 | Budget backup |
267
+ | | MiniMax M2.1 | $0,2/1M | 5-timmars rullande | Billigaste alternativet |
268
+ | | Kimi K2 | 9 USD/mån lägenhet | 10 miljoner tokens/månad | Förutsägbar kostnad |
269
+ | **🆓 GRATIS** | iFlow | $0 | Obegränsad | 8 modeller gratis |
270
+ | | Qwen | $0 | Obegränsad | 3 modeller gratis |
271
+ | | Kiro | $0 | Obegränsad | Claude gratis |
272
+
273
+ **💡 Proffstips:** Börja med Gemini CLI (180K gratis/månad) + iFlow (obegränsat gratis) combo = $0 kostnad!
274
+
275
+ ---
276
+
277
+ ## 🎯 Användningsfall
278
+
279
+ ### Fall 1: "Jag har Claude Pro-abonnemang"
280
+
281
+ **Problem:** Kvoten går ut oanvänd, hastighetsgränser under tung kodning
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
+ ### Fall 2: "Jag vill ha noll kostnad"
294
+
295
+ **Problem:** Har inte råd med prenumerationer, behöver pålitlig AI-kodning
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
+ ### Fall 3: "Jag behöver kodning dygnet runt, inga avbrott"
308
+
309
+ **Problem:** Deadlines, har inte råd med driftstopp
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
+ ### Fall 4: "Jag vill ha GRATIS AI i OpenClaw"
323
+
324
+ **Problem:** Behöver AI-assistent i meddelandeappar, helt gratis
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
+ ## 💡 Nyckelfunktioner
339
+
340
+ ### 🧠 Core Routing & Intelligence
341
+
342
+ | Funktion | Vad det gör |
343
+ | ------------------------------ | ----------------------------------------------------------------------------------------- |
344
+ | 🎯 **Smart 4-lagers reserv** | Automatisk rutt: Prenumeration → API-nyckel → Billigt → Gratis |
345
+ | 📊 **Kvotspårning i realtid** | Live token count + återställ nedräkning per leverantör |
346
+ | 🔄 **Formatöversättning** | OpenAI ↔ Claude ↔ Gemini ↔ Markör ↔ Kiro sömlös + sanering av svar |
347
+ | 👥 **Multi-Account Support** | Flera konton per leverantör med intelligent urval |
348
+ | 🔄 **Auto Token Refresh** | OAuth-tokens uppdateras automatiskt med försök igen |
349
+ | 🎨 **Anpassade kombinationer** | 6 strategier: fill-first, round-robin, p2c, slumpmässig, minst använda, kostnadsoptimerad |
350
+ | 🧩 **Anpassade modeller** | Lägg till valfritt modell-ID till valfri leverantör |
351
+ | 🌐 **Wildcard-router** | Dirigera `provider/*`-mönster till valfri leverantör dynamiskt |
352
+ | 🧠 **Tänkande budget** | Genomgång, auto, anpassade och adaptiva lägen för resonerande modeller |
353
+ | 💬 **System Prompt Injection** | Global systemprompt tillämpas på alla förfrågningar |
354
+ | 📄 **Responses API** | Fullständigt stöd för OpenAI Responses API (`/v1/responses`) för Codex |
355
+
356
+ ### 🎵 Multimodala API:er
357
+
358
+ | Funktion | Vad det gör |
359
+ | ------------------------ | ------------------------------------------------------ |
360
+ | 🖼️ **Bildgenerering** | `/v1/images/generations` — 4 leverantörer, 9+ modeller |
361
+ | 📐 **Inbäddningar** | `/v1/embeddings` — 6 leverantörer, 9+ modeller |
362
+ | 🎤 **Ljudtranskription** | `/v1/audio/transcriptions` — Whisper-kompatibel |
363
+ | 🔊 **Text-till-tal** | `/v1/audio/speech` — Ljudsyntes med flera leverantörer |
364
+ | 🛡️ **Moderationer** | `/v1/moderations` — Innehållssäkerhetskontroller |
365
+ | 🔀 **Omrankning** | `/v1/rerank` — Omrankning av dokumentrelevans |
366
+
367
+ ### 🛡️ Motståndskraft och säkerhet
368
+
369
+ | Funktion | Vad det gör |
370
+ | -------------------------------------- | --------------------------------------------------------------------------------- |
371
+ | 🔌 **Circuit Breaker** | Autoöppna/stäng per leverantör med konfigurerbara trösklar |
372
+ | 🛡️ **Anti-ånflock** | Mutex + semaforhastighetsgräns för API-nyckelleverantörer |
373
+ | 🧠 **Semantisk cache** | Tvåskiktscache (signatur + semantisk) minskar kostnaden och fördröjningen |
374
+ | ⚡ **Begär idempotens** | 5s dedup-fönster för dubblettförfrågningar |
375
+ | 🔒 **TLS Fingerprint Spoofing** | Förbi TLS-baserad botdetektering via wreq-js |
376
+ | 🌐 **IP-filtrering** | Tillåtelselista/blockeringslista för API-åtkomstkontroll |
377
+ | 📊 **Redigerbara hastighetsgränser** | Konfigurerbart RPM, min gap och max samtidiga på systemnivå |
378
+ | 🛡 **API Endpoint Protection** | Auth gating + leverantörsblockering för `/models` slutpunkt |
379
+ | 🔒 **Proxysynlighet** | Färgkodade märken: 🟢 global, 🟡 leverantör, 🔵 per anslutning med IP-display |
380
+ | 🌐 **Proxykonfiguration med 3 nivåer** | Konfigurera proxyservrar på global nivå, per leverantör eller per anslutningsnivå |
381
+
382
+ ### 📊 Observerbarhet och analys
383
+
384
+ | Funktion | Vad det gör |
385
+ | --------------------------- | ----------------------------------------------------------------------------- |
386
+ | 📝 **Begär loggning** | Felsökningsläge med fullständiga förfrågnings-/svarsloggar |
387
+ | 💾 **SQLite proxyloggar** | Beständiga proxyloggar överlever serverstarter |
388
+ | 📊 **Analytics Dashboard** | Recharts-driven: statistikkort, modellanvändningsdiagram, leverantörstabell |
389
+ | 📈 **Förloppsspårning** | Opt-in SSE-förloppshändelser för streaming |
390
+ | 🧪 **LLM-utvärderingar** | Golden set testning med 4 matchstrategier |
391
+ | 🔍 **Begär telemetri** | p50/p95/p99 latensaggregation + X-Request-Id-spårning |
392
+ | 📋 **Dashboard för loggar** | Enad sida med 4 flikar: Begäranloggar, Proxyloggar, Granskningsloggar, Konsol |
393
+ | 🖥️ **Konsolloggvisare** | Realtidsvisare i terminalstil med nivåfilter, sökning, automatisk rullning |
394
+ | 📑 **Filbaserad loggning** | Console Interceptor fångar all utdata till JSON-loggfilen med rotation |
395
+ | 🏥 **Hälsoinstrumentpanel** | Systemupptid, strömbrytartillstånd, låsningar, cachestatistik |
396
+ | 💰 **Kostnadsspårning** | Budgethantering + prissättning per modell |
397
+
398
+ ### ☁️ Implementering och synkronisering
399
+
400
+ | Funktion | Vad det gör |
401
+ | -------------------------------- | -------------------------------------------------------------------------------------- |
402
+ | 💾 **Cloud Sync** | Synkronisera konfiguration mellan enheter via Cloudflare Workers |
403
+ | 🌐 **Distribuera var som helst** | Localhost, VPS, Docker, Cloudflare Workers |
404
+ | 🔑 **API-nyckelhantering** | Generera, rotera och omfång API-nycklar per leverantör |
405
+ | 🧙 **Onboarding Wizard** | 4-stegs guidad installation för förstagångsanvändare |
406
+ | 🔧 **CLI Tools Dashboard** | Konfigurera med ett klick Claude, Codex, Cline, OpenClaw, Kilo, Antigravity |
407
+ | 🔄 **DB-säkerhetskopior** | Automatisk säkerhetskopiering, återställning, export och import för alla inställningar |
408
+ | 🌐 **Internationalisering** | Fullständig i18n med nästa-intl — stöd för engelska + portugisiska (Brasilien) |
409
+ | 🌍 **Språkväljare** | Globikon i rubriken för språkväxling i realtid (🇺🇸/🇧🇷) |
410
+ | 📂 **Anpassad datakatalog** | `DATA_DIR` env var för att åsidosätta standard `~/.omniroute` lagringssökväg |
411
+
412
+ <details>
413
+ <summary><b>📖 Funktionsdetaljer</b></summary>
414
+
415
+ ### 🎯 Smart 4-lagers reserv
416
+
417
+ Skapa kombinationer med automatisk reserv:
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
+ ### 📊 Kvotspårning i realtid
430
+
431
+ - Tokenförbrukning per leverantör
432
+ - Återställ nedräkningen (5 timmar, dagligen, veckovis)
433
+ - Kostnadsuppskattning för betalda nivåer
434
+ - Månatliga utgiftsrapporter
435
+
436
+ ### 🔄 Formatöversättning
437
+
438
+ Sömlös översättning mellan format:
439
+
440
+ - **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI-svar**
441
+ - Ditt CLI-verktyg skickar OpenAI-format → OmniRoute översätter → Leverantör tar emot inbyggt format
442
+ - Fungerar med alla verktyg som stöder anpassade OpenAI-slutpunkter
443
+ - **Responssanering** — Tar bort icke-standardiserade fält för strikt OpenAI SDK-kompatibilitet
444
+ - **Rollnormalisering** — `developer` → `system` för icke-OpenAI; `system` → `user` för GLM/ERNIE-modeller
445
+ - **Think tag extrahering** — `<think>` block → `reasoning_content` för tänkande modeller
446
+ - **Structured output** — `json_schema` → Gemini's `responseMimeType`/`responseSchema`
447
+
448
+ ### 👥 Support för flera konton
449
+
450
+ - Lägg till flera konton per leverantör
451
+ - Auto round-robin eller prioritetsbaserad routing
452
+ - Fallback till nästa konto när man når kvoten
453
+
454
+ ### 🔄 Auto Token Refresh
455
+
456
+ - OAuth-tokens uppdateras automatiskt innan utgången
457
+ - Ingen manuell återautentisering behövs
458
+ - Sömlös upplevelse hos alla leverantörer
459
+
460
+ ### 🎨 Anpassade kombinationer
461
+
462
+ - Skapa obegränsade modellkombinationer
463
+ - 6 strategier: fyll-först, round-robin, kraft-av-två-val, slumpmässig, minst använda, kostnadsoptimerad
464
+ - Dela kombinationer mellan enheter med Cloud Sync
465
+
466
+ ### 🏥 Health Dashboard
467
+
468
+ - Systemstatus (upptid, version, minnesanvändning)
469
+ - Strömbrytarstatus per leverantör (stängd/öppen/halvöppen)
470
+ - Prisgränsstatus och aktiva låsningar
471
+ - Signaturcachestatistik
472
+ - Latens-telemetri (p50/p95/p99) + promptcache
473
+ - Återställ hälsostatus med ett klick
474
+
475
+ ### 🔧 Översättarlekplats
476
+
477
+ OmniRoute inkluderar en kraftfull inbyggd översättarlekplats med **4 lägen** för felsökning, testning och övervakning av API-översättningar:
478
+
479
+ | Läge | Beskrivning |
480
+ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
481
+ | **💻 Lekplats** | Direkt formatöversättning — klistra in valfri API-begäran och se direkt hur OmniRoute översätter den mellan leverantörsformat (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Inkluderar exempelmallar och automatisk identifiering av format. |
482
+ | **💬 Chattestare** | Skicka riktiga chattförfrågningar genom OmniRoute och se hela tur och retur: din input, den översatta begäran, leverantörens svar och det översatta svaret tillbaka. Ovärderligt för att validera combo routing. |
483
+ | **🧪 Testbänk** | Batchtestläge — definiera flera testfall med olika ingångar och förväntade utgångar, kör dem alla på en gång och jämför resultat mellan leverantörer och modeller. |
484
+ | **📱 Live Monitor** | Bevakning av förfrågningar i realtid — titta på inkommande förfrågningar när de flödar genom OmniRoute, se formatöversättningar som sker live och identifiera problem direkt. |
485
+
486
+ **Åtkomst:** Instrumentpanel → Översättare (sidofält)
487
+
488
+ ### 💾 Cloud Sync
489
+
490
+ - Synkronisera leverantörer, kombinationer och inställningar mellan enheter
491
+ - Automatisk bakgrundssynkronisering
492
+ - Säker krypterad lagring
493
+
494
+ </details>
495
+
496
+ ---
497
+
498
+ ## 📖 Installationsguide
499
+
500
+ <details>
501
+ <summary><b>💳 Prenumerationsleverantörer</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
+ **Proffstips:** Använd Opus för komplexa uppgifter, Sonnet för snabbhet. OmniRoute spårar kvot per modell!
517
+
518
+ ### OpenAI Codex (Plus/Pro)
519
+
520
+ ```bash
521
+ Dashboard → Providers → Connect Codex
522
+ → OAuth login (port 1455)
523
+ → 5-hour + weekly reset
524
+
525
+ Models:
526
+ cx/gpt-5.2-codex
527
+ cx/gpt-5.1-codex-max
528
+ ```
529
+
530
+ ### Gemini CLI (GRATIS 180K/månad!)
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
+ **Bäst värde:** Enorma gratis nivå! Använd detta före betalda nivåer.
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-nyckelleverantörer</b></summary>
561
+
562
+ ### NVIDIA NIM (GRATIS 1000 krediter!)
563
+
564
+ 1. Registrera dig: [build.nvidia.com](https://build.nvidia.com)
565
+ 2. Få gratis API-nyckel (1000 slutsatspoäng ingår)
566
+ 3. Dashboard → Lägg till leverantör → NVIDIA NIM:
567
+ - API-nyckel: `nvapi-your-key`
568
+
569
+ **Modeller:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` och 50+ till
570
+
571
+ **Proffstips:** OpenAI-kompatibelt API — fungerar sömlöst med OmniRoutes formatöversättning!
572
+
573
+ ### DeepSeek
574
+
575
+ 1. Registrera dig: [platform.deepseek.com](https://platform.deepseek.com)
576
+ 2. Hämta API-nyckel
577
+ 3. Dashboard → Lägg till leverantör → DeepSeek
578
+
579
+ **Modeller:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
580
+
581
+ ### Groq (gratis nivå tillgänglig!)
582
+
583
+ 1. Registrera dig: [console.groq.com](https://console.groq.com)
584
+ 2. Skaffa API-nyckel (gratis nivå ingår)
585
+ 3. Dashboard → Lägg till leverantör → Groq
586
+
587
+ **Modeller:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
588
+
589
+ **Proffstips:** Ultrasnabb slutledning — bäst för realtidskodning!
590
+
591
+ ### OpenRouter (100+ modeller)
592
+
593
+ 1. Registrera dig: [openrouter.ai](https://openrouter.ai)
594
+ 2. Hämta API-nyckel
595
+ 3. Dashboard → Lägg till leverantör → OpenRouter
596
+
597
+ **Modeller:** Få tillgång till 100+ modeller från alla större leverantörer genom en enda API-nyckel.
598
+
599
+ </details>
600
+
601
+ <details>
602
+ <summary><b>💰 Billiga leverantörer (backup)</b></summary>
603
+
604
+ ### GLM-4.7 (Daglig återställning, $0,6/1M)
605
+
606
+ 1. Registrera dig: [Zhipu AI](https://open.bigmodel.cn/)
607
+ 2. Hämta API-nyckel från Coding Plan
608
+ 3. Instrumentpanel → Lägg till API-nyckel:
609
+ - Leverantör: `glm`
610
+ - API-nyckel: `your-key`
611
+
612
+ **Använd:** `glm/glm-4.7`
613
+
614
+ **Proffstips:** Coding Plan erbjuder 3× kvot till 1/7 kostnad! Återställ dagligen 10:00.
615
+
616
+ ### MiniMax M2.1 (5 timmars återställning, $0,20/1M)
617
+
618
+ 1. Registrera dig: [MiniMax](https://www.minimax.io/)
619
+ 2. Hämta API-nyckel
620
+ 3. Instrumentpanel → Lägg till API-nyckel
621
+
622
+ **Använd:** `minimax/MiniMax-M2.1`
623
+
624
+ **Proffstips:** Billigaste alternativet för långa sammanhang (1M tokens)!
625
+
626
+ ### Kimi K2 ($9/månad platt)
627
+
628
+ 1. Prenumerera: [Moonshot AI](https://platform.moonshot.ai/)
629
+ 2. Hämta API-nyckel
630
+ 3. Instrumentpanel → Lägg till API-nyckel
631
+
632
+ **Använd:** `kimi/kimi-latest`
633
+
634
+ **Proffstips:** Fast $9/månad för 10 miljoner tokens = $0,90/1 miljon effektiv kostnad!
635
+
636
+ </details>
637
+
638
+ <details>
639
+ <summary><b>🆓 GRATIS leverantörer (nödbackup)</b></summary>
640
+
641
+ ### iFlow (8 GRATIS modeller)
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 GRATIS modeller)
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 FREE)
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>🎨 Skapa kombinationer</b></summary>
684
+
685
+ ### Exempel 1: Maximera prenumeration → Billig 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
+ ### Exempel 2: Endast gratis (noll kostnad)
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
+ ### Markör 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
+ Använd sidan **CLI Tools** i instrumentpanelen för konfiguration med ett klick, eller redigera `~/.claude/settings.json` manuellt.
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
+ **Alternativ 1 — Instrumentpanel (rekommenderas):**
741
+
742
+ ```
743
+ Dashboard → CLI Tools → OpenClaw → Select Model → Apply
744
+ ```
745
+
746
+ **Alternativ 2 — Manuell:** Redigera `~/.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
+ > **Obs!** OpenClaw fungerar endast med lokal OmniRoute. Använd `127.0.0.1` istället för `localhost` för att undvika problem med IPv6-upplösning.
763
+
764
+ ### Cline / Fortsätt / 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
+ ## 📊 Tillgängliga modeller
779
+
780
+ <details>
781
+ <summary><b>Visa alla tillgängliga modeller</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/`)** - GRATIS:
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/`)** - GRATIS krediter:
805
+
806
+ - `nvidia/llama-3.3-70b-instruct`
807
+ - `nvidia/mistral-7b-instruct`
808
+ - 50+ modeller till på [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/`)** - GRATIS:
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/`)** - GRATIS:
827
+
828
+ - `qw/qwen3-coder-plus`
829
+ - `qw/qwen3-coder-flash`
830
+
831
+ **Kiro (`kr/`)** - GRATIS:
832
+
833
+ - `kr/claude-sonnet-4.5`
834
+ - `kr/claude-haiku-4.5`
835
+
836
+ **OpenRouter (`or/`)** - 100+ modeller:
837
+
838
+ - `or/anthropic/claude-4-sonnet`
839
+ - `or/google/gemini-2.5-pro`
840
+ - Alla modeller från [openrouter.ai/models](https://openrouter.ai/models)
841
+
842
+ </details>
843
+
844
+ ---
845
+
846
+ ## 🧪 Utvärderingar (Evals)
847
+
848
+ OmniRoute inkluderar ett inbyggt utvärderingsramverk för att testa LLM-svarskvalitet mot en gyllene uppsättning. Få åtkomst till det via **Analytics → Evals** i instrumentpanelen.
849
+
850
+ ### Inbyggt gyllene set
851
+
852
+ Det förinstallerade "OmniRoute Golden Set" innehåller 10 testfall som täcker:
853
+
854
+ - Hälsningar, matematik, geografi, kodgenerering
855
+ - JSON-formatöverensstämmelse, översättning, markdown
856
+ - Säkerhetsvägran (skadligt innehåll), räkning, boolesk logik
857
+
858
+ ### Utvärderingsstrategier
859
+
860
+ | Strategi | Beskrivning | Exempel |
861
+ | ---------- | ---------------------------------------------------- | -------------------------------- |
862
+ | `exact` | Utdata måste matcha exakt | `"4"` |
863
+ | `contains` | Utdata måste innehålla delsträng (skiftlägeskänslig) | `"Paris"` |
864
+ | `regex` | Utdata måste matcha regexmönster | `"1.*2.*3"` |
865
+ | `custom` | Anpassad JS-funktion returnerar 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
+ > **⚠️ VIKTIGT för användning av OmniRoute med VPS/Docker/serverfjärrkontroll**
874
+
875
+ ### Hur kan du göra Antigravity / Tvilling CLI på fjärrkontroller?
876
+
877
+ Os provedores **Antigravity** och **Gemini CLI** usam **Google OAuth 2.0** för 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
+ Som credenciais OAuth embutidas 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
+ ### Lösning: Konfigurera självständigt OAuth
886
+
887
+ Você precisa criar um **OAuth 2.0 Client ID** no Google Cloud Console com a URI do seu service.
888
+
889
+ #### Passo a passo
890
+
891
+ **1. Åtkomst till 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
+ - Klicka på dem **"+ Skapa inloggningsuppgifter"** → **"OAuth-klient-ID"**
898
+ - Typo de aplicativo: **"Webbapplikation"**
899
+ - Namn: escolha qualquer nome (ex: `OmniRoute Remote`)
900
+
901
+ **3. Adicione som auktoriserade omdirigerings-URI**
902
+
903
+ Ingen campo **"Auktoriserade omdirigerings-URIs"**, adicione:
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. Spara e kopia som credenciais**
912
+
913
+ Após criar, o Google mostrará o **Client ID** e o **Client Secret**.
914
+
915
+ **5. Konfigurera som 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 → Leverantörer → Antigravity (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
+ ### Lösning temporário (som 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á en URL de autorização till Google
953
+ 2. Após você autorizar, o Google tentará redirecionar para `localhost` (que falha no servidor remoto)
954
+ 3. **Kopiera en webbadress komplett** da barra de endereço do seu webbläsare (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. Klicka på **"Anslut"**
957
+
958
+ > Este workaround funciona porque o código de autorização na URL é válido independente do redirect ter carregado ou não.
959
+
960
+ ---
961
+
962
+ ## 🐛 Felsökning
963
+
964
+ <details>
965
+ <summary><b>Klicka för att expandera felsökningsguide</b></summary>
966
+
967
+ **"Språkmodellen gav inga meddelanden"**
968
+
969
+ - Leverantörskvoten är slut → Kontrollera instrumentpanelens kvotföljare
970
+ - Lösning: Använd kombinationsalternativ eller byt till billigare nivå
971
+
972
+ **Taxebegränsning**
973
+
974
+ - Prenumerationskvot ute → Fallback till GLM/MiniMax
975
+ - Lägg till kombination: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
976
+
977
+ **OAuth-token har löpt ut**
978
+
979
+ - Automatisk uppdatering av OmniRoute
980
+ - Om problemen kvarstår: Dashboard → Leverantör → Återanslut
981
+
982
+ **Höga kostnader**
983
+
984
+ - Kontrollera användningsstatistik i Dashboard → Kostnader
985
+ - Byt primär modell till GLM/MiniMax
986
+ - Använd gratis nivå (Gemini CLI, iFlow) för icke-kritiska uppgifter
987
+
988
+ **Dashboard öppnas på fel port**
989
+
990
+ - Set `PORT=20128` och `NEXT_PUBLIC_BASE_URL=http://localhost:20128`
991
+
992
+ **Molnsynkroniseringsfel**
993
+
994
+ - Verifiera att `BASE_URL` pekar på din löpinstans
995
+ - Verifiera `CLOUD_URL` poäng till din förväntade molnslutpunkt
996
+ - Håll `NEXT_PUBLIC_*` värden i linje med värden på serversidan
997
+
998
+ **Första inloggningen fungerar inte**
999
+
1000
+ - Kontrollera `INITIAL_PASSWORD` i `.env`
1001
+ - Om det inte är inställt är reservlösenordet `123456`
1002
+
1003
+ **Inga förfrågningsloggar**
1004
+
1005
+ - Ställ in `ENABLE_REQUEST_LOGS=true` i `.env`
1006
+
1007
+ **Anslutningstest visar "Invalid" för OpenAI-kompatibla leverantörer**
1008
+
1009
+ - Många leverantörer exponerar inte en `/models` slutpunkt
1010
+ - OmniRoute v1.0.6+ inkluderar reservvalidering via chattslutföranden
1011
+ - Se till att baswebbadressen innehåller suffixet `/v1`
1012
+
1013
+ </details>
1014
+
1015
+ ---
1016
+
1017
+ ## 🛠️ Tech Stack
1018
+
1019
+ - **Körtid**: Node.js 18–22 LTS (⚠️ Node.js 24+ stöds **inte** — `better-sqlite3` inbyggda binärer är inkompatibla)
1020
+ - **Språk**: TypeScript 5.9 — **100 % TypeScript** över `src/` och `open-sse/` (v1.0.6)
1021
+ - **Framework**: Next.js 16 + React 19 + Tailwind CSS 4
1022
+ - **Databas**: LowDB (JSON) + SQLite (domäntillstånd + proxyloggar)
1023
+ - **Streaming**: Serversända händelser (SSE)
1024
+ - **Auth**: OAuth 2.0 (PKCE) + JWT + API-nycklar
1025
+ - **Test**: Node.js testlöpare (368+ enhetstester)
1026
+ - **CI/CD**: GitHub-åtgärder (automatisk npm-publicering + Docker Hub vid release)
1027
+ - **Webbplats**: [omniroute.online](https://omniroute.online)
1028
+ - **Paket**: [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
+ - **Resiliens**: Strömbrytare, exponentiell backoff, anti-dundrande flock, TLS-spoofing
1031
+
1032
+ ---
1033
+
1034
+ ## 📖 Dokumentation
1035
+
1036
+ | Dokument | Beskrivning |
1037
+ | -------------------------------------------- | ---------------------------------------------------------- |
1038
+ | [User Guide](docs/USER_GUIDE.md) | Leverantörer, kombinationer, CLI-integration, distribution |
1039
+ | [API Reference](docs/API_REFERENCE.md) | Alla slutpunkter med exempel |
1040
+ | [Troubleshooting](docs/TROUBLESHOOTING.md) | Vanliga problem och lösningar |
1041
+ | [Architecture](docs/ARCHITECTURE.md) | Systemarkitektur och interna delar |
1042
+ | [Contributing](CONTRIBUTING.md) | Utvecklingsupplägg och riktlinjer |
1043
+ | [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0-specifikation |
1044
+ | [Security Policy](SECURITY.md) | Sårbarhetsrapportering och säkerhetsrutiner |
1045
+ | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Komplett guide: VM + nginx + Cloudflare-installation |
1046
+ | [Features Gallery](docs/FEATURES.md) | Visuell visning av instrumentpanelen med skärmdumpar |
1047
+
1048
+ ### 📸 Förhandsgranskning av instrumentpanelen
1049
+
1050
+ <details>
1051
+ <summary><b>Klicka för att se skärmdumpar på instrumentpanelen</b></summary>
1052
+
1053
+ | Sida | Skärmdump |
1054
+ | --------------------- | ------------------------------------------------- |
1055
+ | **Leverantörer** | ![Providers](docs/screenshots/01-providers.png) |
1056
+ | **Kombos** | ![Combos](docs/screenshots/02-combos.png) |
1057
+ | **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) |
1058
+ | **Hälsa** | ![Health](docs/screenshots/04-health.png) |
1059
+ | **Översättare** | ![Translator](docs/screenshots/05-translator.png) |
1060
+ | **Inställningar** | ![Settings](docs/screenshots/06-settings.png) |
1061
+ | **CLI-verktyg** | ![CLI Tools](docs/screenshots/07-cli-tools.png) |
1062
+ | **Användningsloggar** | ![Usage](docs/screenshots/08-usage.png) |
1063
+ | **Slutpunkt** | ![Endpoint](docs/screenshots/09-endpoint.png) |
1064
+
1065
+ </details>
1066
+
1067
+ ---
1068
+
1069
+ ## 🗺️ Färdkarta
1070
+
1071
+ OmniRoute har **210+ funktioner planerade** över flera utvecklingsfaser. Här är nyckelområdena:
1072
+
1073
+ | Kategori | Planerade funktioner | Höjdpunkter |
1074
+ | ------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------ |
1075
+ | 🧠 **Routing & intelligens** | 25+ | Routning med lägsta latens, taggbaserad routing, kvotförhandskontroll, val av P2C-konto |
1076
+ | 🔒 **Säkerhet och efterlevnad** | 20+ | SSRF-härdning, cloaking av autentiseringsuppgifter, hastighetsgräns per endpoint, hanteringsnyckelomfattning |
1077
+ | 📊 **Observerbarhet** | 15+ | OpenTelemetry-integration, kvotövervakning i realtid, kostnadsspårning per modell |
1078
+ | 🔄 **Providerintegrationer** | 20+ | Dynamiskt modellregister, nedkylning av leverantörer, Codex för flera konton, Copilot-kvotanalys |
1079
+ | ⚡ **Prestanda** | 15+ | Dubbla cachelager, promptcache, svarscache, streaming keepalive, batch API |
1080
+ | 🌐 **Ekosystem** | 10+ | WebSocket API, config hot-reload, distribuerad config store, kommersiellt läge |
1081
+
1082
+ ### 🔜 Kommer snart
1083
+
1084
+ - 🔗 **OpenCode Integration** — Inbyggt leverantörsstöd för OpenCode AI-kodnings-IDE
1085
+ - 🔗 **TRAE Integration** — Fullständigt stöd för TRAE AI-utvecklingsramverket
1086
+ - 📦 **Batch API** — Asynkron batchbearbetning för bulkförfrågningar
1087
+ - 🎯 **Taggbaserad routing** — Ruttbegäranden baserade på anpassade taggar och metadata
1088
+ - 💰 **Lägsta kostnadsstrategi** — Välj automatiskt den billigaste tillgängliga leverantören
1089
+
1090
+ > 📝 Fullständiga funktionsspecifikationer tillgängliga i [link](docs/new-features/) (217 detaljerade specifikationer)
1091
+
1092
+ ---
1093
+
1094
+ ## 📧 Support
1095
+
1096
+ > 💬 **Gå med i vår community!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Få hjälp, dela tips och håll dig uppdaterad.
1097
+
1098
+ - **Webbplats**: [omniroute.online](https://omniroute.online)
1099
+ - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
1100
+ - **Frågor**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
1101
+ - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
1102
+ - **Originalprojekt**: [9router by decolua](https://github.com/decolua/9router)
1103
+
1104
+ ---
1105
+
1106
+ ## 👥 Bidragsgivare
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
+ ### Hur man bidrar
1111
+
1112
+ 1. Dela förvaret
1113
+ 2. Skapa din funktionsgren (`git checkout -b feature/amazing-feature`)
1114
+ 3. Bekräfta dina ändringar (`git commit -m 'Add amazing feature'`)
1115
+ 4. Tryck till grenen (`git push origin feature/amazing-feature`)
1116
+ 5. Öppna en Pull Request
1117
+
1118
+ Se [CONTRIBUTING.md](CONTRIBUTING.md) för detaljerade riktlinjer.
1119
+
1120
+ ### Släpper en ny version
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
+ ## 📊 Stjärnhistorik
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
+ ## 🙏 Tack
1142
+
1143
+ Speciellt tack till **[9router](https://github.com/decolua/9router)** av **[decolua](https://github.com/decolua)** — originalprojektet som inspirerade denna gaffel. OmniRoute bygger på den otroliga grunden med ytterligare funktioner, multimodala API:er och en fullständig TypeScript-omskrivning.
1144
+
1145
+ Särskilt tack till **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — den ursprungliga Go-implementeringen som inspirerade denna JavaScript-port.
1146
+
1147
+ ---
1148
+
1149
+ ## 📄 Licens
1150
+
1151
+ MIT-licens - se [LICENSE](LICENSE) för detaljer.
1152
+
1153
+ ---
1154
+
1155
+ ---
1156
+
1157
+ ## 🇧🇷 OmniRoute — Gateway de IA Gratuito
1158
+
1159
+ <a name="-omniroute--gateway-de-ia-gratuito"></a>
1160
+
1161
+ ### Nunca pare de codar. Roteamento inteligente para **modeller de IA GRATUITOS e de baixo custo** com reservautomatisk.
1162
+
1163
+ _Seu proxy universal de API — um endpoint, 36+ tester, noll driftstopp._
1164
+
1165
+ ### 🌐 Internacionalização (i18n)
1166
+
1167
+ O instrumentpanelen gör OmniRoute stöder **múltiplos idiomas**. Attualmente disponível em:
1168
+
1169
+ | Idiom | Código | Status |
1170
+ | ------------------------ | ------- | ----------- |
1171
+ | 🇺🇸 engelska | `en` | ✅ Komplett |
1172
+ | 🇧🇷 Português (Brasilien) | `pt-BR` | ✅ Komplett |
1173
+
1174
+ **Para trocar o idioma:** Clique no selector de idioma (🇺🇸 EN) no header do dashboard → selecione o idioma desejado.
1175
+
1176
+ **För att lägga till ett nytt uttryck:**
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` och `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
+ ### 🐳 Hamnarbetare
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 komplett** — Övervakning, loggar, analyser, konfigurationer
1210
+ - **CLI-verktyg** — Konfigurera Claude Code, Codex, Cursor, Cline com um clique
1211
+ - **100 % TypeScript** — Código limpo e tipado
1212
+
1213
+ ### 📖 Dokumentation
1214
+
1215
+ | Dokument | Beskrivning |
1216
+ | ----------------------------------------------- | --------------------------------------------- |
1217
+ | [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, combos, CLI, distribuera |
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 internos do sistema |
1221
+ | [Contribuição](CONTRIBUTING.md) | Inställning av desenvolvimento och riktlinjer |
1222
+ | [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Komplettera med: VM + nginx + Cloudflare |
1223
+
1224
+ ### 📧 Stöd
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
+ - **Webbplats**: [omniroute.online](https://omniroute.online)
1229
+ - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
1230
+ - **Frågor**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
1231
+
1232
+ ---
1233
+
1234
+ <div align="center">
1235
+ <sub>Byggd med ❤️ för utvecklare som kodar 24/7</sub>
1236
+ <br/>
1237
+ <sub><a href="https://omniroute.online">omniroute.online</a></sub>
1238
+ </div>