omniroute 2.1.0 → 2.1.2

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 (246) hide show
  1. package/README.md +1 -1
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/app-path-routes-manifest.json +55 -55
  4. package/app/.next/build-manifest.json +2 -2
  5. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/.well-known/agent.json/route_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/_global-error.html +2 -2
  42. package/app/.next/server/app/_global-error.rsc +1 -1
  43. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  46. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  47. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  48. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  49. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/a2a/route_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/api/a2a/status/route_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/api/a2a/tasks/[id]/cancel/route_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/api/a2a/tasks/[id]/route_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/api/a2a/tasks/route_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/api/acp/agents/route_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/api/cli-tools/openclaw/auto-order/route_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  75. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/api/combos/auto/route_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/mcp/audit/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/mcp/audit/stats/route_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/api/mcp/sse/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/mcp/stream/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/models/openrouter-catalog/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/models/route.js +1 -1
  107. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  109. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  112. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  120. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/providers/route.js +1 -1
  131. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/usage/quota/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  187. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/docs/page.js +1 -1
  195. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  197. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  204. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app-paths-manifest.json +55 -55
  207. package/app/.next/server/chunks/1909.js +1 -1
  208. package/app/.next/server/chunks/8252.js +1 -1
  209. package/app/.next/server/chunks/8907.js +1 -1
  210. package/app/.next/server/pages/500.html +2 -2
  211. package/app/.next/server/server-reference-manifest.js +1 -1
  212. package/app/.next/server/server-reference-manifest.json +1 -1
  213. package/app/.next/static/chunks/{5846-2907f9dda1834c88.js → 5846-d3aa3ba9dd16fa55.js} +1 -1
  214. package/app/package.json +1 -1
  215. package/package.json +1 -1
  216. package/README.ar.md +0 -1683
  217. package/README.bg.md +0 -1691
  218. package/README.da.md +0 -1692
  219. package/README.de.md +0 -1696
  220. package/README.es.md +0 -1436
  221. package/README.fi.md +0 -1586
  222. package/README.fr.md +0 -1435
  223. package/README.he.md +0 -1586
  224. package/README.hu.md +0 -1586
  225. package/README.id.md +0 -1586
  226. package/README.in.md +0 -1225
  227. package/README.it.md +0 -1434
  228. package/README.ja.md +0 -1583
  229. package/README.ko.md +0 -1586
  230. package/README.ms.md +0 -1587
  231. package/README.nl.md +0 -1586
  232. package/README.no.md +0 -1586
  233. package/README.phi.md +0 -1587
  234. package/README.pl.md +0 -1586
  235. package/README.pt-BR.md +0 -1499
  236. package/README.pt.md +0 -1586
  237. package/README.ro.md +0 -1588
  238. package/README.ru.md +0 -1433
  239. package/README.sk.md +0 -1590
  240. package/README.sv.md +0 -1587
  241. package/README.th.md +0 -1577
  242. package/README.uk-UA.md +0 -1592
  243. package/README.vi.md +0 -1586
  244. package/README.zh-CN.md +0 -1432
  245. /package/app/.next/static/{jBXsbnBQXxbuL3eAmEO72 → xYoMYiq2lWi73ieYn-e4s}/_buildManifest.js +0 -0
  246. /package/app/.next/static/{jBXsbnBQXxbuL3eAmEO72 → xYoMYiq2lWi73ieYn-e4s}/_ssgManifest.js +0 -0
package/README.in.md DELETED
@@ -1,1225 +0,0 @@
1
- <div align="center">
2
-
3
-
4
- # 🚀 ओम्निरूट - निःशुल्क एआई गेटवे
5
-
6
- 🌐 **[English](#-omniroute--the-free-ai-gateway)** | \***\*ओएमएनआई_टोकन_159\*\***
7
-
8
- ### कोडिंग कभी बंद न करें। स्वचालित फ़ॉलबैक के साथ **मुफ़्त और कम लागत वाले AI मॉडल** के लिए स्मार्ट रूटिंग।
9
-
10
- _आपका सार्वभौमिक एपीआई प्रॉक्सी - एक समापन बिंदु, 36+ प्रदाता, शून्य डाउनटाइम।_
11
-
12
- **चैट समापन • एंबेडिंग • छवि निर्माण • ऑडियो • पुनर्रैंकिंग • 100% टाइपस्क्रिप्ट**
13
-
14
- ---
15
-
16
- ### 🚀 New in v2.0.9+ — Playground, CLI Fingerprints & ACP
17
-
18
- | Feature | What It Does |
19
- | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
20
- | 🎮 **Model Playground** | Dashboard page to test any model directly — provider/model/endpoint selectors, Monaco Editor, streaming, abort, timing |
21
- | 🔏 **CLI Fingerprint Matching** | Per-provider header/body ordering to match native CLI signatures — toggle per provider in Settings > Security. **Your proxy IP is preserved** |
22
- | 🤝 **ACP Support (Agent Client Protocol)** | CLI agent discovery (Codex, Claude, Goose, Gemini CLI, OpenClaw), process spawner, `/api/acp/agents` endpoint |
23
- | 🤖 **ACP Agents Dashboard** | Debug > Agents page — grid of 14 agents with install status, version, custom agent form for any CLI tool |
24
- | 🔧 **Custom Model `apiFormat` Routing** | Custom models with `apiFormat: "responses"` now correctly route to the Responses API translator |
25
- | 🏢 **Codex Workspace Isolation** | Multiple Codex workspaces per email — OAuth correctly separates connections by workspace ID |
26
- | 🔄 **Electron Auto-Update** | Desktop app checks for updates + auto-install on restart |
27
-
28
- ### 🤖 आपके पसंदीदा कोडिंग एजेंटों के लिए निःशुल्क एआई प्रदाता
29
-
30
- _OmniRoute के माध्यम से किसी भी AI-संचालित IDE या CLI टूल को कनेक्ट करें - असीमित कोडिंग के लिए निःशुल्क API गेटवे।_
31
-
32
- <sub>📡 सभी एजेंट <code>http://localhost:20128/v1</code> या <code>http://cloud.omniroute.online/v1</code> के माध्यम से जुड़ते हैं - एक कॉन्फ़िगरेशन, असीमित मॉडल और कोटा</sub>
33
-
34
- ---
35
-
36
- [![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute)
37
- [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute)
38
- [![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
39
- [![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online)
40
- [![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
41
-
42
- [🌐 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)
43
-
44
- 🌐 **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)
45
-
46
- ---
47
-
48
- ## 🖼️
49
-
50
- <div align="center">
51
- <img src="./docs/screenshots/MainOmniRoute.png" alt="OmniRoute" width="800"/>
52
- </div>
53
-
54
- ---
55
-
56
- ## 📸
57
-
58
- <details>
59
- <summary><b>...</b></summary>
60
-
61
- | # | # |
62
- | ----- | ---------------------------------------- |
63
- | **1** | ![1](docs/screenshots/01-providers.png) |
64
- | **2** | ![2](docs/screenshots/02-combos.png) |
65
- | **3** | ![3](docs/screenshots/03-analytics.png) |
66
- | **4** | ![4](docs/screenshots/04-health.png) |
67
- | **5** | ![5](docs/screenshots/05-translator.png) |
68
- | **6** | ![6](docs/screenshots/06-settings.png) |
69
- | **7** | ![7](docs/screenshots/07-cli-tools.png) |
70
- | **8** | ![8](docs/screenshots/08-usage.png) |
71
- | **9** | ![9](docs/screenshots/09-endpoint.png) |
72
-
73
- </details>
74
-
75
- ---
76
-
77
- ## 🤔ओम्नीरूट क्यों?
78
-
79
- **पैसा बर्बाद करना और सीमा पार करना बंद करें:**
80
-
81
- - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> सदस्यता कोटा हर महीने अप्रयुक्त रूप से समाप्त हो जाता है
82
- - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> दर सीमा आपको कोडिंग के बीच में रोक देती है
83
- - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> महँगे API ($20-50/माह प्रति प्रदाता)
84
- - <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> प्रदाताओं के बीच मैन्युअल स्विचिंग
85
-
86
- **OmniRoute इसका समाधान करता है:**
87
-
88
- - ✅ **सब्सक्रिप्शन अधिकतम करें** - कोटा ट्रैक करें, रीसेट से पहले हर बिट का उपयोग करें
89
- - ✅ **ऑटो फ़ॉलबैक** - सदस्यता → एपीआई कुंजी → सस्ता → निःशुल्क, शून्य डाउनटाइम
90
- - ✅ **मल्टी-अकाउंट** - प्रति प्रदाता खातों के बीच राउंड-रॉबिन
91
- - ✅ **यूनिवर्सल** - क्लाउड कोड, कोडेक्स, जेमिनी सीएलआई, कर्सर, क्लाइन, ओपनक्लॉ, किसी भी सीएलआई टूल के साथ काम करता है
92
-
93
- ---
94
-
95
- ## 📧समर्थन
96
-
97
- > 💬 **हमारे समुदाय में शामिल हों!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) - सहायता प्राप्त करें, सुझाव साझा करें और अपडेट रहें।
98
-
99
- - **वेबसाइट**: [omniroute.online](https://omniroute.online)
100
- - **गिटहब**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
101
- - **मुद्दे**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
102
- - **व्हाट्सएप**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
103
- - **मूल परियोजना**: [9router by decolua](https://github.com/decolua/9router)
104
-
105
- ---
106
-
107
- ## 🔄 यह कैसे काम करता है
108
-
109
- ```
110
- ┌─────────────┐
111
- │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...)
112
- │ Tool │
113
- └──────┬──────┘
114
- │ http://localhost:20128/v1
115
-
116
- ┌─────────────────────────────────────────┐
117
- │ OmniRoute (Smart Router) │
118
- │ • Format translation (OpenAI ↔ Claude) │
119
- │ • Quota tracking + Embeddings + Images │
120
- │ • Auto token refresh │
121
- └──────┬──────────────────────────────────┘
122
-
123
- ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI
124
- │ ↓ quota exhausted
125
- ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc.
126
- │ ↓ budget limit
127
- ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M)
128
- │ ↓ budget limit
129
- └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited)
130
- - **Ollama Cloud** — Cloud-hosted Ollama models at `api.ollama.com` with free "Light usage" tier; use `ollamacloud/<model>` prefix
131
-
132
- Result: Never stop coding, minimal cost
133
- ```
134
-
135
- ---
136
-
137
- ## 🎯 ओमनीरूट क्या समाधान करता है - 30 वास्तविक समस्या बिंदु और उपयोग के मामले
138
-
139
- > **एआई टूल का उपयोग करने वाला प्रत्येक डेवलपर प्रतिदिन इन समस्याओं का सामना करता है।** ओम्नीरूट को उन सभी को हल करने के लिए बनाया गया था - लागत वृद्धि से लेकर क्षेत्रीय ब्लॉक तक, टूटे हुए ओएथ प्रवाह से लेकर प्रोटोकॉल संचालन और एंटरप्राइज़ अवलोकन तक।
140
-
141
- <details>
142
- <summary><b>💸 1. "मैं एक महंगी सदस्यता के लिए भुगतान करता हूं लेकिन फिर भी सीमा से बाधित होता हूं"</b></summary>
143
-
144
- डेवलपर्स क्लाउड प्रो, कोडेक्स प्रो, या गिटहब कोपायलट के लिए $20-200/माह का भुगतान करते हैं। यहां तक ​​कि भुगतान करने पर भी, कोटा की एक सीमा होती है - 5 घंटे का उपयोग, साप्ताहिक सीमा, या प्रति मिनट की दर सीमा। मध्य-कोडिंग सत्र में, प्रदाता प्रत्युत्तर देना बंद कर देता है और डेवलपर प्रवाह और उत्पादकता खो देता है।
145
-
146
- **ओम्नीरूट इसे कैसे हल करता है:**
147
-
148
- - **स्मार्ट 4-टियर फ़ॉलबैक** - यदि सदस्यता कोटा समाप्त हो जाता है, तो स्वचालित रूप से एपीआई कुंजी पर रीडायरेक्ट हो जाता है → सस्ता → शून्य मैन्युअल हस्तक्षेप के साथ मुफ़्त
149
- - **वास्तविक समय कोटा ट्रैकिंग** - रीसेट उलटी गिनती के साथ वास्तविक समय में टोकन खपत दिखाता है (5 घंटे, दैनिक, साप्ताहिक)
150
- - **मल्टी-अकाउंट सपोर्ट** - ऑटो राउंड-रॉबिन के साथ प्रति प्रदाता एकाधिक खाते - जब एक खत्म हो जाता है, तो अगले पर स्विच हो जाता है
151
- - **कस्टम कॉम्बो** - 6 संतुलन रणनीतियों (भरण-प्रथम, राउंड-रॉबिन, पी2सी, यादृच्छिक, कम से कम उपयोग, लागत-अनुकूलित) के साथ अनुकूलन योग्य फ़ॉलबैक चेन
152
- - **कोडेक्स बिजनेस कोटा** - बिजनेस/टीम कार्यक्षेत्र कोटा की निगरानी सीधे डैशबोर्ड में
153
-
154
- </details>
155
-
156
- <details>
157
- <summary><b>🔌 2. "मुझे कई प्रदाताओं का उपयोग करने की आवश्यकता है लेकिन प्रत्येक के पास एक अलग एपीआई है" </b></summary>
158
-
159
- ओपनएआई एक प्रारूप का उपयोग करता है, क्लाउड (एंथ्रोपिक) दूसरे का उपयोग करता है, जेमिनी एक और का उपयोग करता है। यदि कोई डेवलपर विभिन्न प्रदाताओं के मॉडल का परीक्षण करना चाहता है या उनके बीच फ़ॉलबैक करना चाहता है, तो उन्हें एसडीके को फिर से कॉन्फ़िगर करना होगा, एंडपॉइंट बदलना होगा, असंगत प्रारूपों से निपटना होगा। कस्टम प्रदाताओं (फ्रेंडएलआई, एनआईएम) के पास गैर-मानक मॉडल एंडपॉइंट हैं।
160
-
161
- **ओम्नीरूट इसे कैसे हल करता है:**
162
-
163
- - **एकीकृत समापन बिंदु** - एक एकल `http://localhost:20128/v1` सभी 36+ प्रदाताओं के लिए प्रॉक्सी के रूप में कार्य करता है
164
- - **प्रारूप अनुवाद** - स्वचालित और पारदर्शी: ओपनएआई ↔ क्लाउड ↔ जेमिनी ↔ प्रतिक्रिया एपीआई
165
- - **प्रतिक्रिया स्वच्छता** - गैर-मानक फ़ील्ड (`x_groq`, `usage_breakdown`, `service_tier`) को स्ट्रिप्स करता है जो OpenAI SDK v1.83+ को तोड़ता है
166
- - **भूमिका सामान्यीकरण** - गैर-ओपनएआई प्रदाताओं के लिए `developer` → `system` परिवर्तित करता है; `system` → GLM/ERNIE के लिए `user`
167
- - **टैग एक्सट्रैक्शन के बारे में सोचें** - डीपसीक R1 जैसे मॉडलों से `<think>` ब्लॉक को मानकीकृत `reasoning_content` में निकालता है
168
- - **मिथुन राशि वालों के लिए संरचित आउटपुट** — `json_schema` → `responseMimeType`/`responseSchema` स्वचालित रूपांतरण
169
- - **`stream` डिफ़ॉल्ट रूप से `false`** पर आता है - OpenAI स्पेक के साथ संरेखित होता है, Python/Rust/Go SDKs में अप्रत्याशित SSE से बचता है
170
-
171
- </details>
172
-
173
- <details>
174
- <summary><b>🌐 3. "मेरा AI प्रदाता मेरे क्षेत्र/देश को ब्लॉक कर देता है"</b></summary>
175
-
176
- OpenAI/Codex जैसे प्रदाता कुछ भौगोलिक क्षेत्रों से पहुंच को रोकते हैं। OAuth और API कनेक्शन के दौरान उपयोगकर्ताओं को `unsupported_country_region_territory` जैसी त्रुटियां मिलती हैं। यह विकासशील देशों के डेवलपर्स के लिए विशेष रूप से निराशाजनक है।
177
-
178
- **ओम्नीरूट इसे कैसे हल करता है:**
179
-
180
- - **3-स्तरीय प्रॉक्सी कॉन्फ़िगरेशन** - 3 स्तरों पर कॉन्फ़िगर करने योग्य प्रॉक्सी: वैश्विक (सभी ट्रैफ़िक), प्रति-प्रदाता (केवल एक प्रदाता), और प्रति-कनेक्शन/कुंजी
181
- - **रंग-कोडित प्रॉक्सी बैज** - दृश्य संकेतक: 🟢 वैश्विक प्रॉक्सी, 🟡 प्रदाता प्रॉक्सी, 🔵 कनेक्शन प्रॉक्सी, हमेशा आईपी दिखाता है
182
- - **प्रॉक्सी के माध्यम से OAuth टोकन एक्सचेंज** - OAuth प्रवाह भी प्रॉक्सी के माध्यम से चलता है, `unsupported_country_region_territory` को हल करता है
183
- - **प्रॉक्सी के माध्यम से कनेक्शन परीक्षण** - कनेक्शन परीक्षण कॉन्फ़िगर प्रॉक्सी का उपयोग करते हैं (अब कोई प्रत्यक्ष बाईपास नहीं)
184
- - **SOCKS5 समर्थन** - आउटबाउंड रूटिंग के लिए पूर्ण SOCKS5 प्रॉक्सी समर्थन
185
- - **टीएलएस फिंगरप्रिंट स्पूफिंग** - बॉट डिटेक्शन को बायपास करने के लिए `wreq-js` के माध्यम से ब्राउज़र जैसा टीएलएस फिंगरप्रिंट
186
-
187
- </details>
188
-
189
- <details>
190
- <summary><b>🆓 4. "मैं कोडिंग के लिए AI का उपयोग करना चाहता हूं लेकिन मेरे पास पैसे नहीं हैं"</b></summary>
191
-
192
- हर कोई AI सदस्यता के लिए $20-200/माह का भुगतान नहीं कर सकता। छात्रों, उभरते देशों के डेवलपर्स, शौकीनों और फ्रीलांसरों को शून्य लागत पर गुणवत्ता वाले मॉडल तक पहुंच की आवश्यकता है।
193
-
194
- **ओम्नीरूट इसे कैसे हल करता है:**
195
-
196
- - **फ्री टियर प्रोवाइडर बिल्ट-इन** - 100% फ्री प्रदाताओं के लिए मूल समर्थन: आईफ्लो (8 असीमित मॉडल), क्वेन (3 असीमित मॉडल), किरो (क्लाउड मुफ्त में), जेमिनी सीएलआई (180K/माह मुफ्त)
197
- - **केवल-निःशुल्क कॉम्बो** - चेन `gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus` = शून्य डाउनटाइम के साथ $0/माह
198
- - **एनवीडिया एनआईएम फ्री क्रेडिट** - 1000 मुफ्त क्रेडिट एकीकृत
199
- - **लागत अनुकूलित रणनीति** - रूटिंग रणनीति जो स्वचालित रूप से सबसे सस्ते उपलब्ध प्रदाता को चुनती है
200
-
201
- </details>
202
-
203
- <details>
204
- <summary><b>🔒 5. "मुझे अपने AI गेटवे को अनधिकृत पहुंच से सुरक्षित रखने की आवश्यकता है"</b></summary>
205
-
206
- नेटवर्क (LAN, VPS, Docker) में AI गेटवे को उजागर करते समय, पते वाला कोई भी व्यक्ति डेवलपर के टोकन/कोटा का उपभोग कर सकता है। सुरक्षा के बिना, एपीआई दुरुपयोग, त्वरित इंजेक्शन और दुरुपयोग के प्रति संवेदनशील हैं।
207
-
208
- **ओम्नीरूट इसे कैसे हल करता है:**
209
-
210
- - **एपीआई कुंजी प्रबंधन** - एक समर्पित `/dashboard/api-manager` पेज के साथ प्रति प्रदाता जेनरेशन, रोटेशन और स्कोपिंग
211
- - **मॉडल-स्तरीय अनुमतियाँ** - एपीआई कुंजियों को विशिष्ट मॉडलों (`openai/*`, वाइल्डकार्ड पैटर्न) तक सीमित करें, सभी को अनुमति दें/प्रतिबंधित टॉगल के साथ
212
- - **एपीआई एंडपॉइंट सुरक्षा** - `/v1/models` के लिए एक कुंजी की आवश्यकता है और लिस्टिंग से विशिष्ट प्रदाताओं को ब्लॉक करें
213
- - **ऑथ गार्ड + सीएसआरएफ सुरक्षा** - सभी डैशबोर्ड रूट `withAuth` मिडलवेयर + सीएसआरएफ टोकन से सुरक्षित हैं
214
- - **रेट लिमिटर** - कॉन्फ़िगर करने योग्य विंडो के साथ प्रति-आईपी दर सीमित करना
215
- - **आईपी फ़िल्टरिंग** - अभिगम नियंत्रण के लिए अनुमति सूची/अवरुद्ध सूची
216
- - **प्रॉम्प्ट इंजेक्शन गार्ड** - दुर्भावनापूर्ण प्रॉम्प्ट पैटर्न के विरुद्ध स्वच्छता
217
- - **एईएस-256-जीसीएम एन्क्रिप्शन** - क्रेडेंशियल आराम से एन्क्रिप्ट किए गए
218
-
219
- </details>
220
-
221
- <details>
222
- <summary><b>🛑 6. "मेरा प्रदाता बंद हो गया और मैंने अपना कोडिंग प्रवाह खो दिया"</b></summary>
223
-
224
- एआई प्रदाता अस्थिर हो सकते हैं, 5xx त्रुटियाँ लौटा सकते हैं, या अस्थायी दर सीमा तक पहुँच सकते हैं। यदि कोई डेवलपर किसी एकल प्रदाता पर निर्भर करता है, तो वे बाधित हो जाते हैं। सर्किट ब्रेकर के बिना, बार-बार पुनः प्रयास करने से एप्लिकेशन क्रैश हो सकता है।
225
-
226
- **ओम्नीरूट इसे कैसे हल करता है:**
227
-
228
- - **सर्किट ब्रेकर प्रति-प्रदाता** - कॉन्फ़िगर करने योग्य थ्रेसहोल्ड और कूलडाउन के साथ ऑटो-खुला/बंद (बंद/खुला/आधा-खुला)
229
- - **एक्सपोनेंशियल बैकऑफ़** - प्रगतिशील पुनः प्रयास में देरी
230
- - **एंटी-थंडरिंग हर्ड** - म्यूटेक्स + समवर्ती रिट्री तूफानों के खिलाफ सेमाफोर सुरक्षा
231
- - **कॉम्बो फ़ॉलबैक चेन** - यदि प्राथमिक प्रदाता विफल हो जाता है, तो बिना किसी हस्तक्षेप के स्वचालित रूप से चेन से गिर जाता है
232
- - **कॉम्बो सर्किट ब्रेकर** - कॉम्बो श्रृंखला के भीतर विफल प्रदाताओं को स्वचालित रूप से अक्षम करता है
233
- - **स्वास्थ्य डैशबोर्ड** - अपटाइम मॉनिटरिंग, सर्किट ब्रेकर स्थिति, लॉकआउट, कैश आँकड़े, p50/p95/p99 विलंबता
234
-
235
- </details>
236
-
237
- <details>
238
- <summary><b>🔧 7. "प्रत्येक AI उपकरण को कॉन्फ़िगर करना कठिन और दोहराव वाला है"</b></summary>
239
-
240
- डेवलपर्स कर्सर, क्लाउड कोड, कोडेक्स सीएलआई, ओपनक्लाव, जेमिनी सीएलआई, किलो कोड का उपयोग करते हैं... प्रत्येक टूल को एक अलग कॉन्फ़िगरेशन (एपीआई एंडपॉइंट, कुंजी, मॉडल) की आवश्यकता होती है। प्रदाताओं या मॉडलों को स्विच करते समय पुन: कॉन्फ़िगर करना समय की बर्बादी है।
241
-
242
- **ओम्नीरूट इसे कैसे हल करता है:**
243
-
244
- - **सीएलआई टूल्स डैशबोर्ड** - क्लाउड कोड, कोडेक्स सीएलआई, ओपनक्लाव, किलो कोड, एंटीग्रेविटी, क्लाइन के लिए एक-क्लिक सेटअप वाला समर्पित पृष्ठ
245
- - **GitHub Copilot कॉन्फिग जेनरेटर** - बल्क मॉडल चयन के साथ VS कोड के लिए `chatLanguageModels.json` जेनरेट करता है
246
- - **ऑनबोर्डिंग विज़ार्ड** - पहली बार उपयोगकर्ताओं के लिए निर्देशित 4-चरणीय सेटअप
247
- - **एक समापन बिंदु, सभी मॉडल** - `http://localhost:20128/v1` को एक बार कॉन्फ़िगर करें, 36+ प्रदाताओं तक पहुंचें
248
-
249
- </details>
250
-
251
- <details>
252
- <summary><b>🔑 8. "एकाधिक प्रदाताओं से OAuth टोकन प्रबंधित करना नरक है"</b></summary>
253
-
254
- क्लाउड कोड, कोडेक्स, जेमिनी सीएलआई, कोपायलट - सभी समाप्त होने वाले टोकन के साथ OAuth 2.0 का उपयोग करते हैं। डेवलपर्स को लगातार पुन: प्रमाणित करने, `client_secret is missing`, `redirect_uri_mismatch` और दूरस्थ सर्वर पर विफलताओं से निपटने की आवश्यकता है। LAN/VPS पर OAuth विशेष रूप से समस्याग्रस्त है।
255
-
256
- **ओम्नीरूट इसे कैसे हल करता है:**
257
-
258
- - **ऑटो टोकन रिफ्रेश** - OAuth टोकन समाप्ति से पहले पृष्ठभूमि में रिफ्रेश होते हैं
259
- - **OAuth 2.0 (PKCE) बिल्ट-इन** - क्लाउड कोड, कोडेक्स, जेमिनी सीएलआई, कोपायलट, किरो, क्वेन, आईफ्लो के लिए स्वचालित प्रवाह
260
- - **मल्टी-अकाउंट OAuth** - JWT/ID टोकन निष्कर्षण के माध्यम से प्रति प्रदाता एकाधिक खाते
261
- - **OAuth LAN/रिमोट फिक्स** - `redirect_uri` के लिए निजी आईपी डिटेक्शन + रिमोट सर्वर के लिए मैनुअल यूआरएल मोड
262
- - **Nginx के पीछे OAuth** - रिवर्स प्रॉक्सी संगतता के लिए `window.location.origin` का उपयोग करता है
263
- - **दूरस्थ OAuth मार्गदर्शिका** — VPS/Docker पर Google क्लाउड क्रेडेंशियल के लिए चरण-दर-चरण मार्गदर्शिका
264
-
265
- </details>
266
-
267
- <details>
268
- <summary><b>📊 9. "मुझे नहीं पता कि मैं कितना और कहां खर्च कर रहा हूं"</b></summary>
269
-
270
- डेवलपर्स कई भुगतान प्रदाताओं का उपयोग करते हैं लेकिन खर्च के बारे में कोई एकीकृत दृष्टिकोण नहीं रखते हैं। प्रत्येक प्रदाता का अपना बिलिंग डैशबोर्ड होता है, लेकिन कोई समेकित दृश्य नहीं होता है। अप्रत्याशित लागतें बढ़ सकती हैं।
271
-
272
- **ओम्नीरूट इसे कैसे हल करता है:**
273
-
274
- - **लागत विश्लेषण डैशबोर्ड** — प्रति प्रदाता प्रति टोकन लागत ट्रैकिंग और बजट प्रबंधन
275
- - **प्रति स्तर बजट सीमा** - प्रति स्तर खर्च की अधिकतम सीमा जो स्वचालित फ़ॉलबैक को ट्रिगर करती है
276
- - **प्रति-मॉडल मूल्य निर्धारण कॉन्फ़िगरेशन** - प्रति मॉडल कॉन्फ़िगर करने योग्य कीमतें
277
- - **प्रति एपीआई कुंजी उपयोग सांख्यिकी** - अनुरोध गणना और प्रति कुंजी अंतिम बार उपयोग किया गया टाइमस्टैम्प
278
- - **एनालिटिक्स डैशबोर्ड** - स्टेट कार्ड, मॉडल उपयोग चार्ट, सफलता दर और विलंबता के साथ प्रदाता तालिका
279
-
280
- </details>
281
-
282
- <details>
283
- <summary><b>🐛 10. "मैं AI कॉल में त्रुटियों और समस्याओं का निदान नहीं कर सकता"</b></summary>
284
-
285
- जब कोई कॉल विफल हो जाती है, तो देव को पता नहीं चलता कि यह दर सीमा, समाप्त टोकन, गलत प्रारूप या प्रदाता त्रुटि थी। विभिन्न टर्मिनलों पर खंडित लॉग। अवलोकन के बिना, डिबगिंग परीक्षण-और-त्रुटि है।
286
-
287
- **ओम्नीरूट इसे कैसे हल करता है:**
288
-
289
- - **एकीकृत लॉग डैशबोर्ड** - 4 टैब: अनुरोध लॉग, प्रॉक्सी लॉग, ऑडिट लॉग, कंसोल
290
- - **कंसोल लॉग व्यूअर** - रंग-कोडित स्तरों, ऑटो-स्क्रॉल, खोज, फ़िल्टर के साथ वास्तविक समय टर्मिनल-शैली व्यूअर
291
- - **SQLite प्रॉक्सी लॉग** - लगातार लॉग जो सर्वर पुनरारंभ होने से बचे रहते हैं
292
- - **अनुवादक खेल का मैदान** - 4 डिबगिंग मोड: खेल का मैदान (प्रारूप अनुवाद), चैट टेस्टर (राउंड-ट्रिप), टेस्ट बेंच (बैच), लाइव मॉनिटर (वास्तविक समय)
293
- - **अनुरोध टेलीमेट्री** - p50/p95/p99 विलंबता + X-अनुरोध-आईडी ट्रेसिंग
294
- - **रोटेशन के साथ फ़ाइल-आधारित लॉगिंग** - कंसोल इंटरसेप्टर आकार-आधारित रोटेशन के साथ JSON लॉग में सब कुछ कैप्चर करता है
295
-
296
- </details>
297
-
298
- <details>
299
- <summary><b>🏗️ 11. "गेटवे की तैनाती और रखरखाव जटिल है"</b></summary>
300
-
301
- विभिन्न वातावरणों (स्थानीय, वीपीएस, डॉकर, क्लाउड) में एआई प्रॉक्सी को स्थापित करना, कॉन्फ़िगर करना और बनाए रखना श्रम-गहन है। हार्डकोडेड पथ, निर्देशिकाओं पर `EACCES`, पोर्ट विरोध और क्रॉस-प्लेटफ़ॉर्म बिल्ड जैसी समस्याएं घर्षण बढ़ाती हैं।
302
-
303
- **ओम्नीरूट इसे कैसे हल करता है:**
304
-
305
- - **npm ग्लोबल इंस्टाल** — `npm install -g omniroute && omniroute` — हो गया
306
- - **डॉकर मल्टी-प्लेटफ़ॉर्म** - AMD64 + ARM64 नेटिव (Apple सिलिकॉन, AWS ग्रेविटॉन, रास्पबेरी पाई)
307
- - **डॉकर कंपोज प्रोफाइल** - `base` (कोई CLI उपकरण नहीं) और `cli` (क्लाउड कोड, कोडेक्स, ओपनक्लाव के साथ)
308
- - **इलेक्ट्रॉन डेस्कटॉप ऐप** - सिस्टम ट्रे, ऑटो-स्टार्ट, ऑफ़लाइन मोड के साथ विंडोज/मैकओएस/लिनक्स के लिए मूल ऐप
309
- - **स्प्लिट-पोर्ट मोड** - उन्नत परिदृश्यों के लिए अलग-अलग पोर्ट पर एपीआई और डैशबोर्ड (रिवर्स प्रॉक्सी, कंटेनर नेटवर्किंग)
310
- - **क्लाउड सिंक** - क्लाउडफ्लेयर वर्कर्स के माध्यम से सभी डिवाइसों में कॉन्फिग सिंक्रोनाइजेशन
311
- - **डीबी बैकअप** - सभी सेटिंग्स का स्वचालित बैकअप, पुनर्स्थापना, निर्यात और आयात
312
-
313
- </details>
314
-
315
- <details>
316
- <summary><b>🌍 12. "इंटरफ़ेस केवल अंग्रेजी है और मेरी टीम अंग्रेजी नहीं बोलती है"</b></summary>
317
-
318
- गैर-अंग्रेजी भाषी देशों, विशेष रूप से लैटिन अमेरिका, एशिया और यूरोप में टीमें, केवल अंग्रेजी इंटरफेस के साथ संघर्ष करती हैं। भाषा बाधाएँ अपनाने को कम करती हैं और कॉन्फ़िगरेशन त्रुटियों को बढ़ाती हैं।
319
-
320
- **ओम्नीरूट इसे कैसे हल करता है:**
321
-
322
- - **डैशबोर्ड i18n - 30 भाषाएँ** - अरबी, बल्गेरियाई, डेनिश, जर्मन, स्पेनिश, फिनिश, फ्रेंच, हिब्रू, हिंदी, हंगेरियन, इंडोनेशियाई, इतालवी, जापानी, कोरियाई, मलय, डच, नॉर्वेजियन, पोलिश, पुर्तगाली (पीटी/बीआर), रोमानियाई, रूसी, स्लोवाक, स्वीडिश, थाई, यूक्रेनी, वियतनामी, चीनी, फिलिपिनो, अंग्रेजी सहित सभी 500+ कुंजियाँ अनुवादित
323
- - **आरटीएल समर्थन** - अरबी और हिब्रू के लिए दाएं से बाएं समर्थन
324
- - **बहु-भाषा रीडमी** - 30 पूर्ण दस्तावेज़ीकरण अनुवाद
325
- - **भाषा चयनकर्ता** - वास्तविक समय स्विचिंग के लिए हेडर में ग्लोब आइकन
326
-
327
- </details>
328
-
329
- <details>
330
- <summary><b>🔄 13. "मुझे चैट से अधिक की आवश्यकता है - मुझे एम्बेडिंग, चित्र, ऑडियो की आवश्यकता है"</b></summary>
331
-
332
- एआई का मतलब सिर्फ चैट पूरा करना नहीं है। डेवलपर्स को छवियां उत्पन्न करने, ऑडियो ट्रांसक्राइब करने, आरएजी के लिए एम्बेडिंग बनाने, दस्तावेज़ों को फिर से रैंक करने और सामग्री को मॉडरेट करने की आवश्यकता होती है। प्रत्येक एपीआई का एक अलग समापन बिंदु और प्रारूप होता है।
333
-
334
- **ओम्नीरूट इसे कैसे हल करता है:**
335
-
336
- - **एम्बेडिंग्स** - 6 प्रदाताओं और 9+ मॉडलों के साथ `/v1/embeddings`
337
- - **इमेज जेनरेशन** - `/v1/images/generations` 10 प्रदाताओं और 20+ मॉडलों के साथ (ओपनएआई, एक्सएआई, टुगेदर, फायरवर्क्स, नेबियस, हाइपरबोलिक, नैनोबनाना, एंटीग्रेविटी, एसडी वेबयूआई, कॉम्फीयूआई)
338
- - **टेक्स्ट-टू-वीडियो** — `/v1/videos/generations` — कॉम्फीयूआई (एनिमेटडिफ, एसवीडी) और एसडी वेबयूआई
339
- - **टेक्स्ट-टू-म्यूजिक** — `/v1/music/generations` — कॉम्फीयूआई (स्थिर ऑडियो ओपन, म्यूजिकजेन)
340
- - **ऑडियो ट्रांसक्रिप्शन** - `/v1/audio/transcriptions` - व्हिस्पर + एनवीडिया एनआईएम, हगिंगफेस, क्वेन3
341
- - **टेक्स्ट-टू-स्पीच** - `/v1/audio/speech` - इलेवनलैब्स, एनवीडिया एनआईएम, हगिंगफेस, कोक्वी, टोरटोइज़, क्वेन3, + मौजूदा प्रदाता
342
- - **संयम** — `/v1/moderations` — सामग्री सुरक्षा जांच
343
- - **पुनर्रैंकिंग** — `/v1/rerank` — दस्तावेज़ प्रासंगिकता पुनर्रैंकिंग
344
- - **प्रतिक्रिया एपीआई** - कोडेक्स के लिए पूर्ण `/v1/responses` समर्थन
345
-
346
- </details>
347
-
348
- <details>
349
- <summary><b>🧪 14. "मेरे पास सभी मॉडलों की गुणवत्ता का परीक्षण और तुलना करने का कोई तरीका नहीं है"</b></summary>
350
-
351
- डेवलपर्स जानना चाहते हैं कि उनके उपयोग के मामले में कौन सा मॉडल सबसे अच्छा है - कोड, अनुवाद, तर्क - लेकिन मैन्युअल रूप से तुलना करना धीमा है। कोई एकीकृत eval उपकरण मौजूद नहीं है।
352
-
353
- **ओम्नीरूट इसे कैसे हल करता है:**
354
-
355
- - **एलएलएम मूल्यांकन** - अभिवादन, गणित, भूगोल, कोड जनरेशन, JSON अनुपालन, अनुवाद, मार्कडाउन, सुरक्षा इनकार को कवर करने वाले 10 प्री-लोडेड मामलों के साथ गोल्डन सेट परीक्षण
356
- - **4 मैच रणनीतियाँ** - `exact`, `contains`, `regex`, `custom` (JS फ़ंक्शन)
357
- - **अनुवादक खेल का मैदान परीक्षण बेंच** - एकाधिक इनपुट और अपेक्षित आउटपुट, क्रॉस-प्रदाता तुलना के साथ बैच परीक्षण
358
- - **चैट परीक्षक** - दृश्य प्रतिक्रिया प्रतिपादन के साथ पूर्ण राउंड-ट्रिप
359
- - **लाइव मॉनिटर** - प्रॉक्सी के माध्यम से बहने वाले सभी अनुरोधों की वास्तविक समय स्ट्रीम
360
-
361
- </details>
362
-
363
- <details>
364
- <summary><b>📈 15. "मुझे प्रदर्शन खोए बिना स्केल करने की आवश्यकता है"</b></summary>
365
-
366
- जैसे-जैसे अनुरोध की मात्रा बढ़ती है, कैशिंग के बिना वही प्रश्न डुप्लिकेट लागत उत्पन्न करते हैं। निष्क्रियता के बिना, डुप्लिकेट अपशिष्ट प्रसंस्करण का अनुरोध करता है। प्रति-प्रदाता दर सीमा का सम्मान किया जाना चाहिए।
367
-
368
- **ओम्नीरूट इसे कैसे हल करता है:**
369
-
370
- - **सिमेंटिक कैश** - दो-स्तरीय कैश (हस्ताक्षर + सिमेंटिक) लागत और विलंबता को कम करता है
371
- - **अनुरोध Idempotency** - समान अनुरोधों के लिए 5s डिडुप्लीकेशन विंडो
372
- - **दर सीमा का पता लगाना** - प्रति-प्रदाता आरपीएम, न्यूनतम अंतर, और अधिकतम समवर्ती ट्रैकिंग
373
- - **संपादन योग्य दर सीमाएँ** — सेटिंग्स में कॉन्फ़िगर करने योग्य डिफ़ॉल्ट → दृढ़ता के साथ लचीलापन
374
- - **एपीआई कुंजी सत्यापन कैश** - उत्पादन प्रदर्शन के लिए 3-स्तरीय कैश
375
- - **टेलीमेट्री के साथ स्वास्थ्य डैशबोर्ड** — p50/p95/p99 विलंबता, कैश आँकड़े, अपटाइम
376
-
377
- </details>
378
-
379
- <details>
380
- <summary><b>🤖 16. "मैं विश्व स्तर पर मॉडल व्यवहार को नियंत्रित करना चाहता हूं"</b></summary>
381
-
382
- ऐसे डेवलपर जो सभी प्रतिक्रियाएं एक विशिष्ट भाषा में, एक विशिष्ट लहजे में चाहते हैं, या तर्क टोकन को सीमित करना चाहते हैं। प्रत्येक टूल/अनुरोध में इसे कॉन्फ़िगर करना अव्यावहारिक है।
383
-
384
- **ओम्नीरूट इसे कैसे हल करता है:**
385
-
386
- - **सिस्टम प्रॉम्प्ट इंजेक्शन** — ग्लोबल प्रॉम्प्ट सभी अनुरोधों पर लागू होता है
387
- - **सोच बजट सत्यापन** - प्रति अनुरोध तर्क टोकन आवंटन नियंत्रण (पासथ्रू, ऑटो, कस्टम, अनुकूली)
388
- - **6 रूटिंग रणनीतियाँ** - वैश्विक रणनीतियाँ जो यह निर्धारित करती हैं कि अनुरोध कैसे वितरित किए जाते हैं
389
- - **वाइल्डकार्ड राउटर** - `provider/*` पैटर्न किसी भी प्रदाता को गतिशील रूप से रूट करता है
390
- - **कॉम्बो सक्षम/अक्षम टॉगल** — कॉम्बो को सीधे डैशबोर्ड से टॉगल करें
391
- - **प्रदाता टॉगल** — एक क्लिक से प्रदाता के लिए सभी कनेक्शन सक्षम/अक्षम करें
392
- - **अवरुद्ध प्रदाता** - `/v1/models` सूची से विशिष्ट प्रदाताओं को बाहर करें
393
-
394
- </details>
395
-
396
- <details>
397
- <summary><b>🧰 17. "मुझे प्रथम श्रेणी उत्पाद क्षमताओं के रूप में MCP टूल की आवश्यकता है"</b></summary>
398
-
399
- कई एआई गेटवे एमसीपी को केवल एक छिपे हुए कार्यान्वयन विवरण के रूप में उजागर करते हैं। टीमों को एक दृश्यमान, प्रबंधनीय संचालन परत की आवश्यकता होती है।
400
-
401
- **ओम्नीरूट इसे कैसे हल करता है:**
402
-
403
- - एमसीपी डैशबोर्ड नेविगेशन और एंडपॉइंट प्रोटोकॉल टैब में दिखाई देता है
404
- - प्रक्रिया, उपकरण, कार्यक्षेत्र और ऑडिट के साथ समर्पित एमसीपी प्रबंधन पृष्ठ
405
- - `omniroute --mcp` और क्लाइंट ऑनबोर्डिंग के लिए बिल्ट-इन क्विक-स्टार्ट
406
-
407
- </details>
408
-
409
- <details>
410
- <summary><b>🧠 18. "मुझे सिंक + स्ट्रीम कार्य पथों के साथ A2A ऑर्केस्ट्रेशन की आवश्यकता है"</b></summary>
411
-
412
- एजेंट वर्कफ़्लो को जीवनचक्र नियंत्रण के साथ सीधे उत्तर और लंबे समय तक चलने वाले स्ट्रीम निष्पादन दोनों की आवश्यकता होती है।
413
-
414
- **ओम्नीरूट इसे कैसे हल करता है:**
415
-
416
- - A2A JSON-RPC एंडपॉइंट (`POST /a2a`) `message/send` और `message/stream` के साथ
417
- - टर्मिनल राज्य प्रसार के साथ एसएसई स्ट्रीमिंग
418
- - `tasks/get` और `tasks/cancel` के लिए कार्य जीवनचक्र एपीआई
419
-
420
- </details>
421
-
422
- <details>
423
- <summary><b>🛰️ 19. "मुझे वास्तविक MCP प्रक्रिया स्वास्थ्य की आवश्यकता है, अनुमानित स्थिति की नहीं"</b></summary>
424
-
425
- परिचालन टीमों को यह जानने की जरूरत है कि क्या एमसीपी वास्तव में जीवित है, न कि केवल एपीआई पहुंच योग्य है या नहीं।
426
-
427
- **ओम्नीरूट इसे कैसे हल करता है:**
428
-
429
- - पीआईडी, टाइमस्टैम्प, ट्रांसपोर्ट, टूल काउंट और स्कोप मोड के साथ रनटाइम हार्टबीट फ़ाइल
430
- - एमसीपी स्थिति एपीआई दिल की धड़कन + हाल की गतिविधि का संयोजन
431
- - प्रक्रिया/अपटाइम/दिल की धड़कन ताजगी के लिए यूआई स्टेटस कार्ड
432
-
433
- </details>
434
-
435
- <details>
436
- <summary><b>📋 20. "मुझे ऑडिटेबल MCP टूल निष्पादन की आवश्यकता है"</b></summary>
437
-
438
- जब उपकरण कॉन्फ़िगरेशन को बदलते हैं या ऑप्स क्रियाओं को ट्रिगर करते हैं, तो टीमों को फोरेंसिक ट्रैसेबिलिटी की आवश्यकता होती है।
439
-
440
- **ओम्नीरूट इसे कैसे हल करता है:**
441
-
442
- - MCP टूल कॉल के लिए SQLite समर्थित ऑडिट लॉगिंग
443
- - टूल, सफलता/असफलता, एपीआई कुंजी और पेजिनेशन द्वारा फ़िल्टर
444
- - डैशबोर्ड ऑडिट टेबल + स्वचालन के लिए आँकड़े समापन बिंदु
445
-
446
- </details>
447
-
448
- <details>
449
- <summary><b>🔐 21. "मुझे प्रति एकीकरण के लिए स्कोप्ड MCP अनुमतियों की आवश्यकता है"</b></summary>
450
-
451
- विभिन्न ग्राहकों को टूल श्रेणियों तक कम से कम विशेषाधिकार प्राप्त होना चाहिए।
452
-
453
- **ओम्नीरूट इसे कैसे हल करता है:**
454
-
455
- - नियंत्रित टूल एक्सेस के लिए 9 दानेदार एमसीपी स्कोप
456
- - एमसीपी प्रबंधन यूआई में दायरा प्रवर्तन और दृश्यता
457
- - परिचालन टूलींग के लिए सुरक्षित डिफ़ॉल्ट मुद्रा
458
-
459
- </details>
460
-
461
- <details>
462
- <summary><b>⚙️ 22. "मुझे पुनः तैनाती के बिना परिचालन नियंत्रण की आवश्यकता है"</b></summary>
463
-
464
- घटनाओं या लागत आयोजनों के दौरान टीमों को त्वरित रनटाइम परिवर्तन की आवश्यकता होती है।
465
-
466
- **ओम्नीरूट इसे कैसे हल करता है:**
467
-
468
- - कॉम्बो सक्रियण को सीधे एमसीपी डैशबोर्ड से स्विच करें
469
- - पूर्व-निर्धारित पॉलिसी पैक से लचीलापन प्रोफ़ाइल लागू करें
470
- - उसी ऑपरेशन पैनल से सर्किट ब्रेकर स्थिति को रीसेट करें
471
-
472
- </details>
473
-
474
- <details>
475
- <summary><b>🔄 23. "मुझे लाइव A2A कार्य जीवनचक्र दृश्यता और रद्दीकरण की आवश्यकता है"</b></summary>
476
-
477
- जीवनचक्र दृश्यता के बिना, कार्य घटनाओं का परीक्षण करना कठिन हो जाता है।
478
-
479
- **ओम्नीरूट इसे कैसे हल करता है:**
480
-
481
- - पेजिनेशन के साथ राज्य/कौशल द्वारा कार्य सूचीकरण/फ़िल्टरिंग
482
- - कार्य मेटाडेटा, घटनाओं और कलाकृतियों पर ड्रिल-डाउन
483
- - पुष्टि के साथ कार्य रद्दीकरण समापन बिंदु और यूआई कार्रवाई
484
-
485
- </details>
486
-
487
- <details>
488
- <summary><b>🌊 24. "मुझे A2A लोड के लिए सक्रिय स्ट्रीम मेट्रिक्स की आवश्यकता है"</b></summary>
489
-
490
- स्ट्रीमिंग वर्कफ़्लो के लिए समवर्ती और लाइव कनेक्शन में परिचालन अंतर्दृष्टि की आवश्यकता होती है।
491
-
492
- **ओम्नीरूट इसे कैसे हल करता है:**
493
-
494
- - सक्रिय स्ट्रीम काउंटर A2A स्थिति में एकीकृत
495
- - अंतिम कार्य टाइमस्टैम्प और प्रति-राज्य गणना
496
- - वास्तविक समय ऑप्स निगरानी के लिए A2A डैशबोर्ड कार्ड
497
-
498
- </details>
499
-
500
- <details>
501
- <summary><b>🪪 25. "मुझे ग्राहकों के लिए मानक एजेंट खोज की आवश्यकता है"</b></summary>
502
-
503
- बाहरी ग्राहकों और ऑर्केस्ट्रेटर्स को ऑनबोर्डिंग के लिए मशीन-पठनीय मेटाडेटा की आवश्यकता होती है।
504
-
505
- **ओम्नीरूट इसे कैसे हल करता है:**
506
-
507
- - एजेंट कार्ड `/.well-known/agent.json` पर प्रदर्शित हुआ
508
- - प्रबंधन यूआई में दिखाई गई क्षमताएं और कौशल
509
- - A2A स्थिति API में स्वचालन के लिए खोज मेटाडेटा शामिल है
510
-
511
- </details>
512
-
513
- <details>
514
- <summary><b>🧭 26. "मुझे उत्पाद UX में प्रोटोकॉल खोज योग्यता की आवश्यकता है"</b></summary>
515
-
516
- यदि उपयोगकर्ता प्रोटोकॉल सतहों की खोज नहीं कर पाते हैं, तो अपनाने और समर्थन की गुणवत्ता में गिरावट आती है।
517
-
518
- **ओम्नीरूट इसे कैसे हल करता है:**
519
-
520
- - MCP और A2A के लिए साइडबार प्रविष्टियाँ
521
- - समापन बिंदु पृष्ठ प्रोटोकॉल टैब त्वरित-प्रारंभ और स्थिति के साथ
522
- - सिंहावलोकन से लेकर समर्पित प्रबंधन डैशबोर्ड तक के लिंक
523
-
524
- </details>
525
-
526
- <details>
527
- <summary><b>🧪 27. "मुझे वास्तविक ग्राहकों के साथ एंड-टू-एंड प्रोटोकॉल सत्यापन की आवश्यकता है"</b></summary>
528
-
529
- रिलीज़ से पहले प्रोटोकॉल संगतता को सत्यापित करने के लिए मॉक परीक्षण पर्याप्त नहीं हैं।
530
-
531
- **ओम्नीरूट इसे कैसे हल करता है:**
532
-
533
- - E2E सुइट जो ऐप को बूट करता है और वास्तविक MCP SDK क्लाइंट ट्रांसपोर्ट का उपयोग करता है
534
- - A2A क्लाइंट खोज, भेजने, स्ट्रीम करने, प्राप्त करने और प्रवाह को रद्द करने के लिए परीक्षण करता है
535
- - एमसीपी ऑडिट और ए2ए कार्य एपीआई के खिलाफ दावों की क्रॉस-चेक करें
536
-
537
- </details>
538
-
539
- <details>
540
- <summary><b>📡 28. "मुझे सभी इंटरफेस में एकीकृत अवलोकन की आवश्यकता है"</b></summary>
541
-
542
- प्रोटोकॉल द्वारा अवलोकनशीलता को विभाजित करने से ब्लाइंड स्पॉट और लंबा एमटीटीआर बनता है।
543
-
544
- **ओम्नीरूट इसे कैसे हल करता है:**
545
-
546
- - एक उत्पाद में एकीकृत डैशबोर्ड/लॉग/एनालिटिक्स
547
- - स्वास्थ्य + ऑडिट + ओपनएआई, एमसीपी और ए2ए परतों में टेलीमेट्री अनुरोध
548
- - स्थिति और स्वचालन के लिए परिचालन एपीआई
549
-
550
- </details>
551
-
552
- <details>
553
- <summary><b>💼 29. "मुझे प्रॉक्सी + टूल + एजेंट ऑर्केस्ट्रेशन के लिए एक रनटाइम की आवश्यकता है" </b></summary>
554
-
555
- कई अलग-अलग सेवाएँ चलाने से परिचालन लागत और विफलता मोड बढ़ जाते हैं।
556
-
557
- **ओम्नीरूट इसे कैसे हल करता है:**
558
-
559
- - OpenAI-संगत प्रॉक्सी, MCP सर्वर और A2A सर्वर एक स्टैक में
560
- - साझा प्रमाणीकरण, लचीलापन, डेटा भंडारण और अवलोकन क्षमता
561
- - सभी संपर्क सतहों पर सुसंगत नीति मॉडल
562
-
563
- </details>
564
-
565
- <details>
566
- <summary><b>🚀 30. "मुझे ग्लू-कोड फैलाव के बिना एजेंटिक वर्कफ़्लो भेजने की आवश्यकता है"</b></summary>
567
-
568
- कई तदर्थ सेवाओं और स्क्रिप्ट्स को सिलाई करते समय टीमों की गति कम हो जाती है।
569
-
570
- **ओम्नीरूट इसे कैसे हल करता है:**
571
-
572
- - ग्राहकों और एजेंटों के लिए एकीकृत समापन बिंदु रणनीति
573
- - अंतर्निहित प्रोटोकॉल प्रबंधन यूआई और धूम्रपान सत्यापन पथ
574
- - उत्पादन के लिए तैयार नींव (सुरक्षा, लॉगिंग, लचीलापन, बैकअप)
575
-
576
- </details>
577
-
578
- ### उदाहरण प्लेबुक (एकीकृत उपयोग के मामले)
579
-
580
- **प्लेबुक ए: सशुल्क सदस्यता + सस्ता बैकअप अधिकतम करें**
581
-
582
- ```txt
583
- Combo: "maximize-claude"
584
- 1. cc/claude-opus-4-6
585
- 2. glm/glm-4.7
586
- 3. if/kimi-k2-thinking
587
-
588
- Monthly cost: $20 + small backup spend
589
- Outcome: higher quality, near-zero interruption
590
- ```
591
-
592
- **प्लेबुक बी: शून्य-लागत कोडिंग स्टैक**
593
-
594
- ```txt
595
- Combo: "free-forever"
596
- 1. gc/gemini-3-flash
597
- 2. if/kimi-k2-thinking
598
- 3. qw/qwen3-coder-plus
599
-
600
- Monthly cost: $0
601
- Outcome: stable free coding workflow
602
- ```
603
-
604
- **प्लेबुक सी: 24/7 हमेशा चालू फ़ॉलबैक श्रृंखला**
605
-
606
- ```txt
607
- Combo: "always-on"
608
- 1. cc/claude-opus-4-6
609
- 2. cx/gpt-5.2-codex
610
- 3. glm/glm-4.7
611
- 4. minimax/MiniMax-M2.1
612
- 5. if/kimi-k2-thinking
613
-
614
- Outcome: deep fallback depth for deadline-critical workloads
615
- ```
616
-
617
- **प्लेबुक डी: एजेंट एमसीपी + ए2ए के साथ काम करता है**
618
-
619
- ```txt
620
- 1) Start MCP transport (`omniroute --mcp`) for tool-driven operations
621
- 2) Run A2A tasks via `message/send` and `message/stream`
622
- 3) Observe via /dashboard/mcp and /dashboard/a2a
623
- 4) Control incidents with resilience profile + task cancellation
624
- ```
625
-
626
- ---
627
-
628
- ## ⚡ त्वरित शुरुआत
629
-
630
- **1. विश्व स्तर पर स्थापित करें:**
631
-
632
- 🎉 डैशबोर्ड `http://localhost:20128` पर खुलता है
633
-
634
- | आदेश | विवरण |
635
- | ----------------------- | ----------------------------------------- |
636
- | `omniroute` | सर्वर प्रारंभ करें (डिफ़ॉल्ट पोर्ट 20128) |
637
- | `omniroute --port 3000` | कस्टम पोर्ट का उपयोग करें |
638
- | `omniroute --no-open` | ब्राउज़र को स्वतः न खोलें |
639
- | `omniroute --help` | सहायता दिखाएँ |
640
-
641
- **2. एक मुफ़्त प्रदाता से जुड़ें:**
642
-
643
- डैशबोर्ड → प्रदाता → कनेक्ट **क्लाउड कोड** या **एंटीग्रेविटी** → OAuth लॉगिन → हो गया!
644
-
645
- **3. अपने सीएलआई टूल में उपयोग करें:**
646
-
647
- ```
648
- Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings:
649
- Endpoint: http://localhost:20128/v1
650
- API Key: [copy from dashboard]
651
- Model: if/kimi-k2-thinking
652
- ```
653
-
654
- **बस!** मुफ़्त AI मॉडल के साथ कोडिंग शुरू करें।
655
-
656
- **वैकल्पिक - स्रोत से चलाएँ:**
657
-
658
- ```bash
659
- cp .env.example .env
660
- npm install
661
- PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
662
- ```
663
-
664
- ---
665
-
666
- ## 🐳 डॉकर
667
-
668
- ओमनीरूट [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute) पर सार्वजनिक डॉकर छवि के रूप में उपलब्ध है।
669
-
670
- **त्वरित दौड़:**
671
-
672
- ```bash
673
- docker run -d \
674
- --name omniroute \
675
- --restart unless-stopped \
676
- -p 20128:20128 \
677
- -v omniroute-data:/app/data \
678
- diegosouzapw/omniroute:latest
679
- ```
680
-
681
- **पर्यावरण फ़ाइल के साथ:**
682
-
683
- **डॉकर कंपोज़ का उपयोग करना:**
684
-
685
- | छवि | टैग | आकार | विवरण |
686
- | ------------------------ | -------- | -------- | ------------------- |
687
- | `diegosouzapw/omniroute` | `latest` | ~250एमबी | नवीनतम स्थिर रिलीज़ |
688
- | `diegosouzapw/omniroute` | `1.0.3` | ~250एमबी | वर्तमान संस्करण |
689
-
690
- ---
691
-
692
- ---
693
-
694
- ## 🖥️
695
-
696
- > 🆕 **NEW!** OmniRoute is now available as a **native desktop application** for Windows, macOS, and Linux.
697
-
698
- - 🖥️ **Native Window** — Dedicated app window with system tray integration
699
- - 🔄 **Auto-Start** — Launch OmniRoute on system login
700
- - 🔔 **Native Notifications** — Get alerts for quota exhaustion or provider issues
701
- - ⚡ **One-Click Install** — NSIS (Windows), DMG (macOS), AppImage (Linux)
702
- - 🌐 **Offline Mode** — Works fully offline with bundled server
703
-
704
- ```bash
705
- npm run electron:dev # Development mode
706
- npm run electron:build # Current platform
707
- npm run electron:build:win # Windows (.exe)
708
- npm run electron:build:mac # macOS (.dmg)
709
- npm run electron:build:linux # Linux (.AppImage)
710
- ```
711
-
712
- 📖 Full documentation: [`electron/README.md`](electron/README.md)
713
-
714
- ---
715
-
716
- ## 💰 मूल्य निर्धारण एक नज़र में
717
-
718
- | टियर | प्रदाता | लागत | कोटा रीसेट | के लिए सर्वश्रेष्ठ |
719
- | ----------------- | ------------------- | ------------------------- | -------------------- | ------------------------ |
720
- | **💳 सदस्यता** | क्लाउड कोड (प्रो) | $20/माह | 5 घंटे + साप्ताहिक | पहले ही सदस्यता ले ली है |
721
- | | कोडेक्स (प्लस/प्रो) | $20-200/महीना | 5 घंटे + साप्ताहिक | OpenAI उपयोगकर्ता |
722
- | | जेमिनी सीएलआई | **मुफ़्त** | 180K/माह + 1K/दिन | सब लोग! |
723
- | | गिटहब कोपायलट | $10-19/माह | मासिक | GitHub उपयोगकर्ता |
724
- | **🔑एपीआई कुंजी** | एनवीडिया एनआईएम | **मुफ़्त** (1000 क्रेडिट) | एक बार | निःशुल्क स्तरीय परीक्षण |
725
- | | डीपसीक | भुगतान-प्रति-उपयोग | कोई नहीं | सर्वोत्तम मूल्य/गुणवत्ता |
726
- | | ग्रोक | फ्री टियर + पेड | दर सीमित | अल्ट्रा-फास्ट अनुमान |
727
- | | एक्सएआई (ग्रोक) | भुगतान-प्रति-उपयोग | कोई नहीं | ग्रोक मॉडल |
728
- | | मिस्ट्रल | फ्री टियर + पेड | दर सीमित | यूरोपीय एआई |
729
- | | ओपनराउटर | भुगतान-प्रति-उपयोग | कोई नहीं | 100+ मॉडल |
730
- | **💰सस्ता** | जीएलएम-4.7 | $0.6/1 मिलियन | प्रतिदिन सुबह 10 बजे | बजट बैकअप |
731
- | | मिनीमैक्स एम2.1 | $0.2/1 मिलियन | 5 घंटे की रोलिंग | सबसे सस्ता विकल्प |
732
- | | किमी K2 | $9/महीना फ्लैट | 10एम टोकन/माह | अनुमानित लागत |
733
- | **🆓 मुफ़्त** | आईफ्लो | $0 | असीमित | 8 मॉडल निःशुल्क |
734
- | | क्वेन | $0 | असीमित | 3 मॉडल मुफ़्त |
735
- | | किरो | $0 | असीमित | क्लाउड मुक्त |
736
-
737
- **💡 प्रो टिप:** जेमिनी सीएलआई (180 हजार निःशुल्क/माह) + आईफ्लो (असीमित निःशुल्क) कॉम्बो = $0 लागत से शुरू करें!
738
-
739
- ---
740
-
741
- ## 💡 मुख्य विशेषताएं
742
-
743
- ### 🧠 कोर रूटिंग और इंटेलिजेंस
744
-
745
- | फ़ीचर | यह क्या करता है |
746
- | --------------------------------- | ------------------------------------------------------------------------------------ |
747
- | 🎯 **स्मार्ट 4-टियर फ़ॉलबैक** | ऑटो-रूट: सदस्यता → एपीआई कुंजी → सस्ता → मुफ़्त |
748
- | 📊 **वास्तविक समय कोटा ट्रैकिंग** | लाइव टोकन गिनती + प्रति प्रदाता रीसेट उलटी गिनती |
749
- | 🔄 **प्रारूप अनुवाद** | OpenAI ↔ क्लाउड ↔ जेमिनी ↔ कर्सर ↔ किरो सीमलेस + रिस्पॉन्स सैनिटाइजेशन |
750
- | 👥 **मल्टी-अकाउंट सपोर्ट** | बुद्धिमान चयन के साथ प्रति प्रदाता एकाधिक खाते |
751
- | 🔄 **ऑटो टोकन रिफ्रेश** | OAuth टोकन पुनः प्रयास के साथ स्वचालित रूप से ताज़ा हो जाते हैं |
752
- | 🎨 **कस्टम कॉम्बो** | 6 रणनीतियाँ: पहले भरें, राउंड-रॉबिन, पी2सी, यादृच्छिक, कम से कम उपयोग, लागत-अनुकूलित |
753
- | 🧩 **कस्टम मॉडल** | किसी भी प्रदाता से कोई भी मॉडल आईडी जोड़ें |
754
- | 🌐 **वाइल्डकार्ड राउटर** | `provider/*` पैटर्न को गतिशील रूप से किसी भी प्रदाता तक रूट करें |
755
- | 🧠 **सोच बजट** | तर्क मॉडल के लिए पासथ्रू, ऑटो, कस्टम और अनुकूली मोड |
756
- | 🔀 **Model Aliases** | Auto-forward deprecated model IDs to current replacements (built-in + custom) |
757
- | ⚡ **Background Degradation** | Auto-route background tasks (titles, summaries) to cheaper models |
758
- | 💬 **सिस्टम प्रॉम्प्ट इंजेक्शन** | ग्लोबल सिस्टम प्रॉम्प्ट सभी अनुरोधों पर लागू किया गया |
759
- | 📄 **प्रतिक्रियाएं एपीआई** | कोडेक्स के लिए पूर्ण ओपनएआई रिस्पॉन्स एपीआई (`/v1/responses`) समर्थन |
760
-
761
- ### 🎵 मल्टी-मॉडल एपीआई
762
-
763
- | फ़ीचर | यह क्या करता है |
764
- | ---------------------------- | ------------------------------------------------- |
765
- | 🖼️ **छवि निर्माण** | `/v1/images/generations` - 4 प्रदाता, 9+ मॉडल |
766
- | 📐 **एंबेडिंग** | `/v1/embeddings` — 6 प्रदाता, 9+ मॉडल |
767
- | 🎤 **ऑडियो ट्रांस्क्रिप्शन** | `/v1/audio/transcriptions` - कानाफूसी-संगत |
768
- | 🔊 **टेक्स्ट-टू-स्पीच** | `/v1/audio/speech` - बहु-प्रदाता ऑडियो संश्लेषण |
769
- | 🛡️ **संयम** | `/v1/moderations` — सामग्री सुरक्षा जांच |
770
- | 🔀 **पुनर्रैंकिंग** | `/v1/rerank` — दस्तावेज़ प्रासंगिकता पुनर्रैंकिंग |
771
-
772
- ### 🛡️ लचीलापन और सुरक्षा
773
-
774
- | फ़ीचर | यह क्या करता है |
775
- | ------------------------------------- | ---------------------------------------------------------------------------- |
776
- | 🔌 **सर्किट ब्रेकर** | कॉन्फ़िगर करने योग्य थ्रेशोल्ड के साथ प्रति-प्रदाता स्वतः खोलें/बंद करें |
777
- | 🛡️ **एंटी-थंडरिंग झुंड** | एपीआई कुंजी प्रदाताओं के लिए म्यूटेक्स + सेमाफोर दर-सीमा |
778
- | 🧠 **सिमेंटिक कैश** | दो-स्तरीय कैश (हस्ताक्षर + सिमेंटिक) लागत और विलंबता को कम करता है |
779
- | ⚡ **निष्क्रियता का अनुरोध** | डुप्लिकेट अनुरोधों के लिए 5s डिडअप विंडो |
780
- | 🔒 **टीएलएस फ़िंगरप्रिंट स्पूफ़िंग** | Wreq-js के माध्यम से टीएलएस-आधारित बॉट डिटेक्शन को बायपास करें |
781
- | 🌐 **आईपी फ़िल्टरिंग** | एपीआई अभिगम नियंत्रण के लिए अनुमति सूची/अवरुद्ध सूची |
782
- | 📊 **संपादन योग्य दर सीमाएँ** | सिस्टम स्तर पर कॉन्फ़िगर करने योग्य आरपीएम, न्यूनतम अंतर और अधिकतम समवर्ती |
783
- | 💾 **Rate Limit Persistence** | Learned limits survive restarts via SQLite with 60s debounce + 24h staleness |
784
- | 🔄 **Token Refresh Resilience** | Per-provider circuit breaker (5 fails→30min) + 30s timeout per attempt |
785
- | 🛡 **एपीआई एंडपॉइंट सुरक्षा** | `/models` समापन बिंदु के लिए ऑथेंटिक गेटिंग + प्रदाता अवरोधन |
786
- | 🔒 **प्रॉक्सी दृश्यता** | रंग-कोडित बैज: 🟢 वैश्विक, 🟡 प्रदाता, 🔵 आईपी डिस्प्ले के साथ प्रति-कनेक्शन |
787
- | 🌐 **3-स्तरीय प्रॉक्सी कॉन्फ़िगरेशन** | वैश्विक, प्रति-प्रदाता, या प्रति-कनेक्शन स्तर पर प्रॉक्सी कॉन्फ़िगर करें |
788
-
789
- ### 📊 अवलोकनशीलता और विश्लेषण
790
-
791
- | फ़ीचर | यह क्या करता है |
792
- | ------------------------------- | ------------------------------------------------------------------------------ |
793
- | 📝 **लॉगिंग का अनुरोध** | पूर्ण अनुरोध/प्रतिक्रिया लॉग के साथ डिबग मोड |
794
- | 💾 **SQLite प्रॉक्सी लॉग्स** | लगातार प्रॉक्सी लॉग सर्वर पुनरारंभ होने से बचे रहते हैं |
795
- | 📊 **एनालिटिक्स डैशबोर्ड** | रिचार्ज-संचालित: स्टेट कार्ड, मॉडल उपयोग चार्ट, प्रदाता तालिका |
796
- | 📈 **प्रगति ट्रैकिंग** | स्ट्रीमिंग के लिए ऑप्ट-इन एसएसई प्रगति कार्यक्रम |
797
- | 🧪 **एलएलएम मूल्यांकन** | 4 मैच रणनीतियों के साथ गोल्डन सेट परीक्षण |
798
- | 🔍 **टेलीमेट्री के लिए अनुरोध** | p50/p95/p99 विलंबता एकत्रीकरण + एक्स-अनुरोध-आईडी ट्रेसिंग |
799
- | 📋 **लॉग्स डैशबोर्ड** | एकीकृत 4-टैब पृष्ठ: अनुरोध लॉग, प्रॉक्सी लॉग, ऑडिट लॉग, कंसोल |
800
- | 🖥️ **कंसोल लॉग व्यूअर** | लेवल फ़िल्टर, खोज, ऑटो-स्क्रॉल के साथ रीयल-टाइम टर्मिनल-शैली व्यूअर |
801
- | 📑 **फ़ाइल-आधारित लॉगिंग** | कंसोल इंटरसेप्टर रोटेशन के साथ सभी आउटपुट को JSON लॉग फ़ाइल में कैप्चर करता है |
802
- | 🏥 **स्वास्थ्य डैशबोर्ड** | सिस्टम अपटाइम, सर्किट ब्रेकर स्थिति, लॉकआउट, कैश आँकड़े |
803
- | 💰 **लागत ट्रैकिंग** | बजट प्रबंधन + प्रति-मॉडल मूल्य निर्धारण विन्यास |
804
-
805
- ### ☁️ परिनियोजन और सिंक
806
-
807
- | फ़ीचर | यह क्या करता है |
808
- | ---------------------------- | ---------------------------------------------------------------------------- | ----------------------------- |
809
- | 💾 **क्लाउड सिंक** | क्लाउडफ्लेयर वर्कर्स के माध्यम से सभी डिवाइसों में कॉन्फिगरेशन सिंक करें |
810
- | 🌐 **कहीं भी तैनात करें** | लोकलहोस्ट, वीपीएस, डॉकर, क्लाउडफ्लेयर वर्कर्स |
811
- | 🔑 **एपीआई कुंजी प्रबंधन** | प्रति प्रदाता एपीआई कुंजियाँ उत्पन्न करें, घुमाएँ और स्कोप करें |
812
- | 🧙 **ऑनबोर्डिंग विज़ार्ड** | पहली बार उपयोगकर्ताओं के लिए 4-चरणीय निर्देशित सेटअप |
813
- | 🔧 **सीएलआई टूल्स डैशबोर्ड** | क्लाउड, कोडेक्स, क्लाइन, ओपनक्लॉ, किलो, एंटीग्रेविटी | को एक-क्लिक से कॉन्फ़िगर करें |
814
- | 🔄 **डीबी बैकअप** | सभी सेटिंग्स के लिए स्वचालित बैकअप, पुनर्स्थापना, निर्यात और आयात |
815
- | 🌐 **अंतर्राष्ट्रीयकरण** | नेक्स्ट-इंटल के साथ पूर्ण i18n - अंग्रेजी + पुर्तगाली (ब्राजील) समर्थन |
816
- | 🌍 **भाषा चयनकर्ता** | रीयल-टाइम भाषा स्विचिंग के लिए हेडर में ग्लोब आइकन (🇺🇸/🇧🇷) |
817
- | 📂 **कस्टम डेटा निर्देशिका** | `DATA_DIR` env var डिफ़ॉल्ट `~/.omniroute` संग्रहण पथ को ओवरराइड करने के लिए |
818
-
819
- <summary><b>📖 सुविधा विवरण</b></summary>
820
-
821
- ### 🎯 स्मार्ट 4-टियर फ़ॉलबैक
822
-
823
- स्वचालित फ़ॉलबैक के साथ कॉम्बो बनाएं:
824
-
825
- ### 📊 रीयल-टाइम कोटा ट्रैकिंग
826
-
827
- - प्रति प्रदाता टोकन खपत
828
- - उलटी गिनती रीसेट करें (5 घंटे, दैनिक, साप्ताहिक)
829
- - भुगतान किए गए स्तरों के लिए लागत अनुमान
830
- - मासिक खर्च रिपोर्ट
831
-
832
- ### 🔄 प्रारूप अनुवाद
833
-
834
- प्रारूपों के बीच निर्बाध अनुवाद:
835
-
836
- - **ओपनएआई** ↔ **क्लाउड** ↔ **मिथुन** ↔ **ओपनएआई प्रतिक्रियाएं**
837
- - आपका सीएलआई उपकरण ओपनएआई प्रारूप भेजता है → ओमनीरूट अनुवाद करता है → प्रदाता मूल प्रारूप प्राप्त करता है
838
- - कस्टम ओपनएआई एंडपॉइंट्स का समर्थन करने वाले किसी भी टूल के साथ काम करता है
839
- - **प्रतिक्रिया स्वच्छता** - सख्त ओपनएआई एसडीके संगतता के लिए गैर-मानक फ़ील्ड को हटा देता है
840
- - **भूमिका सामान्यीकरण** - `developer` → गैर-OpenAI के लिए `system`; `system` → GLM/ERNIE मॉडल के लिए `user`
841
- - **टैग निष्कर्षण के बारे में सोचें** - `<think>` ब्लॉक → सोच मॉडल के लिए `reasoning_content`
842
- - **संरचित आउटपुट** — `json_schema` → मिथुन राशि का `responseMimeType`/`responseSchema`
843
-
844
- ### 👥 मल्टी-अकाउंट सपोर्ट
845
-
846
- - प्रति प्रदाता एकाधिक खाते जोड़ें
847
- - ऑटो राउंड-रॉबिन या प्राथमिकता-आधारित रूटिंग
848
- - कोटा पूरा होने पर अगले खाते में फ़ॉलबैक
849
-
850
- ### 🔄 ऑटो टोकन रिफ्रेश
851
-
852
- - OAuth टोकन समाप्ति से पहले स्वचालित रूप से ताज़ा हो जाते हैं
853
- - किसी मैन्युअल पुन: प्रमाणीकरण की आवश्यकता नहीं है
854
- - सभी प्रदाताओं के बीच निर्बाध अनुभव
855
-
856
- ### 🎨 कस्टम कॉम्बो
857
-
858
- - असीमित मॉडल संयोजन बनाएं
859
- - 6 रणनीतियाँ: पहले भरें, राउंड-रॉबिन, दो-विकल्पों की शक्ति, यादृच्छिक, कम से कम उपयोग, लागत-अनुकूलित
860
- - क्लाउड सिंक के साथ सभी डिवाइसों पर कॉम्बो साझा करें
861
-
862
- ### 🏥 स्वास्थ्य डैशबोर्ड
863
-
864
- - सिस्टम स्थिति (अपटाइम, संस्करण, मेमोरी उपयोग)
865
- - प्रति प्रदाता सर्किट ब्रेकर की स्थिति (बंद/खुला/आधा खुला)
866
- - दर सीमा स्थिति और सक्रिय तालाबंदी
867
- - हस्ताक्षर कैश आँकड़े
868
- - विलंबता टेलीमेट्री (p50/p95/p99) + शीघ्र कैश
869
- - एक क्लिक से स्वास्थ्य स्थिति रीसेट करें
870
-
871
- ### 🔧 अनुवादक खेल का मैदान
872
-
873
- ओमनीरूट में डिबगिंग, परीक्षण और एपीआई अनुवादों की निगरानी के लिए **4 मोड** के साथ एक शक्तिशाली अंतर्निहित अनुवादक खेल का मैदान शामिल है:
874
-
875
- | मोड | विवरण |
876
- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
877
- | **💻खेल का मैदान** | प्रत्यक्ष प्रारूप अनुवाद - किसी भी एपीआई अनुरोध निकाय को पेस्ट करें और तुरंत देखें कि ओम्नीरूट प्रदाता प्रारूपों (ओपनएआई ↔ क्लाउड ↔ जेमिनी ↔ रिस्पॉन्स एपीआई) के बीच इसका अनुवाद कैसे करता है। उदाहरण टेम्प्लेट और प्रारूप ऑटो-डिटेक्शन शामिल है। |
878
- | **💬 चैट परीक्षक** | ओम्निरूट के माध्यम से वास्तविक चैट अनुरोध भेजें और पूरी राउंड-ट्रिप देखें: आपका इनपुट, अनुवादित अनुरोध, प्रदाता प्रतिक्रिया, और अनुवादित प्रतिक्रिया वापस। कॉम्बो रूटिंग को मान्य करने के लिए अमूल्य। |
879
- | **🧪 टेस्ट बेंच** | बैच परीक्षण मोड - विभिन्न इनपुट और अपेक्षित आउटपुट के साथ कई परीक्षण मामलों को परिभाषित करें, उन सभी को एक साथ चलाएं, और प्रदाताओं और मॉडलों के परिणामों की तुलना करें। |
880
- | **📱लाइव मॉनिटर** | वास्तविक समय अनुरोध की निगरानी - आने वाले अनुरोधों को ओम्नीरूट के माध्यम से प्रवाहित होते हुए देखें, प्रारूप अनुवाद को लाइव होते हुए देखें, और समस्याओं की तुरंत पहचान करें। |
881
-
882
- **पहुँच:** डैशबोर्ड → अनुवादक (साइडबार)
883
-
884
- ### 💾 क्लाउड सिंक
885
-
886
- - सभी डिवाइसों में सिंक प्रदाता, कॉम्बो और सेटिंग्स
887
- - स्वचालित पृष्ठभूमि सिंक
888
- - सुरक्षित एन्क्रिप्टेड भंडारण
889
-
890
- ## 🧪 मूल्यांकन
891
-
892
- ओमनीरूट में गोल्डन सेट के मुकाबले एलएलएम प्रतिक्रिया गुणवत्ता का परीक्षण करने के लिए एक अंतर्निहित मूल्यांकन ढांचा शामिल है। डैशबोर्ड में **एनालिटिक्स → इवेल्स** के माध्यम से इसे एक्सेस करें।
893
-
894
- ### बिल्ट-इन गोल्डन सेट
895
-
896
- प्री-लोडेड "ओम्नीरूट गोल्डन सेट" में 10 परीक्षण मामले शामिल हैं:
897
-
898
- - नमस्ते, गणित, भूगोल, कोड जनरेशन
899
- - JSON प्रारूप अनुपालन, अनुवाद, मार्कडाउन
900
- - सुरक्षा इनकार (हानिकारक सामग्री), गिनती, बूलियन तर्क
901
-
902
- ### मूल्यांकन रणनीतियाँ
903
-
904
- | रणनीति | विवरण | उदाहरण |
905
- | ---------- | ------------------------------------------------- | -------------------------------- |
906
- | `exact` | आउटपुट बिल्कुल मेल खाना चाहिए | `"4"` |
907
- | `contains` | आउटपुट में सबस्ट्रिंग (केस-असंवेदनशील) होना चाहिए | `"Paris"` |
908
- | `regex` | आउटपुट रेगेक्स पैटर्न से मेल खाना चाहिए | `"1.*2.*3"` |
909
- | `custom` | कस्टम जेएस फ़ंक्शन सही/गलत लौटाता है | `(output) => output.length > 10` |
910
-
911
- ---
912
-
913
- ## 📖 सेटअप गाइड
914
-
915
- <summary><b>💳 सदस्यता प्रदाता</b></summary>
916
-
917
- ### क्लाउड कोड (प्रो/मैक्स)
918
-
919
- **प्रो टिप:** जटिल कार्यों के लिए ओपस और गति के लिए सॉनेट का उपयोग करें। ओमनीरूट प्रति मॉडल कोटा ट्रैक करता है!
920
-
921
- ### ओपनएआई कोडेक्स (प्लस/प्रो)
922
-
923
- ### जेमिनी सीएलआई (मुफ़्त 180K/माह!)
924
-
925
- **सर्वोत्तम मूल्य:** विशाल निःशुल्क स्तर! सशुल्क स्तरों से पहले इसका उपयोग करें।
926
-
927
- ### गिटहब कोपायलट
928
-
929
- <details>
930
- <summary><b>🔑 API कुंजी प्रदाता</b></summary>
931
-
932
- ### एनवीडिया एनआईएम (मुफ़्त 1000 क्रेडिट!)
933
-
934
- 1. साइन अप करें: [build.nvidia.com](https://build.nvidia.com)
935
- 2. निःशुल्क एपीआई कुंजी प्राप्त करें (1000 अनुमान क्रेडिट शामिल)
936
- 3. डैशबोर्ड → प्रदाता जोड़ें → एनवीडिया एनआईएम:
937
- - एपीआई कुंजी: `nvapi-your-key`
938
-
939
- **मॉडल:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct`, और 50+ अधिक
940
-
941
- **प्रो टिप:** ओपनएआई-संगत एपीआई - ओमनीरूट के प्रारूप अनुवाद के साथ सहजता से काम करता है!
942
-
943
- ### डीपसीक
944
-
945
- 1. साइन अप करें: [platform.deepseek.com](https://platform.deepseek.com)
946
- 2. एपीआई कुंजी प्राप्त करें
947
- 3. डैशबोर्ड → प्रदाता जोड़ें → डीपसीक
948
-
949
- **मॉडल:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
950
-
951
- ### ग्रोक (निःशुल्क टियर उपलब्ध!)
952
-
953
- 1. साइन अप करें: [console.groq.com](https://console.groq.com)
954
- 2. एपीआई कुंजी प्राप्त करें (फ्री टियर शामिल)
955
- 3. डैशबोर्ड → प्रदाता जोड़ें → ग्रोक
956
-
957
- **मॉडल:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
958
-
959
- **प्रो टिप:** अल्ट्रा-फास्ट अनुमान - वास्तविक समय कोडिंग के लिए सर्वोत्तम!
960
-
961
- ### ओपनराउटर (100+ मॉडल)
962
-
963
- 1. साइन अप करें: [openrouter.ai](https://openrouter.ai)
964
- 2. एपीआई कुंजी प्राप्त करें
965
- 3. डैशबोर्ड → प्रदाता जोड़ें → ओपनराउटर
966
-
967
- **मॉडल:** एक ही एपीआई कुंजी के माध्यम से सभी प्रमुख प्रदाताओं से 100+ मॉडल तक पहुंचें।
968
-
969
- <summary><b>💰 सस्ते प्रदाता (बैकअप)</b></summary>
970
-
971
- ### GLM-4.7 (दैनिक रीसेट, $0.6/1 मिलियन)
972
-
973
- 1. साइन अप करें: [Zhipu AI](https://open.bigmodel.cn/)
974
- 2. कोडिंग योजना से एपीआई कुंजी प्राप्त करें
975
- 3. डैशबोर्ड → एपीआई कुंजी जोड़ें:
976
- - प्रदाता: `glm`
977
- - एपीआई कुंजी: `your-key`
978
-
979
- **उपयोग करें:** `glm/glm-4.7`
980
-
981
- **प्रो टिप:** कोडिंग प्लान 1/7 लागत पर 3× कोटा प्रदान करता है! प्रतिदिन सुबह 10:00 बजे रीसेट करें।
982
-
983
- ### मिनीमैक्स एम2.1 (5 घंटे रीसेट, $0.20/1 मिलियन)
984
-
985
- 1. साइन अप करें: [MiniMax](https://www.minimax.io/)
986
- 2. एपीआई कुंजी प्राप्त करें
987
- 3. डैशबोर्ड → एपीआई कुंजी जोड़ें
988
-
989
- **उपयोग:** `minimax/MiniMax-M2.1`
990
-
991
- **प्रो टिप:** लंबे संदर्भ के लिए सबसे सस्ता विकल्प (1M टोकन)!
992
-
993
- ### किमी K2 ($9/माह फ्लैट)
994
-
995
- 1. सदस्यता लें: [Moonshot AI](https://platform.moonshot.ai/)
996
- 2. एपीआई कुंजी प्राप्त करें
997
- 3. डैशबोर्ड → एपीआई कुंजी जोड़ें
998
-
999
- **उपयोग करें:** `kimi/kimi-latest`
1000
-
1001
- **प्रो टिप:** 10एम टोकन के लिए निश्चित $9/माह = $0.90/1एम प्रभावी लागत!
1002
-
1003
- <summary><b>🆓 मुफ़्त प्रदाता (आपातकालीन बैकअप)</b></summary>
1004
-
1005
- ### आईफ्लो (8 मुफ़्त मॉडल)
1006
-
1007
- ### क्वेन (3 मुफ़्त मॉडल)
1008
-
1009
- ### किरो (क्लाउड फ्री)
1010
-
1011
- <summary><b>🎨 कॉम्बो बनाएं</b></summary>
1012
-
1013
- ### उदाहरण 1: सदस्यता अधिकतम करें → सस्ता बैकअप
1014
-
1015
- ### उदाहरण 2: केवल निःशुल्क (शून्य लागत)
1016
-
1017
- ```
1018
- Name: free-combo
1019
- Models:
1020
- 1. gc/gemini-3-flash-preview (180K free/month)
1021
- 2. if/kimi-k2-thinking (unlimited)
1022
- 3. qw/qwen3-coder-plus (unlimited)
1023
-
1024
- Cost: $0 forever!
1025
- ```
1026
-
1027
- <summary><b>🔧 CLI एकीकरण</b></summary>
1028
-
1029
- ### कर्सर आईडीई
1030
-
1031
- ### क्लाउड कोड
1032
-
1033
- एक-क्लिक कॉन्फ़िगरेशन के लिए डैशबोर्ड में **CLI टूल्स** पृष्ठ का उपयोग करें, या `~/.claude/settings.json` को मैन्युअल रूप से संपादित करें।
1034
-
1035
- ### कोडेक्स सीएलआई
1036
-
1037
- ### ओपनक्लॉ
1038
-
1039
- **विकल्प 1 - डैशबोर्ड (अनुशंसित):**
1040
-
1041
- **विकल्प 2 - मैनुअल:** संपादित करें `~/.openclaw/openclaw.json`:
1042
-
1043
- > **ध्यान दें:** ओपनक्लाव केवल स्थानीय ओमनीरूट के साथ काम करता है। IPv6 रिज़ॉल्यूशन समस्याओं से बचने के लिए `localhost` के बजाय `127.0.0.1` का उपयोग करें।
1044
-
1045
- ### क्लाइन / जारी रखें / रूकोड
1046
-
1047
- ---
1048
-
1049
- ## 🐛 समस्या निवारण
1050
-
1051
- <summary><b>समस्या निवारण मार्गदर्शिका का विस्तार करने के लिए क्लिक करें</b></summary>
1052
-
1053
- **"भाषा मॉडल ने संदेश प्रदान नहीं किया"**
1054
-
1055
- - प्रदाता कोटा समाप्त → डैशबोर्ड कोटा ट्रैकर की जाँच करें
1056
- - समाधान: कॉम्बो फ़ॉलबैक का उपयोग करें या सस्ते स्तर पर स्विच करें
1057
-
1058
- **दर सीमित करना**
1059
-
1060
- - सदस्यता कोटा ख़त्म → GLM/MiniMax पर फ़ॉलबैक
1061
- - कॉम्बो जोड़ें: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
1062
-
1063
- **OAuth टोकन समाप्त हो गया**
1064
-
1065
- - ओम्निरूट द्वारा स्वतः ताज़ा
1066
- - यदि समस्या बनी रहती है: डैशबोर्ड → प्रदाता → पुनः कनेक्ट करें
1067
-
1068
- **उच्च लागत**
1069
-
1070
- - डैशबोर्ड → लागत में उपयोग के आँकड़े जाँचें
1071
- - प्राथमिक मॉडल को जीएलएम/मिनीमैक्स पर स्विच करें
1072
- - गैर-महत्वपूर्ण कार्यों के लिए फ्री टियर (मिथुन सीएलआई, आईफ्लो) का उपयोग करें
1073
-
1074
- **डैशबोर्ड गलत पोर्ट पर खुलता है**
1075
-
1076
- - `PORT=20128` और `NEXT_PUBLIC_BASE_URL=http://localhost:20128` सेट करें
1077
-
1078
- **क्लाउड सिंक त्रुटियाँ**
1079
-
1080
- - अपने चल रहे उदाहरण के लिए `BASE_URL` अंक सत्यापित करें
1081
- - अपने अपेक्षित क्लाउड एंडपॉइंट पर `CLOUD_URL` पॉइंट सत्यापित करें
1082
- - `NEXT_PUBLIC_*` मानों को सर्वर-साइड मानों के साथ संरेखित रखें
1083
-
1084
- **पहला लॉगिन काम नहीं कर रहा**
1085
-
1086
- - `.env` में `INITIAL_PASSWORD` को जांचें
1087
- - यदि सेट नहीं है, तो फ़ॉलबैक पासवर्ड `123456` है
1088
-
1089
- **कोई अनुरोध लॉग नहीं**
1090
-
1091
- - `.env` में `ENABLE_REQUEST_LOGS=true` सेट करें
1092
-
1093
- **कनेक्शन परीक्षण OpenAI-संगत प्रदाताओं के लिए "अमान्य" दिखाता है**
1094
-
1095
- - कई प्रदाता `/models` समापन बिंदु को उजागर नहीं करते हैं
1096
- - ओमनीरूट v1.0.6+ में चैट पूर्णता के माध्यम से फ़ॉलबैक सत्यापन शामिल है
1097
- - सुनिश्चित करें कि आधार URL में `/v1` प्रत्यय शामिल हो
1098
-
1099
- ---
1100
-
1101
- ## 🛠️
1102
-
1103
- - **रनटाइम**: Node.js 18–22 LTS (⚠️ Node.js 24+ **समर्थित नहीं** है - `better-sqlite3` मूल बायनेरिज़ असंगत हैं)
1104
- - **भाषा**: टाइपस्क्रिप्ट 5.9 - **100% टाइपस्क्रिप्ट** `src/` और `open-sse/` (v1.0.6) में
1105
- - **फ्रेमवर्क**: नेक्स्ट.जेएस 16 + रिएक्ट 19 + टेलविंड सीएसएस 4
1106
- - **डेटाबेस**: लोडीबी (JSON) + SQLite (डोमेन स्थिति + प्रॉक्सी लॉग)
1107
- - **स्ट्रीमिंग**: सर्वर-भेजे गए इवेंट (एसएसई)
1108
- - **प्रामाणिक**: OAuth 2.0 (PKCE) + JWT + API कुंजियाँ
1109
- - **परीक्षण**: Node.js परीक्षण धावक (368+ इकाई परीक्षण)
1110
- - **सीआई/सीडी**: गिटहब क्रियाएँ (ऑटो एनपीएम प्रकाशन + रिलीज पर डॉकर हब)
1111
- - **वेबसाइट**: [omniroute.online](https://omniroute.online)
1112
- - **पैकेज**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
1113
- - **डॉकर**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
1114
- - **लचीलापन**: सर्किट ब्रेकर, एक्सपोनेंशियल बैकऑफ़, एंटी-थंडरिंग झुंड, टीएलएस स्पूफिंग
1115
-
1116
- ---
1117
-
1118
- ## 📖 दस्तावेज़ीकरण
1119
-
1120
- | दस्तावेज़ | विवरण |
1121
- | -------------------------------------------- | ------------------------------------------- |
1122
- | [User Guide](docs/USER_GUIDE.md) | प्रदाता, कॉम्बो, सीएलआई एकीकरण, तैनाती |
1123
- | [API Reference](docs/API_REFERENCE.md) | उदाहरण सहित सभी समापन बिंदु |
1124
- | [Troubleshooting](docs/TROUBLESHOOTING.md) | सामान्य समस्याएँ एवं समाधान |
1125
- | [Architecture](docs/ARCHITECTURE.md) | सिस्टम आर्किटेक्चर और आंतरिक |
1126
- | [Contributing](CONTRIBUTING.md) | विकास सेटअप और दिशानिर्देश |
1127
- | [OpenAPI Spec](docs/openapi.yaml) | ओपनएपीआई 3.0 विशिष्टता |
1128
- | [Security Policy](SECURITY.md) | भेद्यता रिपोर्टिंग और सुरक्षा प्रथाएं |
1129
- | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | संपूर्ण गाइड: VM + nginx + Cloudflare सेटअप |
1130
- | [Features Gallery](docs/FEATURES.md) | स्क्रीनशॉट के साथ विजुअल डैशबोर्ड टूर |
1131
-
1132
- ### 📸 डैशबोर्ड पूर्वावलोकन
1133
-
1134
- <summary><b>डैशबोर्ड स्क्रीनशॉट देखने के लिए क्लिक करें</b></summary>
1135
-
1136
- | पेज | स्क्रीनशॉट |
1137
- | ----------------- | ------------------------------------------------- |
1138
- | **प्रदाता** | ![Providers](docs/screenshots/01-providers.png) |
1139
- | **कॉम्बोस** | ![Combos](docs/screenshots/02-combos.png) |
1140
- | **एनालिटिक्स** | ![Analytics](docs/screenshots/03-analytics.png) |
1141
- | **स्वास्थ्य** | ![Health](docs/screenshots/04-health.png) |
1142
- | **अनुवादक** | ![Translator](docs/screenshots/05-translator.png) |
1143
- | **सेटिंग्स** | ![Settings](docs/screenshots/06-settings.png) |
1144
- | **सीएलआई उपकरण** | ![CLI Tools](docs/screenshots/07-cli-tools.png) |
1145
- | **उपयोग लॉग** | ![Usage](docs/screenshots/08-usage.png) |
1146
- | **समाप्ति बिंदु** | ![Endpoint](docs/screenshots/09-endpoint.png) |
1147
-
1148
- ---
1149
-
1150
- ## 🗺️
1151
-
1152
- ओम्निरूट ने कई विकास चरणों में **210+ सुविधाओं की योजना बनाई है**। यहां प्रमुख क्षेत्र हैं:
1153
-
1154
- | श्रेणी | नियोजित विशेषताएं | हाइलाइट्स |
1155
- | ---------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------- |
1156
- | 🎯 **Endpoint-Aware Models** | Custom models declare supported endpoints + API format |
1157
- | 🧠 **रूटिंग और इंटेलिजेंस** | 25+ | न्यूनतम-विलंबता रूटिंग, टैग-आधारित रूटिंग, कोटा प्रीफ़्लाइट, पी2सी खाता चयन |
1158
- | 🔒 **सुरक्षा एवं अनुपालन** | 20+ | एसएसआरएफ हार्डनिंग, क्रेडेंशियल क्लोकिंग, प्रति समापन बिंदु दर-सीमा, प्रबंधन कुंजी स्कोपिंग |
1159
- | 📊 **अवलोकनशीलता** | 15+ | ओपन टेलीमेट्री एकीकरण, वास्तविक समय कोटा निगरानी, ​​प्रति मॉडल लागत ट्रैकिंग |
1160
- | 🔄 **प्रदाता एकीकरण** | 20+ | डायनेमिक मॉडल रजिस्ट्री, प्रदाता कूलडाउन, मल्टी-अकाउंट कोडेक्स, कोपायलट कोटा पार्सिंग |
1161
- | ⚡ **प्रदर्शन** | 15+ | दोहरी कैश परत, शीघ्र कैश, प्रतिक्रिया कैश, स्ट्रीमिंग कीपलाइव, बैच एपीआई |
1162
- | 🌐 **पारिस्थितिकी तंत्र** | 10+ | वेबसॉकेट एपीआई, कॉन्फिग हॉट-रीलोड, वितरित कॉन्फिग स्टोर, वाणिज्यिक मोड |
1163
-
1164
- ### 🔜 जल्द आ रहा है
1165
-
1166
- - 🔗 **ओपनकोड इंटीग्रेशन** - ओपनकोड एआई कोडिंग आईडीई के लिए मूल प्रदाता समर्थन
1167
- - 🔗 **TRAE एकीकरण** - TRAE AI विकास ढांचे के लिए पूर्ण समर्थन
1168
- - 📦 **बैच एपीआई** - थोक अनुरोधों के लिए अतुल्यकालिक बैच प्रोसेसिंग
1169
- - 🎯 **टैग-आधारित रूटिंग** - कस्टम टैग और मेटाडेटा के आधार पर रूट अनुरोध
1170
- - 💰 **न्यूनतम-लागत रणनीति** — स्वचालित रूप से सबसे सस्ते उपलब्ध प्रदाता का चयन करें
1171
-
1172
- > 📝 पूर्ण फीचर विशिष्टताएं [link](docs/new-features/) में उपलब्ध हैं (217 विस्तृत विवरण)
1173
-
1174
- ---
1175
-
1176
- ## 👥 योगदानकर्ता
1177
-
1178
- [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
1179
-
1180
- ### योगदान कैसे करें
1181
-
1182
- 1. रिपॉजिटरी को फोर्क करें
1183
- 2. अपनी फीचर शाखा बनाएं (`git checkout -b feature/amazing-feature`)
1184
- 3. अपने परिवर्तन प्रतिबद्ध करें (`git commit -m 'Add amazing feature'`)
1185
- 4. शाखा में पुश करें (`git push origin feature/amazing-feature`)
1186
- 5. एक पुल अनुरोध खोलें
1187
-
1188
- विस्तृत दिशानिर्देशों के लिए [CONTRIBUTING.md](CONTRIBUTING.md) देखें।
1189
-
1190
- ### एक नया संस्करण जारी करना
1191
-
1192
- ```bash
1193
- # Create a release — npm publish happens automatically
1194
- gh release create v1.0.6 --title "v1.0.6" --generate-notes
1195
- ```
1196
-
1197
- ---
1198
-
1199
- ## 📊 सितारा इतिहास
1200
-
1201
- <a href="https://star-history.com/#diegosouzapw/OmniRoute&Date">
1202
-
1203
-
1204
-
1205
-
1206
-
1207
- </a>
1208
-
1209
- ---
1210
-
1211
- ## 🙏 आभार
1212
-
1213
- **[decolua](https://github.com/decolua)** द्वारा **[decolua](https://github.com/decolua)** को विशेष धन्यवाद - मूल परियोजना जिसने इस फोर्क को प्रेरित किया। ओमनीरूट अतिरिक्त सुविधाओं, मल्टी-मोडल एपीआई और पूर्ण टाइपस्क्रिप्ट पुनर्लेखन के साथ उस अविश्वसनीय नींव पर आधारित है।
1214
-
1215
- **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** को विशेष धन्यवाद - मूल गो कार्यान्वयन जिसने इस जावास्क्रिप्ट पोर्ट को प्रेरित किया।
1216
-
1217
- ---
1218
-
1219
- ## 📄 लाइसेंस
1220
-
1221
- एमआईटी लाइसेंस - विवरण के लिए [LICENSE](LICENSE) देखें।
1222
-
1223
- ---
1224
-
1225
- ---