omniroute 3.2.6 → 3.2.7

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 (202) hide show
  1. package/README.ar.md +15 -13
  2. package/README.bg.md +3 -0
  3. package/README.cs.md +3 -0
  4. package/README.da.md +3 -0
  5. package/README.fi.md +3 -0
  6. package/README.he.md +40 -37
  7. package/README.hu.md +12 -9
  8. package/README.id.md +3 -0
  9. package/README.in.md +3 -0
  10. package/README.ja.md +3 -0
  11. package/README.ko.md +40 -37
  12. package/README.md +25 -22
  13. package/README.ms.md +18 -15
  14. package/README.nl.md +3 -0
  15. package/README.no.md +3 -0
  16. package/README.phi.md +3 -0
  17. package/README.pl.md +3 -0
  18. package/README.pt.md +3 -0
  19. package/README.ro.md +3 -0
  20. package/README.sk.md +3 -0
  21. package/README.sv.md +3 -0
  22. package/README.th.md +12 -9
  23. package/README.uk-UA.md +3 -0
  24. package/README.vi.md +3 -0
  25. package/app/.next/BUILD_ID +1 -1
  26. package/app/.next/build-manifest.json +2 -2
  27. package/app/.next/prerender-manifest.json +3 -3
  28. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/(dashboard)/dashboard/cache/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  45. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/_global-error.html +2 -2
  65. package/app/.next/server/app/_global-error.rsc +1 -1
  66. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  67. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  68. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  69. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  70. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  71. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  75. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  84. package/app/.next/server/chunks/[root-of-the-server]__0891af92._.js +3 -1
  85. package/app/.next/server/chunks/[root-of-the-server]__1f27646b._.js +1 -1
  86. package/app/.next/server/chunks/[root-of-the-server]__46e00e59._.js +1 -1
  87. package/app/.next/server/chunks/[root-of-the-server]__6e52619e._.js +1 -1
  88. package/app/.next/server/chunks/[root-of-the-server]__950558b8._.js +1 -1
  89. package/app/.next/server/chunks/[root-of-the-server]__a32d3818._.js +1 -1
  90. package/app/.next/server/chunks/[root-of-the-server]__d5a064d5._.js +2 -2
  91. package/app/.next/server/chunks/_05c48915._.js +1 -1
  92. package/app/.next/server/chunks/_06515a8a._.js +1 -1
  93. package/app/.next/server/chunks/_2115d8de._.js +1 -1
  94. package/app/.next/server/chunks/_3ac953eb._.js +1 -1
  95. package/app/.next/server/chunks/_4b8fd853._.js +1 -1
  96. package/app/.next/server/chunks/_68683848._.js +1 -1
  97. package/app/.next/server/chunks/_ee9b677b._.js +1 -1
  98. package/app/.next/server/chunks/ssr/[root-of-the-server]__9ef96d20._.js +1 -1
  99. package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
  100. package/app/.next/server/chunks/ssr/src_app_(dashboard)_dashboard_3666f2bd._.js +1 -1
  101. package/app/.next/server/pages/500.html +2 -2
  102. package/app/.next/server/server-reference-manifest.js +1 -1
  103. package/app/.next/server/server-reference-manifest.json +1 -1
  104. package/app/.next/static/chunks/8a7e69530366d349.js +1 -0
  105. package/app/.next/static/chunks/ced99e799397dd8f.css +1 -0
  106. package/app/.next/static/chunks/{a505e70878b9cc4b.js → e0bc7c9ae396f60a.js} +1 -1
  107. package/app/CHANGELOG.md +6 -0
  108. package/app/README.ar.md +15 -13
  109. package/app/README.bg.md +3 -0
  110. package/app/README.cs.md +3 -0
  111. package/app/README.da.md +3 -0
  112. package/app/README.fi.md +3 -0
  113. package/app/README.he.md +40 -37
  114. package/app/README.hu.md +12 -9
  115. package/app/README.id.md +3 -0
  116. package/app/README.in.md +3 -0
  117. package/app/README.ja.md +3 -0
  118. package/app/README.ko.md +40 -37
  119. package/app/README.md +25 -22
  120. package/app/README.ms.md +18 -15
  121. package/app/README.nl.md +3 -0
  122. package/app/README.no.md +3 -0
  123. package/app/README.phi.md +3 -0
  124. package/app/README.pl.md +3 -0
  125. package/app/README.pt.md +3 -0
  126. package/app/README.ro.md +3 -0
  127. package/app/README.sk.md +3 -0
  128. package/app/README.sv.md +3 -0
  129. package/app/README.th.md +12 -9
  130. package/app/README.uk-UA.md +3 -0
  131. package/app/README.vi.md +3 -0
  132. package/app/docs/FEATURES.md +1 -1
  133. package/app/docs/i18n/ar/FEATURES.md +1 -1
  134. package/app/docs/i18n/ar/README.md +23 -20
  135. package/app/docs/i18n/bg/FEATURES.md +1 -1
  136. package/app/docs/i18n/bg/README.md +13 -10
  137. package/app/docs/i18n/cs/README.md +13 -10
  138. package/app/docs/i18n/da/FEATURES.md +1 -1
  139. package/app/docs/i18n/da/README.md +13 -10
  140. package/app/docs/i18n/de/FEATURES.md +1 -1
  141. package/app/docs/i18n/de/README.md +13 -10
  142. package/app/docs/i18n/es/FEATURES.md +1 -1
  143. package/app/docs/i18n/es/README.md +32 -34
  144. package/app/docs/i18n/fi/FEATURES.md +1 -1
  145. package/app/docs/i18n/fi/README.md +13 -10
  146. package/app/docs/i18n/fr/FEATURES.md +1 -1
  147. package/app/docs/i18n/fr/README.md +21 -23
  148. package/app/docs/i18n/he/FEATURES.md +1 -1
  149. package/app/docs/i18n/he/README.md +26 -23
  150. package/app/docs/i18n/hu/FEATURES.md +1 -1
  151. package/app/docs/i18n/hu/README.md +13 -10
  152. package/app/docs/i18n/id/FEATURES.md +1 -1
  153. package/app/docs/i18n/id/README.md +26 -23
  154. package/app/docs/i18n/in/FEATURES.md +1 -1
  155. package/app/docs/i18n/in/README.md +26 -23
  156. package/app/docs/i18n/it/FEATURES.md +1 -1
  157. package/app/docs/i18n/it/README.md +32 -34
  158. package/app/docs/i18n/ja/FEATURES.md +1 -1
  159. package/app/docs/i18n/ja/README.md +26 -23
  160. package/app/docs/i18n/ko/FEATURES.md +1 -1
  161. package/app/docs/i18n/ko/README.md +26 -23
  162. package/app/docs/i18n/ms/FEATURES.md +1 -1
  163. package/app/docs/i18n/ms/README.md +13 -10
  164. package/app/docs/i18n/nl/FEATURES.md +1 -1
  165. package/app/docs/i18n/nl/README.md +13 -10
  166. package/app/docs/i18n/no/FEATURES.md +1 -1
  167. package/app/docs/i18n/no/README.md +26 -23
  168. package/app/docs/i18n/phi/FEATURES.md +1 -1
  169. package/app/docs/i18n/phi/README.md +26 -23
  170. package/app/docs/i18n/pl/FEATURES.md +1 -1
  171. package/app/docs/i18n/pl/README.md +13 -10
  172. package/app/docs/i18n/pt/FEATURES.md +1 -1
  173. package/app/docs/i18n/pt/README.md +13 -10
  174. package/app/docs/i18n/pt-BR/FEATURES.md +1 -1
  175. package/app/docs/i18n/pt-BR/README.md +13 -10
  176. package/app/docs/i18n/ro/FEATURES.md +1 -1
  177. package/app/docs/i18n/ro/README.md +13 -10
  178. package/app/docs/i18n/ru/FEATURES.md +1 -1
  179. package/app/docs/i18n/ru/README.md +32 -34
  180. package/app/docs/i18n/sk/FEATURES.md +1 -1
  181. package/app/docs/i18n/sk/README.md +13 -10
  182. package/app/docs/i18n/sv/FEATURES.md +1 -1
  183. package/app/docs/i18n/sv/README.md +26 -23
  184. package/app/docs/i18n/th/FEATURES.md +1 -1
  185. package/app/docs/i18n/th/README.md +26 -23
  186. package/app/docs/i18n/uk-UA/FEATURES.md +1 -1
  187. package/app/docs/i18n/uk-UA/README.md +13 -10
  188. package/app/docs/i18n/vi/FEATURES.md +1 -1
  189. package/app/docs/i18n/vi/README.md +13 -10
  190. package/app/docs/i18n/zh-CN/FEATURES.md +1 -1
  191. package/app/docs/i18n/zh-CN/README.md +32 -34
  192. package/app/docs/openapi.yaml +1 -1
  193. package/app/package-lock.json +2 -2
  194. package/app/package.json +1 -1
  195. package/app/src/app/(dashboard)/dashboard/HomePageClient.tsx +217 -13
  196. package/app/src/app/api/system/version/route.ts +69 -22
  197. package/package.json +1 -1
  198. package/app/.next/static/chunks/2e25e28a804c74cb.css +0 -1
  199. package/app/.next/static/chunks/786bb016b73be366.js +0 -1
  200. /package/app/.next/static/{y0yR5YnNvU8dlWh7MSaaO → V1AhcZllvKyXSF7QBcufd}/_buildManifest.js +0 -0
  201. /package/app/.next/static/{y0yR5YnNvU8dlWh7MSaaO → V1AhcZllvKyXSF7QBcufd}/_clientMiddlewareManifest.json +0 -0
  202. /package/app/.next/static/{y0yR5YnNvU8dlWh7MSaaO → V1AhcZllvKyXSF7QBcufd}/_ssgManifest.js +0 -0
@@ -98,16 +98,17 @@ _Anslut alla AI-drivna IDE- eller CLI-verktyg via OmniRoute — gratis API-gatew
98
98
 
99
99
  ### 🆕 What's New in v3.0.0
100
100
 
101
- | Area | Change |
102
- | -------------------------- | --------------------------------------------------------------------------------- |
103
- | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
104
- | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
105
- | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
106
- | 🔑 **Registered Keys API** | Auto-provision API keys via `POST /api/v1/registered-keys` with quota enforcement |
107
- | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
108
- | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
109
- | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
110
- | 🔧 **926 Tests** | Full test suite passes with 0 failures |
101
+ | Area | Change |
102
+ | ------------------------------- | --------------------------------------------------------------------------------- |
103
+ | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
104
+ | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
105
+ | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
106
+ | 🔑 **Registered Keys API** | Auto-provision API keys via `POST /api/v1/registered-keys` with quota enforcement |
107
+ | 👁️ **Scoped API Key Reveal** 🆕 | Opt-in recovery of API keys via `ALLOW_API_KEY_REVEAL` |
108
+ | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
109
+ | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
110
+ | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
111
+ | 🔧 **926 Tests** | Full test suite passes with 0 failures |
111
112
 
112
113
  ### 🆕 What's New in v3.0.0
113
114
 
@@ -909,19 +910,20 @@ npm run electron:build:linux # Linux (.AppImage)
909
910
 
910
911
  ### 📊 Observerbarhet och analys
911
912
 
912
- | Funktion | Vad det gör |
913
- | --------------------------- | ----------------------------------------------------------------------------- |
914
- | 📝 **Begär loggning** | Felsökningsläge med fullständiga förfrågnings-/svarsloggar |
915
- | 💾 **SQLite proxyloggar** | Beständiga proxyloggar överlever serverstarter |
916
- | 📊 **Analytics Dashboard** | Recharts-driven: statistikkort, modellanvändningsdiagram, leverantörstabell |
917
- | 📈 **Förloppsspårning** | Opt-in SSE-förloppshändelser för streaming |
918
- | 🧪 **LLM-utvärderingar** | Golden set testning med 4 matchstrategier |
919
- | 🔍 **Begär telemetri** | p50/p95/p99 latensaggregation + X-Request-Id-spårning |
920
- | 📋 **Dashboard för loggar** | Enad sida med 4 flikar: Begäranloggar, Proxyloggar, Granskningsloggar, Konsol |
921
- | 🖥️ **Konsolloggvisare** | Realtidsvisare i terminalstil med nivåfilter, sökning, automatisk rullning |
922
- | 📑 **Filbaserad loggning** | Console Interceptor fångar all utdata till JSON-loggfilen med rotation |
923
- | 🏥 **Hälsoinstrumentpanel** | Systemupptid, strömbrytartillstånd, låsningar, cachestatistik |
924
- | 💰 **Kostnadsspårning** | Budgethantering + prissättning per modell |
913
+ | Funktion | Vad det gör |
914
+ | -------------------------------- | ----------------------------------------------------------------------------- |
915
+ | 📝 **Begär loggning** | Felsökningsläge med fullständiga förfrågnings-/svarsloggar |
916
+ | 📉 **Streamed Detailed Logs** 🆕 | Reconstructs SSE payload streams cleanly into the UI |
917
+ | 💾 **SQLite proxyloggar** | Beständiga proxyloggar överlever serverstarter |
918
+ | 📊 **Analytics Dashboard** | Recharts-driven: statistikkort, modellanvändningsdiagram, leverantörstabell |
919
+ | 📈 **Förloppsspårning** | Opt-in SSE-förloppshändelser för streaming |
920
+ | 🧪 **LLM-utvärderingar** | Golden set testning med 4 matchstrategier |
921
+ | 🔍 **Begär telemetri** | p50/p95/p99 latensaggregation + X-Request-Id-spårning |
922
+ | 📋 **Dashboard för loggar** | Enad sida med 4 flikar: Begäranloggar, Proxyloggar, Granskningsloggar, Konsol |
923
+ | 🖥️ **Konsolloggvisare** | Realtidsvisare i terminalstil med nivåfilter, sökning, automatisk rullning |
924
+ | 📑 **Filbaserad loggning** | Console Interceptor fångar all utdata till JSON-loggfilen med rotation |
925
+ | 🏥 **Hälsoinstrumentpanel** | Systemupptid, strömbrytartillstånd, låsningar, cachestatistik |
926
+ | 💰 **Kostnadsspårning** | Budgethantering + prissättning per modell |
925
927
 
926
928
  ### ☁️ Implementering och synkronisering
927
929
 
@@ -936,6 +938,7 @@ npm run electron:build:linux # Linux (.AppImage)
936
938
  | 🌐 **Internationalisering** | Fullständig i18n med nästa-intl — stöd för engelska + portugisiska (Brasilien) |
937
939
  | 🌍 **Språkväljare** | Globikon i rubriken för språkväxling i realtid (🇺🇸/🇧🇷) |
938
940
  | 🧹 **Clear All Models** | One-click model list clearing in provider details |
941
+ | 👁️ **Sidebar Controls** 🆕 | Hide components and integrations from Appearance Settings |
939
942
  | 📋 **Issue Templates** | Standardized GitHub templates for bugs and features |
940
943
  | 📂 **Anpassad datakatalog** | `DATA_DIR` env var för att åsidosätta standard `~/.omniroute` lagringssökväg |
941
944
 
@@ -67,7 +67,7 @@ Customizable color themes for the entire dashboard. Choose from 7 preset colors
67
67
  Comprehensive settings panel with tabs:
68
68
 
69
69
  - **General** — System storage, backup management (export/import database)
70
- - **Appearance** — Theme selector (dark/light/system), color theme presets and custom colors, health log visibility
70
+ - **Appearance** — Theme selector (dark/light/system), color theme presets and custom colors, health log visibility, sidebar item visibility controls
71
71
  - **Security** — API endpoint protection, custom provider blocking, IP filtering, session info
72
72
  - **Routing** — Model aliases, background task degradation
73
73
  - **Resilience** — Rate limit persistence, circuit breaker tuning
@@ -98,16 +98,17 @@ _เชื่อมต่อเครื่องมือ IDE หรือ CLI
98
98
 
99
99
  ### 🆕 What's New in v3.0.0
100
100
 
101
- | Area | Change |
102
- | -------------------------- | --------------------------------------------------------------------------------- |
103
- | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
104
- | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
105
- | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
106
- | 🔑 **Registered Keys API** | Auto-provision API keys via `POST /api/v1/registered-keys` with quota enforcement |
107
- | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
108
- | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
109
- | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
110
- | 🔧 **926 Tests** | Full test suite passes with 0 failures |
101
+ | Area | Change |
102
+ | ------------------------------- | --------------------------------------------------------------------------------- |
103
+ | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
104
+ | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
105
+ | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
106
+ | 🔑 **Registered Keys API** | Auto-provision API keys via `POST /api/v1/registered-keys` with quota enforcement |
107
+ | 👁️ **Scoped API Key Reveal** 🆕 | Opt-in recovery of API keys via `ALLOW_API_KEY_REVEAL` |
108
+ | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
109
+ | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
110
+ | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
111
+ | 🔧 **926 Tests** | Full test suite passes with 0 failures |
111
112
 
112
113
  ### 🆕 What's New in v3.0.0
113
114
 
@@ -908,19 +909,20 @@ npm run electron:build:linux # Linux (.AppImage)
908
909
 
909
910
  ### 📊 ความสามารถในการสังเกตและการวิเคราะห์
910
911
 
911
- | คุณสมบัติ | มันทำอะไร |
912
- | --------------------------- | ------------------------------------------------------------------------------ |
913
- | 📝 **ขอบันทึก** | โหมดแก้ไขข้อบกพร่องพร้อมบันทึกคำขอ/การตอบกลับแบบเต็ม |
914
- | 💾 **บันทึกพร็อกซี SQLite** | บันทึกพร็อกซีถาวรยังคงอยู่เซิร์ฟเวอร์รีสตาร์ท |
915
- | 📊 **แดชบอร์ดการวิเคราะห์** | ขับเคลื่อนโดย Recharts: การ์ดสถิติ แผนภูมิการใช้งานโมเดล ตารางผู้ให้บริการ |
916
- | 📈 **ติดตามความคืบหน้า** | เลือกใช้กิจกรรมความคืบหน้าของ SSE สำหรับการสตรีม |
917
- | 🧪 **การประเมิน LLM** | การทดสอบชุดทองด้วย 4 กลยุทธ์การจับคู่ |
918
- | 🔍 **ขอโทรมาตร** | การรวมเวลาแฝง p50/p95/p99 + การติดตาม X-Request-Id |
919
- | 📋 **แดชบอร์ดบันทึก** | หน้าแท็บ 4 แบบรวม: บันทึกคำขอ บันทึกพร็อกซี บันทึกการตรวจสอบ คอนโซล |
920
- | 🖥️ **ผู้ดูบันทึกคอนโซล** | โปรแกรมดูสไตล์เทอร์มินัลแบบเรียลไทม์พร้อมตัวกรองระดับ การค้นหา เลื่อนอัตโนมัติ |
921
- | 📑 **การบันทึกตามไฟล์** | ตัวดักจับคอนโซลจับเอาต์พุตทั้งหมดไปยังไฟล์บันทึก JSON พร้อมการหมุน |
922
- | 🏥 **แดชบอร์ดสุขภาพ** | เวลาทำงานของระบบ, สถานะของเซอร์กิตเบรกเกอร์, การล็อกเอาต์, สถิติแคช |
923
- | 💰 **ติดตามต้นทุน** | การจัดการงบประมาณ + การกำหนดค่าราคาต่อรุ่น |
912
+ | คุณสมบัติ | มันทำอะไร |
913
+ | -------------------------------- | ------------------------------------------------------------------------------ |
914
+ | 📝 **ขอบันทึก** | โหมดแก้ไขข้อบกพร่องพร้อมบันทึกคำขอ/การตอบกลับแบบเต็ม |
915
+ | 📉 **Streamed Detailed Logs** 🆕 | Reconstructs SSE payload streams cleanly into the UI |
916
+ | 💾 **บันทึกพร็อกซี SQLite** | บันทึกพร็อกซีถาวรยังคงอยู่เซิร์ฟเวอร์รีสตาร์ท |
917
+ | 📊 **แดชบอร์ดการวิเคราะห์** | ขับเคลื่อนโดย Recharts: การ์ดสถิติ แผนภูมิการใช้งานโมเดล ตารางผู้ให้บริการ |
918
+ | 📈 **ติดตามความคืบหน้า** | เลือกใช้กิจกรรมความคืบหน้าของ SSE สำหรับการสตรีม |
919
+ | 🧪 **การประเมิน LLM** | การทดสอบชุดทองด้วย 4 กลยุทธ์การจับคู่ |
920
+ | 🔍 **ขอโทรมาตร** | การรวมเวลาแฝง p50/p95/p99 + การติดตาม X-Request-Id |
921
+ | 📋 **แดชบอร์ดบันทึก** | หน้าแท็บ 4 แบบรวม: บันทึกคำขอ บันทึกพร็อกซี บันทึกการตรวจสอบ คอนโซล |
922
+ | 🖥️ **ผู้ดูบันทึกคอนโซล** | โปรแกรมดูสไตล์เทอร์มินัลแบบเรียลไทม์พร้อมตัวกรองระดับ การค้นหา เลื่อนอัตโนมัติ |
923
+ | 📑 **การบันทึกตามไฟล์** | ตัวดักจับคอนโซลจับเอาต์พุตทั้งหมดไปยังไฟล์บันทึก JSON พร้อมการหมุน |
924
+ | 🏥 **แดชบอร์ดสุขภาพ** | เวลาทำงานของระบบ, สถานะของเซอร์กิตเบรกเกอร์, การล็อกเอาต์, สถิติแคช |
925
+ | 💰 **ติดตามต้นทุน** | การจัดการงบประมาณ + การกำหนดค่าราคาต่อรุ่น |
924
926
 
925
927
  ### ☁️ การปรับใช้และการซิงค์
926
928
 
@@ -935,6 +937,7 @@ npm run electron:build:linux # Linux (.AppImage)
935
937
  | 🌐 **ความเป็นสากล** | i18n เต็มรูปแบบพร้อม next-intl — รองรับภาษาอังกฤษ + โปรตุเกส (บราซิล) |
936
938
  | 🌍 **ตัวเลือกภาษา** | ไอคอนลูกโลกในส่วนหัวสำหรับการสลับภาษาแบบเรียลไทม์ (USA/🇧🇷) |
937
939
  | 🧹 **Clear All Models** | One-click model list clearing in provider details |
940
+ | 👁️ **Sidebar Controls** 🆕 | Hide components and integrations from Appearance Settings |
938
941
  | 📋 **Issue Templates** | Standardized GitHub templates for bugs and features |
939
942
  | 📂 **ไดเรกทอรีข้อมูลที่กำหนดเอง** | `DATA_DIR` env var เพื่อแทนที่ค่าเริ่มต้น `~/.omniroute` พาธหน่วยเก็บข้อมูล |
940
943
 
@@ -67,7 +67,7 @@ Customizable color themes for the entire dashboard. Choose from 7 preset colors
67
67
  Comprehensive settings panel with tabs:
68
68
 
69
69
  - **General** — System storage, backup management (export/import database)
70
- - **Appearance** — Theme selector (dark/light/system), color theme presets and custom colors, health log visibility
70
+ - **Appearance** — Theme selector (dark/light/system), color theme presets and custom colors, health log visibility, sidebar item visibility controls
71
71
  - **Security** — API endpoint protection, custom provider blocking, IP filtering, session info
72
72
  - **Routing** — Model aliases, background task degradation
73
73
  - **Resilience** — Rate limit persistence, circuit breaker tuning
@@ -98,16 +98,17 @@ _Підключіть будь-який інструмент IDE або CLI на
98
98
 
99
99
  ### 🆕 What's New in v3.0.0
100
100
 
101
- | Area | Change |
102
- | -------------------------- | --------------------------------------------------------------------------------- |
103
- | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
104
- | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
105
- | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
106
- | 🔑 **Registered Keys API** | Auto-provision API keys via `POST /api/v1/registered-keys` with quota enforcement |
107
- | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
108
- | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
109
- | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
110
- | 🔧 **926 Tests** | Full test suite passes with 0 failures |
101
+ | Area | Change |
102
+ | ------------------------------- | --------------------------------------------------------------------------------- |
103
+ | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
104
+ | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
105
+ | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
106
+ | 🔑 **Registered Keys API** | Auto-provision API keys via `POST /api/v1/registered-keys` with quota enforcement |
107
+ | 👁️ **Scoped API Key Reveal** 🆕 | Opt-in recovery of API keys via `ALLOW_API_KEY_REVEAL` |
108
+ | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
109
+ | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
110
+ | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
111
+ | 🔧 **926 Tests** | Full test suite passes with 0 failures |
111
112
 
112
113
  ### 🆕 What's New in v3.0.0
113
114
 
@@ -915,6 +916,7 @@ npm run electron:build:linux # Linux (.AppImage)
915
916
  | Особливість | Що він робить |
916
917
  | ------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
917
918
  | 📝 **Подати запит на реєстрацію** | Режим налагодження з повними журналами запитів/відповідей |
919
+ | 📉 **Streamed Detailed Logs** 🆕 | Reconstructs SSE payload streams cleanly into the UI |
918
920
  | 💾 **Журнали проксі SQLite** | Постійні журнали проксі зберігаються після перезавантаження сервера |
919
921
  | 📊 **Інформаційна панель аналітики** | На основі Recharts: картки статистики, діаграма використання моделей, таблиця провайдерів |
920
922
  | 📈 **Відстеження прогресу** | Увімкніть події прогресу SSE для потокового передавання |
@@ -939,6 +941,7 @@ npm run electron:build:linux # Linux (.AppImage)
939
941
  | 🌐 **Інтернаціоналізація** | Повний i18n із next-intl — підтримка англійської та португальської (Бразилія) |
940
942
  | 🌍 **Вибір мови** | Значок глобуса в заголовку для перемикання мов у реальному часі (🇺🇸/🇧🇷) |
941
943
  | 🧹 **Clear All Models** | One-click model list clearing in provider details |
944
+ | 👁️ **Sidebar Controls** 🆕 | Hide components and integrations from Appearance Settings |
942
945
  | 📋 **Issue Templates** | Standardized GitHub templates for bugs and features |
943
946
  | 📂 **Каталог користувацьких даних** | `DATA_DIR` змінна env для перевизначення типового шляху зберігання `~/.omniroute` |
944
947
 
@@ -67,7 +67,7 @@ Customizable color themes for the entire dashboard. Choose from 7 preset colors
67
67
  Comprehensive settings panel with tabs:
68
68
 
69
69
  - **General** — System storage, backup management (export/import database)
70
- - **Appearance** — Theme selector (dark/light/system), color theme presets and custom colors, health log visibility
70
+ - **Appearance** — Theme selector (dark/light/system), color theme presets and custom colors, health log visibility, sidebar item visibility controls
71
71
  - **Security** — API endpoint protection, custom provider blocking, IP filtering, session info
72
72
  - **Routing** — Model aliases, background task degradation
73
73
  - **Resilience** — Rate limit persistence, circuit breaker tuning
@@ -98,16 +98,17 @@ _Kết nối mọi công cụ IDE hoặc CLI được hỗ trợ bởi AI thông
98
98
 
99
99
  ### 🆕 What's New in v3.0.0
100
100
 
101
- | Area | Change |
102
- | -------------------------- | --------------------------------------------------------------------------------- |
103
- | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
104
- | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
105
- | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
106
- | 🔑 **Registered Keys API** | Auto-provision API keys via `POST /api/v1/registered-keys` with quota enforcement |
107
- | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
108
- | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
109
- | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
110
- | 🔧 **926 Tests** | Full test suite passes with 0 failures |
101
+ | Area | Change |
102
+ | ------------------------------- | --------------------------------------------------------------------------------- |
103
+ | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
104
+ | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
105
+ | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
106
+ | 🔑 **Registered Keys API** | Auto-provision API keys via `POST /api/v1/registered-keys` with quota enforcement |
107
+ | 👁️ **Scoped API Key Reveal** 🆕 | Opt-in recovery of API keys via `ALLOW_API_KEY_REVEAL` |
108
+ | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
109
+ | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
110
+ | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
111
+ | 🔧 **926 Tests** | Full test suite passes with 0 failures |
111
112
 
112
113
  ### 🆕 What's New in v3.0.0
113
114
 
@@ -911,6 +912,7 @@ npm run electron:build:linux # Linux (.AppImage)
911
912
  | Tính năng | Nó làm gì |
912
913
  | ---------------------------------------- | --------------------------------------------------------------------------------------------- |
913
914
  | 📝 **Yêu cầu ghi nhật ký** | Chế độ gỡ lỗi với nhật ký yêu cầu/phản hồi đầy đủ |
915
+ | 📉 **Streamed Detailed Logs** 🆕 | Reconstructs SSE payload streams cleanly into the UI |
914
916
  | 💾 **Nhật ký proxy SQLite** | Nhật ký proxy liên tục vẫn tồn tại khi khởi động lại máy chủ |
915
917
  | 📊 **Bảng thông tin phân tích** | Recharts-Powered: thẻ thống kê, biểu đồ sử dụng mô hình, bảng nhà cung cấp |
916
918
  | 📈 **Theo dõi tiến độ** | Chọn tham gia các sự kiện tiến trình SSE để phát trực tuyến |
@@ -935,6 +937,7 @@ npm run electron:build:linux # Linux (.AppImage)
935
937
  | 🌐 **Quốc tế hóa** | I18n đầy đủ với hỗ trợ next-intl — Tiếng Anh + Tiếng Bồ Đào Nha (Brazil) |
936
938
  | 🌍 **Bộ chọn ngôn ngữ** | Biểu tượng quả địa cầu trong tiêu đề để chuyển đổi ngôn ngữ theo thời gian thực (🇺🇸/🇧🇷) |
937
939
  | 🧹 **Clear All Models** | One-click model list clearing in provider details |
940
+ | 👁️ **Sidebar Controls** 🆕 | Hide components and integrations from Appearance Settings |
938
941
  | 📋 **Issue Templates** | Standardized GitHub templates for bugs and features |
939
942
  | 📂 **Thư mục dữ liệu tùy chỉnh** | `DATA_DIR` env var để ghi đè đường dẫn lưu trữ `~/.omniroute` mặc định |
940
943
 
@@ -67,7 +67,7 @@ Customizable color themes for the entire dashboard. Choose from 7 preset colors
67
67
  Comprehensive settings panel with tabs:
68
68
 
69
69
  - **General** — System storage, backup management (export/import database)
70
- - **Appearance** — Theme selector (dark/light/system), color theme presets and custom colors, health log visibility
70
+ - **Appearance** — Theme selector (dark/light/system), color theme presets and custom colors, health log visibility, sidebar item visibility controls
71
71
  - **Security** — API endpoint protection, custom provider blocking, IP filtering, session info
72
72
  - **Routing** — Model aliases, background task degradation
73
73
  - **Resilience** — Rate limit persistence, circuit breaker tuning
@@ -98,36 +98,33 @@ _通过 OmniRoute 连接任何 AI 驱动的 IDE 或 CLI 工具 — 免费 API
98
98
 
99
99
  ### 🆕 What's New in v3.0.0
100
100
 
101
- | Area | Change |
102
- | --- | --- |
103
- | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
104
- | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
105
- | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
106
- | 🔑 **Registered Keys API** | Auto-provision API keys via `POST /api/v1/registered-keys` with quota enforcement |
107
- | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
108
- | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
109
- | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
110
- | 🔧 **926 Tests** | Full test suite passes with 0 failures |
111
-
112
-
101
+ | Area | Change |
102
+ | ------------------------------- | --------------------------------------------------------------------------------- |
103
+ | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
104
+ | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
105
+ | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
106
+ | 🔑 **Registered Keys API** | Auto-provision API keys via `POST /api/v1/registered-keys` with quota enforcement |
107
+ | 👁️ **Scoped API Key Reveal** 🆕 | Opt-in recovery of API keys via `ALLOW_API_KEY_REVEAL` |
108
+ | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
109
+ | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
110
+ | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
111
+ | 🔧 **926 Tests** | Full test suite passes with 0 failures |
113
112
 
114
113
  ### 🆕 What's New in v3.0.0
115
114
 
116
- | Area | Change |
117
- | --- | --- |
118
- | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
119
- | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
120
- | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
115
+ | Area | Change |
116
+ | -------------------------- | --------------------------------------------------------------------------------- |
117
+ | 🔒 **CodeQL Security** | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
118
+ | ✅ **Route Validation** | All 176 API routes validated with Zod schemas + `validateBody()` |
119
+ | 🐛 **omniModel Tag Leak** | Internal `<omniModel>` tags no longer leak to clients in SSE streams (#585) |
121
120
  | 🔑 **Registered Keys API** | Auto-provision API keys via `POST /api/v1/registered-keys` with quota enforcement |
122
- | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
123
- | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
124
- | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
125
- | 🔧 **926 Tests** | Full test suite passes with 0 failures |
121
+ | 🎨 **Provider Icons** | 130+ provider logos via `@lobehub/icons` (SVG) with PNG fallback |
122
+ | 🔄 **Model Auto-Sync** | 24h scheduler refreshes model lists for 16 providers |
123
+ | 🌐 **OpenCode Zen/Go** | Two new providers: free tier + subscription tier |
124
+ | 🔧 **926 Tests** | Full test suite passes with 0 failures |
126
125
 
127
126
  ---
128
127
 
129
-
130
-
131
128
  [![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute)
132
129
  [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute)
133
130
  [![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
@@ -908,17 +905,18 @@ npm run electron:build:linux # Linux (.AppImage)
908
905
 
909
906
  ### 📊 可观察性与分析
910
907
 
911
- | 功能 | 功能描述 |
912
- | ------------------ | ------------------------------------------ |
913
- | 📝 **请求日志** | 调试模式,完整的请求/响应日志 |
914
- | 💾 **SQLite 日志** | 持久化代理日志,服务器重启后仍然保留 |
915
- | 📊 **分析仪表板** | Recharts:统计卡片、使用量图表、提供商表格 |
916
- | 📈 **进度追踪** | 流式传输的 SSE 进度事件(可选) |
917
- | 🧪 **LLM 评估** | 黄金集测试,4 种匹配策略 |
918
- | 🔍 **请求遥测** | p50/p95/p99 延迟聚合 + X-Request-Id 追踪 |
919
- | 📋 **日志 + 配额** | 专用页面用于日志浏览和配额追踪 |
920
- | 🏥 **健康仪表板** | 运行时间、断路器状态、锁定、缓存统计 |
921
- | 💰 **成本追踪** | 预算管理 + 每模型定价配置 |
908
+ | 功能 | 功能描述 |
909
+ | -------------------------------- | ---------------------------------------------------- |
910
+ | 📝 **请求日志** | 调试模式,完整的请求/响应日志 |
911
+ | 📉 **Streamed Detailed Logs** 🆕 | Reconstructs SSE payload streams cleanly into the UI |
912
+ | 💾 **SQLite 日志** | 持久化代理日志,服务器重启后仍然保留 |
913
+ | 📊 **分析仪表板** | Recharts:统计卡片、使用量图表、提供商表格 |
914
+ | 📈 **进度追踪** | 流式传输的 SSE 进度事件(可选) |
915
+ | 🧪 **LLM 评估** | 黄金集测试,4 种匹配策略 |
916
+ | 🔍 **请求遥测** | p50/p95/p99 延迟聚合 + X-Request-Id 追踪 |
917
+ | 📋 **日志 + 配额** | 专用页面用于日志浏览和配额追踪 |
918
+ | 🏥 **健康仪表板** | 运行时间、断路器状态、锁定、缓存统计 |
919
+ | 💰 **成本追踪** | 预算管理 + 每模型定价配置 |
922
920
 
923
921
  ### ☁️ 部署与同步
924
922
 
@@ -1,7 +1,7 @@
1
1
  openapi: 3.1.0
2
2
  info:
3
3
  title: OmniRoute API
4
- version: 3.2.6
4
+ version: 3.2.7
5
5
  description: |
6
6
  OmniRoute is a local-first AI API proxy router. It provides an OpenAI-compatible
7
7
  endpoint that routes requests to multiple AI providers with load balancing,
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omniroute",
3
- "version": "3.2.6",
3
+ "version": "3.2.7",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omniroute",
9
- "version": "3.2.6",
9
+ "version": "3.2.7",
10
10
  "hasInstallScript": true,
11
11
  "license": "MIT",
12
12
  "workspaces": [
package/app/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omniroute",
3
- "version": "3.2.6",
3
+ "version": "3.2.7",
4
4
  "description": "Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",
5
5
  "type": "module",
6
6
  "bin": {