jishushell 0.4.24-beta.2 → 0.4.30

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 (167) hide show
  1. package/INSTALL-NOTICE +11 -0
  2. package/apps/browserless-chromium-container.yaml +78 -0
  3. package/apps/hermes-container.yaml +36 -2
  4. package/apps/ollama-binary.yaml +45 -8
  5. package/apps/ollama-cpu-container.yaml +8 -1
  6. package/apps/ollama-with-hollama-binary.yaml +45 -8
  7. package/apps/openclaw-binary.yaml +30 -1
  8. package/apps/openclaw-container.yaml +37 -2
  9. package/apps/openclaw-with-ollama-container.yaml +11 -2
  10. package/apps/openclaw-with-searxng-container.yaml +22 -2
  11. package/apps/openwebui-container.yaml +45 -1
  12. package/apps/playwright-container.yaml +7 -1
  13. package/apps/searxng-container.yaml +54 -4
  14. package/dist/cli/app.js +12 -2
  15. package/dist/cli/app.js.map +1 -1
  16. package/dist/cli/doctor.d.ts +12 -12
  17. package/dist/cli/doctor.js +242 -55
  18. package/dist/cli/doctor.js.map +1 -1
  19. package/dist/cli/llm.d.ts +4 -3
  20. package/dist/cli/llm.js +4 -3
  21. package/dist/cli/llm.js.map +1 -1
  22. package/dist/cli/panel.d.ts +6 -5
  23. package/dist/cli/panel.js +10 -9
  24. package/dist/cli/panel.js.map +1 -1
  25. package/dist/control.d.ts +7 -6
  26. package/dist/control.js +7 -6
  27. package/dist/control.js.map +1 -1
  28. package/dist/routes/agent-apps.d.ts +1 -1
  29. package/dist/routes/agent-apps.js +1 -1
  30. package/dist/routes/apps.js +44 -11
  31. package/dist/routes/apps.js.map +1 -1
  32. package/dist/routes/auth.js +3 -0
  33. package/dist/routes/auth.js.map +1 -1
  34. package/dist/routes/instances.js +787 -16
  35. package/dist/routes/instances.js.map +1 -1
  36. package/dist/routes/llm.js +24 -35
  37. package/dist/routes/llm.js.map +1 -1
  38. package/dist/routes/setup.js +1 -1
  39. package/dist/routes/setup.js.map +1 -1
  40. package/dist/server.d.ts +9 -0
  41. package/dist/server.js +410 -17
  42. package/dist/server.js.map +1 -1
  43. package/dist/services/agent-apps/catalog.js +4 -3
  44. package/dist/services/agent-apps/catalog.js.map +1 -1
  45. package/dist/services/agent-apps/index.d.ts +1 -1
  46. package/dist/services/agent-apps/index.js +1 -1
  47. package/dist/services/agent-apps/installers/adapter.d.ts +1 -1
  48. package/dist/services/agent-apps/installers/adapter.js +1 -1
  49. package/dist/services/agent-apps/installers/shell-script.d.ts +1 -1
  50. package/dist/services/agent-apps/installers/shell-script.js +3 -3
  51. package/dist/services/agent-apps/installers/shell-script.js.map +1 -1
  52. package/dist/services/agent-apps/types.d.ts +2 -2
  53. package/dist/services/agent-apps/types.js +1 -1
  54. package/dist/services/app/app-manager.d.ts +24 -1
  55. package/dist/services/app/app-manager.js +490 -102
  56. package/dist/services/app/app-manager.js.map +1 -1
  57. package/dist/services/app/hermes-agent-manager.js +6 -4
  58. package/dist/services/app/hermes-agent-manager.js.map +1 -1
  59. package/dist/services/app/provide-resolver.d.ts +29 -0
  60. package/dist/services/app/provide-resolver.js +112 -0
  61. package/dist/services/app/provide-resolver.js.map +1 -0
  62. package/dist/services/capability-endpoint-validator.d.ts +41 -0
  63. package/dist/services/capability-endpoint-validator.js +104 -0
  64. package/dist/services/capability-endpoint-validator.js.map +1 -0
  65. package/dist/services/capability-health.d.ts +16 -0
  66. package/dist/services/capability-health.js +121 -0
  67. package/dist/services/capability-health.js.map +1 -0
  68. package/dist/services/capability-registry.d.ts +106 -0
  69. package/dist/services/capability-registry.js +313 -0
  70. package/dist/services/capability-registry.js.map +1 -0
  71. package/dist/services/connection-apply.d.ts +89 -0
  72. package/dist/services/connection-apply.js +421 -0
  73. package/dist/services/connection-apply.js.map +1 -0
  74. package/dist/services/connection-resolver.d.ts +65 -0
  75. package/dist/services/connection-resolver.js +281 -0
  76. package/dist/services/connection-resolver.js.map +1 -0
  77. package/dist/services/connection-transactor.d.ts +37 -0
  78. package/dist/services/connection-transactor.js +341 -0
  79. package/dist/services/connection-transactor.js.map +1 -0
  80. package/dist/services/instance-manager.d.ts +13 -0
  81. package/dist/services/instance-manager.js +137 -23
  82. package/dist/services/instance-manager.js.map +1 -1
  83. package/dist/services/llm-proxy/index.d.ts +16 -2
  84. package/dist/services/llm-proxy/index.js +48 -44
  85. package/dist/services/llm-proxy/index.js.map +1 -1
  86. package/dist/services/llm-proxy/probe.d.ts +6 -0
  87. package/dist/services/llm-proxy/probe.js +85 -0
  88. package/dist/services/llm-proxy/probe.js.map +1 -0
  89. package/dist/services/llm-proxy/ssrf.d.ts +1 -0
  90. package/dist/services/llm-proxy/ssrf.js +18 -7
  91. package/dist/services/llm-proxy/ssrf.js.map +1 -1
  92. package/dist/services/nomad-manager.js +375 -16
  93. package/dist/services/nomad-manager.js.map +1 -1
  94. package/dist/services/process-manager.js +1 -1
  95. package/dist/services/process-manager.js.map +1 -1
  96. package/dist/services/runtime/adapters/hermes.d.ts +30 -1
  97. package/dist/services/runtime/adapters/hermes.js +218 -5
  98. package/dist/services/runtime/adapters/hermes.js.map +1 -1
  99. package/dist/services/runtime/adapters/openclaw-mcporter.d.ts +45 -0
  100. package/dist/services/runtime/adapters/openclaw-mcporter.js +108 -0
  101. package/dist/services/runtime/adapters/openclaw-mcporter.js.map +1 -0
  102. package/dist/services/runtime/adapters/openclaw.d.ts +87 -0
  103. package/dist/services/runtime/adapters/openclaw.js +250 -2
  104. package/dist/services/runtime/adapters/openclaw.js.map +1 -1
  105. package/dist/services/runtime/mcp-shims/firewall.d.ts +26 -0
  106. package/dist/services/runtime/mcp-shims/firewall.js +129 -0
  107. package/dist/services/runtime/mcp-shims/firewall.js.map +1 -0
  108. package/dist/services/runtime/mcp-shims/searxng-shim.d.ts +27 -0
  109. package/dist/services/runtime/mcp-shims/searxng-shim.js +125 -0
  110. package/dist/services/runtime/mcp-shims/searxng-shim.js.map +1 -0
  111. package/dist/services/runtime/mcp-shims/write-mcp-entry.d.ts +83 -0
  112. package/dist/services/runtime/mcp-shims/write-mcp-entry.js +127 -0
  113. package/dist/services/runtime/mcp-shims/write-mcp-entry.js.map +1 -0
  114. package/dist/services/runtime/migrations.d.ts +8 -0
  115. package/dist/services/runtime/migrations.js +100 -0
  116. package/dist/services/runtime/migrations.js.map +1 -1
  117. package/dist/services/runtime/types.d.ts +15 -0
  118. package/dist/services/setup-manager.js +6 -6
  119. package/dist/services/setup-manager.js.map +1 -1
  120. package/dist/services/suggestions.d.ts +27 -0
  121. package/dist/services/suggestions.js +133 -0
  122. package/dist/services/suggestions.js.map +1 -0
  123. package/dist/services/task-registry.js +4 -2
  124. package/dist/services/task-registry.js.map +1 -1
  125. package/dist/services/telemetry/device-fingerprint.d.ts +1 -1
  126. package/dist/services/telemetry/device-fingerprint.js +1 -1
  127. package/dist/services/types-shim.d.ts +16 -0
  128. package/dist/services/types-shim.js +2 -0
  129. package/dist/services/types-shim.js.map +1 -0
  130. package/dist/types.d.ts +169 -1
  131. package/dist/utils/instance-lock.d.ts +22 -0
  132. package/dist/utils/instance-lock.js +48 -0
  133. package/dist/utils/instance-lock.js.map +1 -0
  134. package/dist/utils/safe-json.js +55 -22
  135. package/dist/utils/safe-json.js.map +1 -1
  136. package/install/jishu-install.sh +323 -26
  137. package/install/jishu-uninstall.sh +353 -20
  138. package/package.json +3 -1
  139. package/public/assets/Dashboard-rkWp-CXd.js +1 -0
  140. package/public/assets/{HermesChatPanel-D6JI6lLY.js → HermesChatPanel-_GHoklgo.js} +1 -1
  141. package/public/assets/HermesConfigForm-anDnwUp_.js +4 -0
  142. package/public/assets/{InitPassword-CFTKsED4.js → InitPassword-ZU9_-hDr.js} +1 -1
  143. package/public/assets/InstanceDetail-CN0FH1aw.js +92 -0
  144. package/public/assets/{Login-KB9qrtM0.js → Login-BItXqYAJ.js} +1 -1
  145. package/public/assets/NewInstance-BousE6kY.js +1 -0
  146. package/public/assets/ProviderRecommendations-DFYj7Fb6.js +1 -0
  147. package/public/assets/Settings-Bttc6QmM.js +1 -0
  148. package/public/assets/Setup-Bsxx1zgj.js +1 -0
  149. package/public/assets/{WeixinLoginPanel-gca0QTic.js → WeixinLoginPanel-DPZpAKgO.js} +2 -2
  150. package/public/assets/index-8xZy1z5k.css +1 -0
  151. package/public/assets/index-Dw3HhUYE.js +19 -0
  152. package/public/assets/providers-DtNXh9JD.js +1 -0
  153. package/public/assets/registry-5s2UB6is.js +2 -0
  154. package/public/index.html +2 -2
  155. package/scripts/check-app-spec.mjs +443 -0
  156. package/scripts/check-i18n.mjs +154 -0
  157. package/scripts/run.sh +4 -4
  158. package/public/assets/Dashboard-rh9qpYRR.js +0 -1
  159. package/public/assets/HermesConfigForm-DcbSemaj.js +0 -4
  160. package/public/assets/InstanceDetail-BhNIKA6Z.js +0 -91
  161. package/public/assets/NewInstance-CxkO8Hlq.js +0 -1
  162. package/public/assets/Settings-BVWJvOkU.js +0 -1
  163. package/public/assets/Setup-X-lzuaUT.js +0 -1
  164. package/public/assets/index-C8B0cFJM.js +0 -19
  165. package/public/assets/index-CPhVFEsx.css +0 -1
  166. package/public/assets/providers-V-vwrExZ.js +0 -1
  167. package/public/assets/registry-fVUSujib.js +0 -2
@@ -1 +0,0 @@
1
- @import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist,Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Geist Mono,JetBrains Mono,SF Mono,Fira Code,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: #F8FAFC;--foreground: #0F172A;--muted: #64748B;--card: rgba(0,0,0,.03);--card-hover: rgba(0,0,0,.055);--border: rgba(0,0,0,.09);--border-hover: rgba(0, 102, 255, .35);--primary: #0066FF;--primary-hover: #0052CC;--accent: #00D4AA;--sidebar-bg: #F1F5F9;--input-bg: rgba(0,0,0,.04)}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--background: #0A0A0F;--foreground: #FAFAFA;--muted: rgba(255,255,255,.5);--card: rgba(255,255,255,.04);--card-hover: rgba(255,255,255,.07);--border: rgba(255,255,255,.08);--border-hover: rgba(0, 102, 255, .5);--primary: #0066FF;--primary-hover: #3385FF;--accent: #00D4AA;--sidebar-bg: rgba(255,255,255,.025);--input-bg: rgba(255,255,255,.06)}}html{font-family:Geist,Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,select,select option,select optgroup{background-color:var(--background);color:var(--foreground)}.font-mono{font-family:Geist Mono,JetBrains Mono,SF Mono,Fira Code,ui-monospace,monospace}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-right-0\.5{right:-.125rem}.-top-0\.5{top:-.125rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.left-\[18px\]{left:18px}.left-\[3px\]{left:3px}.right-0{right:0}.right-2\.5{right:.625rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-1\/3{top:33.333333%}.top-1\/4{top:25%}.top-3{top:.75rem}.top-4{top:1rem}.top-\[3px\]{top:3px}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-8{height:2rem}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[520px\]{height:520px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-20{max-height:5rem}.max-h-40{max-height:10rem}.max-h-52{max-height:13rem}.max-h-\[480px\]{max-height:480px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0px}.min-h-\[220px\]{min-height:220px}.min-h-\[240px\]{min-height:240px}.min-h-\[320px\]{min-height:320px}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[500px\]{width:500px}.w-\[600px\]{width:600px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[140px\]{min-width:140px}.min-w-\[200px\]{min-width:200px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[80\%\]{max-width:80%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize-none{resize:none}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-y-0\.5{row-gap:.125rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[var\(--border\)\]>:not([hidden])~:not([hidden]){border-color:var(--border)}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#0066FF\]{--tw-border-opacity: 1;border-color:rgb(0 102 255 / var(--tw-border-opacity, 1))}.border-\[\#0066FF\]\/20{border-color:#06f3}.border-\[\#0066FF\]\/30{border-color:#0066ff4d}.border-\[\#0066FF\]\/40{border-color:#06f6}.border-\[\#0066FF\]\/50{border-color:#0066ff80}.border-\[\#0066FF\]\/70{border-color:#0066ffb3}.border-\[\#07C160\]\/30{border-color:#07c1604d}.border-\[\#3370FF\]\/30{border-color:#3370ff4d}.border-\[\#ff6b6b\]\/25{border-color:#ff6b6b40}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--primary\)\]{border-color:var(--primary)}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/30{border-color:#f59e0b4d}.border-emerald-500\/20{border-color:#10b98133}.border-emerald-500\/30{border-color:#10b9814d}.border-red-500\/20{border-color:#ef444433}.border-red-500\/30{border-color:#ef44444d}.border-sky-500\/30{border-color:#0ea5e94d}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/30{border-color:#ffffff4d}.border-white\/40{border-color:#fff6}.border-l-\[\#0066FF\]{--tw-border-opacity: 1;border-left-color:rgb(0 102 255 / var(--tw-border-opacity, 1))}.border-l-\[\#00D4AA\]{--tw-border-opacity: 1;border-left-color:rgb(0 212 170 / var(--tw-border-opacity, 1))}.border-l-red-400{--tw-border-opacity: 1;border-left-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.border-t-\[\#0066FF\]{--tw-border-opacity: 1;border-top-color:rgb(0 102 255 / var(--tw-border-opacity, 1))}.border-t-\[\#07C160\]{--tw-border-opacity: 1;border-top-color:rgb(7 193 96 / var(--tw-border-opacity, 1))}.border-t-\[\#3370FF\]{--tw-border-opacity: 1;border-top-color:rgb(51 112 255 / var(--tw-border-opacity, 1))}.border-t-foreground{border-top-color:var(--foreground)}.border-t-muted{border-top-color:var(--muted)}.border-t-white{--tw-border-opacity: 1;border-top-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.bg-\[\#0066FF\]{--tw-bg-opacity: 1;background-color:rgb(0 102 255 / var(--tw-bg-opacity, 1))}.bg-\[\#0066FF\]\/10{background-color:#0066ff1a}.bg-\[\#0066FF\]\/15{background-color:#0066ff26}.bg-\[\#0066FF\]\/5{background-color:#0066ff0d}.bg-\[\#0066FF\]\/\[0\.06\]{background-color:#0066ff0f}.bg-\[\#0066FF\]\/\[0\.07\]{background-color:#0066ff12}.bg-\[\#00D4AA\]{--tw-bg-opacity: 1;background-color:rgb(0 212 170 / var(--tw-bg-opacity, 1))}.bg-\[\#07C160\]{--tw-bg-opacity: 1;background-color:rgb(7 193 96 / var(--tw-bg-opacity, 1))}.bg-\[\#07C160\]\/5{background-color:#07c1600d}.bg-\[\#09111f\]{--tw-bg-opacity: 1;background-color:rgb(9 17 31 / var(--tw-bg-opacity, 1))}.bg-\[\#3370FF\]{--tw-bg-opacity: 1;background-color:rgb(51 112 255 / var(--tw-bg-opacity, 1))}.bg-\[\#3370FF\]\/5{background-color:#3370ff0d}.bg-\[\#39d98a\]{--tw-bg-opacity: 1;background-color:rgb(57 217 138 / var(--tw-bg-opacity, 1))}.bg-\[\#ff6b6b\]{--tw-bg-opacity: 1;background-color:rgb(255 107 107 / var(--tw-bg-opacity, 1))}.bg-\[\#ff6b6b\]\/10{background-color:#ff6b6b1a}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--card\)\]{background-color:var(--card)}.bg-\[var\(--card-hover\)\]{background-color:var(--card-hover)}.bg-\[var\(--input-bg\)\]{background-color:var(--input-bg)}.bg-\[var\(--muted\)\]{background-color:var(--muted)}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-amber-500\/20{background-color:#f59e0b33}.bg-background{background-color:var(--background)}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/60{background-color:#0009}.bg-black\/\[0\.03\]{background-color:#00000008}.bg-card{background-color:var(--card)}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/5{background-color:#ef44440d}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-950\/20{background-color:#450a0a33}.bg-sky-400{--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity, 1))}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-\[linear-gradient\(180deg\,rgba\(2\,6\,23\,0\.96\)\,rgba\(15\,23\,42\,0\.92\)\)\]{background-image:linear-gradient(180deg,#020617f5,#0f172aeb)}.bg-\[radial-gradient\(circle\,rgba\(0\,102\,255\,0\.08\)_0\%\,transparent_70\%\)\]{background-image:radial-gradient(circle,rgba(0,102,255,.08) 0%,transparent 70%)}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-slate-950\/85{--tw-gradient-from: rgb(2 6 23 / .85) var(--tw-gradient-from-position);--tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-4{padding-bottom:1rem}.pl-9{padding-left:2.25rem}.pl-\[6px\]{padding-left:6px}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pr-9{padding-right:2.25rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:Geist Mono,JetBrains Mono,SF Mono,Fira Code,ui-monospace,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#0066FF\]{--tw-text-opacity: 1;color:rgb(0 102 255 / var(--tw-text-opacity, 1))}.text-\[\#0066FF\]\/80{color:#06fc}.text-\[\#0066FF\]\/90{color:#0066ffe6}.text-\[\#00D4AA\]{--tw-text-opacity: 1;color:rgb(0 212 170 / var(--tw-text-opacity, 1))}.text-\[\#07C160\]{--tw-text-opacity: 1;color:rgb(7 193 96 / var(--tw-text-opacity, 1))}.text-\[\#3370FF\]{--tw-text-opacity: 1;color:rgb(51 112 255 / var(--tw-text-opacity, 1))}.text-\[\#7f97c2\]{--tw-text-opacity: 1;color:rgb(127 151 194 / var(--tw-text-opacity, 1))}.text-\[\#7fd0ff\]{--tw-text-opacity: 1;color:rgb(127 208 255 / var(--tw-text-opacity, 1))}.text-\[\#9cb3d9\]{--tw-text-opacity: 1;color:rgb(156 179 217 / var(--tw-text-opacity, 1))}.text-\[\#d7e3ff\]{--tw-text-opacity: 1;color:rgb(215 227 255 / var(--tw-text-opacity, 1))}.text-\[\#e8f0ff\]{--tw-text-opacity: 1;color:rgb(232 240 255 / var(--tw-text-opacity, 1))}.text-\[\#ff9c9c\]{--tw-text-opacity: 1;color:rgb(255 156 156 / var(--tw-text-opacity, 1))}.text-\[\#ffc2c2\]{--tw-text-opacity: 1;color:rgb(255 194 194 / var(--tw-text-opacity, 1))}.text-\[var\(--muted\)\]{color:var(--muted)}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-300\/80{color:#fcd34dcc}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-400\/60{color:#fbbf2499}.text-amber-400\/90{color:#fbbf24e6}.text-amber-50{--tw-text-opacity: 1;color:rgb(255 251 235 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-current{color:currentColor}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity, 1))}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.text-emerald-200\/80{color:#a7f3d0cc}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-foreground{color:var(--foreground)}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-muted{color:var(--muted)}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-red-200\/80{color:#fecacacc}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-sky-100{--tw-text-opacity: 1;color:rgb(224 242 254 / var(--tw-text-opacity, 1))}.text-sky-200{--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity, 1))}.text-sky-200\/80{color:#bae6fdcc}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.text-slate-200\/90{color:#e2e8f0e6}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.decoration-current{text-decoration-color:currentColor}.underline-offset-2{text-underline-offset:2px}.placeholder-\[var\(--muted\)\]::-moz-placeholder{color:var(--muted)}.placeholder-\[var\(--muted\)\]::placeholder{color:var(--muted)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(0\,102\,255\,0\.3\)\]{--tw-shadow: 0 0 12px rgba(0,102,255,.3);--tw-shadow-colored: 0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(0\,102\,255\,0\.3\)\]{--tw-shadow: 0 0 20px rgba(0,102,255,.3);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_6px_rgba\(16\,185\,129\,0\.6\)\]{--tw-shadow: 0 0 6px rgba(16,185,129,.6);--tw-shadow-colored: 0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_6px_rgba\(16\,185\,129\,0\.7\)\]{--tw-shadow: 0 0 6px rgba(16,185,129,.7);--tw-shadow-colored: 0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_6px_rgba\(239\,68\,68\,0\.6\)\]{--tw-shadow: 0 0 6px rgba(239,68,68,.6);--tw-shadow-colored: 0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_6px_rgba\(251\,191\,36\,0\.5\)\]{--tw-shadow: 0 0 6px rgba(251,191,36,.5);--tw-shadow-colored: 0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_6px_rgba\(251\,191\,36\,0\.6\)\]{--tw-shadow: 0 0 6px rgba(251,191,36,.6);--tw-shadow-colored: 0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(148\,163\,184\,0\.35\)\]{--tw-shadow: 0 0 8px rgba(148,163,184,.35);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(248\,113\,113\,0\.55\)\]{--tw-shadow: 0 0 8px rgba(248,113,113,.55);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(52\,211\,153\,0\.55\)\]{--tw-shadow: 0 0 8px rgba(52,211,153,.55);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(56\,189\,248\,0\.55\)\]{--tw-shadow: 0 0 8px rgba(56,189,248,.55);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_48px_rgba\(15\,23\,42\,0\.06\)\]{--tw-shadow: 0 18px 48px rgba(15,23,42,.06);--tw-shadow-colored: 0 18px 48px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_60px_rgba\(4\,12\,24\,0\.28\)\]{--tw-shadow: 0 18px 60px rgba(4,12,24,.28);--tw-shadow-colored: 0 18px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_24px_rgba\(0\,102\,255\,0\.24\)\]{--tw-shadow: 0 8px 24px rgba(0,102,255,.24);--tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.04\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.04);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur-\[100px\]{--tw-blur: blur(100px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[90px\]{--tw-blur: blur(90px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8080804d}.sidebar-scroll::-webkit-scrollbar{width:4px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.grid-bg{background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px);background-size:40px 40px}.glow-blue{background:radial-gradient(circle,rgba(0,102,255,.08) 0%,transparent 70%)}.placeholder\:text-\[\#7188b2\]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(113 136 178 / var(--tw-text-opacity, 1))}.placeholder\:text-\[\#7188b2\]::placeholder{--tw-text-opacity: 1;color:rgb(113 136 178 / var(--tw-text-opacity, 1))}.placeholder\:text-muted::-moz-placeholder{color:var(--muted)}.placeholder\:text-muted::placeholder{color:var(--muted)}.last\:border-0:last-child{border-width:0px}.hover\:border-\[\#0066FF\]\/35:hover{border-color:#0066ff59}.hover\:border-\[\#0066FF\]\/40:hover{border-color:#06f6}.hover\:border-\[var\(--border-hover\)\]:hover{border-color:var(--border-hover)}.hover\:border-white\/35:hover{border-color:#ffffff59}.hover\:bg-\[\#0052cc\]:hover{--tw-bg-opacity: 1;background-color:rgb(0 82 204 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#0066FF\]\/10:hover{background-color:#0066ff1a}.hover\:bg-\[\#0066FF\]\/15:hover{background-color:#0066ff26}.hover\:bg-\[\#0066FF\]\/20:hover{background-color:#06f3}.hover\:bg-\[\#0066FF\]\/90:hover{background-color:#0066ffe6}.hover\:bg-\[\#0066FF\]\/\[0\.04\]:hover{background-color:#0066ff0a}.hover\:bg-\[\#07C160\]\/10:hover{background-color:#07c1601a}.hover\:bg-\[\#07C160\]\/90:hover{background-color:#07c160e6}.hover\:bg-\[\#3370FF\]\/10:hover{background-color:#3370ff1a}.hover\:bg-\[\#3370FF\]\/90:hover{background-color:#3370ffe6}.hover\:bg-\[var\(--card\)\]:hover{background-color:var(--card)}.hover\:bg-\[var\(--card-hover\)\]:hover{background-color:var(--card-hover)}.hover\:bg-\[var\(--input-bg\)\]:hover{background-color:var(--input-bg)}.hover\:bg-amber-400:hover{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.hover\:bg-amber-500\/30:hover{background-color:#f59e0b4d}.hover\:bg-emerald-400:hover{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-500\/10:hover{background-color:#10b9811a}.hover\:bg-red-400:hover{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-red-500\/15:hover{background-color:#ef444426}.hover\:bg-red-500\/20:hover{background-color:#ef444433}.hover\:bg-red-500\/90:hover{background-color:#ef4444e6}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-400:hover{--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity, 1))}.hover\:text-\[\#0066FF\]:hover{--tw-text-opacity: 1;color:rgb(0 102 255 / var(--tw-text-opacity, 1))}.hover\:text-\[\#0066FF\]\/80:hover{color:#06fc}.hover\:text-amber-300:hover{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.hover\:text-amber-400:hover{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.hover\:text-emerald-400:hover{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_0_28px_rgba\(0\,102\,255\,0\.45\)\]:hover{--tw-shadow: 0 0 28px rgba(0,102,255,.45);--tw-shadow-colored: 0 0 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-\[\#0066FF\]\/60:focus{border-color:#06f9}.focus\:border-amber-500\/60:focus{border-color:#f59e0b99}.focus\:border-red-500\/60:focus{border-color:#ef444499}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[\#0066FF\]\/60:focus{--tw-ring-color: rgb(0 102 255 / .6)}.focus\:ring-amber-500\/60:focus{--tw-ring-color: rgb(245 158 11 / .6)}.focus\:ring-red-500\/60:focus{--tw-ring-color: rgb(239 68 68 / .6)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width: 640px){.sm\:col-span-1{grid-column:span 1 / span 1}.sm\:inline{display:inline}.sm\:table-cell{display:table-cell}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (min-width: 768px){.md\:table-cell{display:table-cell}}@media (min-width: 1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:min-h-\[500px\]{min-height:500px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.lg\:grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}}
@@ -1 +0,0 @@
1
- const e=[{id:"minimax",label:"MiniMax (国内)",group:"国内厂商",baseUrl:"https://api.minimaxi.com/v1",api:"openai-completions",models:[{id:"MiniMax-M2.7",name:"MiniMax M2.7",contextWindow:204800},{id:"MiniMax-M2.7-highspeed",name:"MiniMax M2.7 Highspeed",contextWindow:204800}]},{id:"minimax-intl",label:"MiniMax (国际)",group:"国际厂商",baseUrl:"https://api.minimax.io/anthropic",api:"anthropic-messages",authHeader:!0,models:[{id:"MiniMax-M2.7",name:"MiniMax M2.7",contextWindow:204800},{id:"MiniMax-M2.7-highspeed",name:"MiniMax M2.7 Highspeed",contextWindow:204800}]},{id:"moonshot",label:"Kimi (Moonshot)",group:"国内厂商",baseUrl:"https://api.moonshot.cn/v1",api:"openai-completions",models:[{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:256e3},{id:"moonshot-v1-128k",name:"Moonshot V1 128K",contextWindow:128e3},{id:"moonshot-v1-32k",name:"Moonshot V1 32K",contextWindow:32e3},{id:"moonshot-v1-8k",name:"Moonshot V1 8K",contextWindow:8e3}]},{id:"moonshot-coding",label:"Kimi (编码计划)",group:"国内厂商",baseUrl:"https://api.moonshot.cn/anthropic",api:"anthropic-messages",authHeader:!0,models:[{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:256e3},{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:256e3},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256e3},{id:"kimi-k2-0905-preview",name:"Kimi K2 0905 Preview",contextWindow:256e3},{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo Preview",contextWindow:256e3}]},{id:"moonshot-intl",label:"Kimi (国际)",group:"国际厂商",baseUrl:"https://api.moonshot.ai/v1",api:"openai-completions",models:[{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:256e3},{id:"moonshot-v1-128k",name:"Moonshot V1 128K",contextWindow:128e3}]},{id:"zhipu",label:"智谱AI (GLM)",group:"国内厂商",baseUrl:"https://open.bigmodel.cn/api/paas/v4",api:"openai-completions",models:[{id:"glm-5.1",name:"GLM-5.1",contextWindow:2e5},{id:"glm-5",name:"GLM-5",contextWindow:2e5},{id:"glm-5-turbo",name:"GLM-5 Turbo",contextWindow:2e5},{id:"glm-4.7",name:"GLM-4.7",contextWindow:2e5},{id:"glm-4.7-flashx",name:"GLM-4.7 FlashX",contextWindow:2e5},{id:"glm-4.7-flash",name:"GLM-4.7 Flash (免费)",contextWindow:2e5},{id:"glm-4-plus",name:"GLM-4 Plus",contextWindow:128e3},{id:"glm-4-long",name:"GLM-4 Long",contextWindow:1e6}]},{id:"zhipu-intl",label:"Z.AI (GLM)",group:"国际厂商",baseUrl:"https://api.z.ai/api/paas/v4",api:"openai-completions",models:[{id:"glm-5.1",name:"GLM-5.1",contextWindow:2e5},{id:"glm-5",name:"GLM-5",contextWindow:2e5},{id:"glm-5-turbo",name:"GLM-5 Turbo",contextWindow:2e5},{id:"glm-4.7",name:"GLM-4.7",contextWindow:2e5},{id:"glm-4.7-flash",name:"GLM-4.7 Flash",contextWindow:2e5},{id:"glm-4-plus",name:"GLM-4 Plus",contextWindow:128e3}]},{id:"byteplus",label:"火山引擎国际版 (Doubao)",group:"国际厂商",baseUrl:"https://ark.ap-southeast.bytepluses.com/api/v3",api:"openai-completions",models:[{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite",contextWindow:256e3},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini",contextWindow:256e3},{id:"seed-1-8-251228",name:"Seed 1.8",contextWindow:256e3}]},{id:"deepseek",label:"DeepSeek",group:"国内厂商",baseUrl:"https://api.deepseek.com/v1",api:"openai-completions",models:[{id:"deepseek-chat",name:"DeepSeek V3.2",contextWindow:128e3},{id:"deepseek-reasoner",name:"DeepSeek V3.2 (推理)",contextWindow:128e3}]},{id:"dashscope",label:"阿里云百炼",group:"国内厂商",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",api:"openai-completions",models:[{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6},{id:"qwen3.5-flash",name:"Qwen 3.5 Flash",contextWindow:1e6},{id:"qwen3-max",name:"Qwen 3 Max",contextWindow:262144},{id:"qwen3-coder-plus",name:"Qwen 3 Coder Plus",contextWindow:1e6},{id:"qwen3-coder-next",name:"Qwen 3 Coder Next",contextWindow:262144},{id:"qwen3-coder-flash",name:"Qwen 3 Coder Flash",contextWindow:1e6},{id:"qwen-plus",name:"Qwen Plus",contextWindow:1e6},{id:"qwen-long",name:"Qwen Long (10M)",contextWindow:1e7}]},{id:"modelstudio",label:"阿里云百炼 (国际/Coding)",group:"国内厂商",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1",api:"openai-completions",models:[{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6},{id:"qwen3-coder-plus",name:"Qwen 3 Coder Plus",contextWindow:1e6},{id:"qwen3-coder-next",name:"Qwen 3 Coder Next",contextWindow:262144}]},{id:"volcengine",label:"火山引擎 (豆包)",group:"国内厂商",baseUrl:"https://ark.cn-beijing.volces.com/api/v3",api:"openai-completions",models:[{id:"doubao-seed-2-0-pro-260215",name:"Doubao Seed 2.0 Pro (需替换为接入点ID)",contextWindow:256e3},{id:"doubao-seed-2-0-lite-260228",name:"Doubao Seed 2.0 Lite (需替换为接入点ID)",contextWindow:256e3},{id:"doubao-seed-2-0-code-preview-260215",name:"Doubao Seed 2.0 Code (需替换为接入点ID)",contextWindow:256e3},{id:"doubao-seed-2-0-mini-260215",name:"Doubao Seed 2.0 Mini (需替换为接入点ID)",contextWindow:256e3},{id:"doubao-seed-1-8-251228",name:"Doubao Seed 1.8 (需替换为接入点ID)",contextWindow:256e3}]},{id:"qianfan",label:"百度千帆 (ERNIE)",group:"国内厂商",baseUrl:"https://qianfan.baidubce.com/v2",api:"openai-completions",models:[{id:"ernie-5.0",name:"ERNIE 5.0",contextWindow:128e3},{id:"ernie-5.0-thinking-preview",name:"ERNIE 5.0 Thinking",contextWindow:128e3},{id:"ernie-4.5-turbo-128k",name:"ERNIE 4.5 Turbo (MoE)",contextWindow:128e3},{id:"ernie-x1.1",name:"ERNIE X1.1 (推理)",contextWindow:64e3},{id:"deepseek-v3.2",name:"DeepSeek V3.2 (千帆)",contextWindow:128e3}]},{id:"tencent",label:"腾讯混元",group:"国内厂商",baseUrl:"https://api.hunyuan.cloud.tencent.com/v1",api:"openai-completions",models:[{id:"hunyuan-2.0-thinking-20251109",name:"Hunyuan 2.0 Think (推理)",contextWindow:128e3},{id:"hunyuan-2.0-instruct-20251111",name:"Hunyuan 2.0 Instruct",contextWindow:128e3},{id:"hunyuan-t1-latest",name:"Hunyuan T1 (推理)",contextWindow:32e3},{id:"hunyuan-turbos-latest",name:"Hunyuan TurboS",contextWindow:32e3},{id:"hunyuan-a13b",name:"Hunyuan A13B (MoE)",contextWindow:224e3},{id:"hunyuan-lite",name:"Hunyuan Lite (免费)",contextWindow:25e4}]},{id:"xiaomi",label:"MiMo (小米)",group:"国内厂商",baseUrl:"https://api.xiaomimimo.com/v1",api:"openai-completions",models:[{id:"mimo-v2-pro",name:"MiMo V2 Pro (推理)",contextWindow:1048576},{id:"mimo-v2-omni",name:"MiMo V2 Omni (多模)",contextWindow:262144},{id:"mimo-v2-flash",name:"MiMo V2 Flash",contextWindow:262144}]},{id:"spark",label:"讯飞星火",group:"国内厂商",baseUrl:"https://spark-api-open.xf-yun.com/v1",api:"openai-completions",models:[{id:"spark-x",name:"Spark X1.5 (推理)",contextWindow:32768},{id:"4.0Ultra",name:"Spark 4.0 Ultra",contextWindow:32768},{id:"pro-128k",name:"Spark Pro 128K",contextWindow:131072},{id:"lite",name:"Spark Lite (免费)",contextWindow:8192}]},{id:"stepfun",label:"阶跃星辰",group:"国内厂商",baseUrl:"https://api.stepfun.com/v1",api:"openai-completions",models:[{id:"step-3.5-flash",name:"Step 3.5 Flash (推理)",contextWindow:262144},{id:"step-3",name:"Step 3 (多模推理)",contextWindow:65536},{id:"step-2-mini",name:"Step 2 Mini",contextWindow:32e3},{id:"step-1o-turbo-vision",name:"Step 1o Turbo Vision",contextWindow:32e3},{id:"step-1-256k",name:"Step 1 256K",contextWindow:256e3}]},{id:"openai",label:"OpenAI",group:"国际厂商",baseUrl:"https://api.openai.com/v1",api:"openai-completions",models:[{id:"gpt-5.4",name:"GPT-5.4",contextWindow:105e4},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:105e4},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindow:4e5},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",contextWindow:4e5},{id:"o3-pro",name:"o3-pro (推理)",contextWindow:2e5},{id:"o3",name:"o3 (推理)",contextWindow:2e5},{id:"o4-mini",name:"o4-mini (推理)",contextWindow:2e5},{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1e6},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1e6}]},{id:"anthropic",label:"Anthropic (Claude)",group:"国际厂商",baseUrl:"https://api.anthropic.com",api:"anthropic-messages",models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:2e5}]},{id:"google",label:"Google Gemini",group:"国际厂商",baseUrl:"https://generativelanguage.googleapis.com",api:"google-generative-ai",models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro (Preview)",contextWindow:1048576},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash (Preview)",contextWindow:1048576},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite (Preview)",contextWindow:1048576},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576}]},{id:"mistral",label:"Mistral AI",group:"国际厂商",baseUrl:"https://api.mistral.ai/v1",api:"openai-completions",models:[{id:"mistral-large-latest",name:"Mistral Large 3",contextWindow:262144},{id:"mistral-small-latest",name:"Mistral Small 4",contextWindow:256e3},{id:"codestral-latest",name:"Codestral (代码)",contextWindow:256e3},{id:"devstral-latest",name:"Devstral 2 (代码Agent)",contextWindow:256e3},{id:"devstral-2-latest",name:"Devstral 2 123B (代码)",contextWindow:256e3},{id:"magistral-medium-latest",name:"Magistral Medium (推理)",contextWindow:4e4}]},{id:"xai",label:"xAI (Grok)",group:"国际厂商",baseUrl:"https://api.x.ai/v1",api:"openai-completions",models:[{id:"grok-4.20-0309-reasoning",name:"Grok 4.20 (推理)",contextWindow:2e6},{id:"grok-4-1-fast-reasoning",name:"Grok 4 Fast (推理)",contextWindow:2e6},{id:"grok-4-1-fast-non-reasoning",name:"Grok 4 Fast",contextWindow:2e6},{id:"grok-4",name:"Grok 4",contextWindow:256e3},{id:"grok-code-fast-1",name:"Grok Code Fast 1 (代码)",contextWindow:256e3},{id:"grok-3",name:"Grok 3",contextWindow:131072},{id:"grok-3-mini",name:"Grok 3 Mini",contextWindow:131072}]},{id:"cohere",label:"Cohere",group:"国际厂商",baseUrl:"https://api.cohere.com/compatibility/v1",api:"openai-completions",models:[{id:"command-a-03-2025",name:"Command A",contextWindow:256e3},{id:"command-a-reasoning-08-2025",name:"Command A (推理)",contextWindow:256e3},{id:"command-a-vision-07-2025",name:"Command A (视觉)",contextWindow:128e3},{id:"command-r-plus-08-2024",name:"Command R+",contextWindow:128e3},{id:"command-r-08-2024",name:"Command R",contextWindow:128e3}]},{id:"groq",label:"Groq",group:"推理加速",baseUrl:"https://api.groq.com/openai/v1",api:"openai-completions",models:[{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B",contextWindow:131072},{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B",contextWindow:131072},{id:"meta-llama/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B",contextWindow:128e3},{id:"qwen/qwen3-32b",name:"Qwen 3 32B",contextWindow:128e3},{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B",contextWindow:131072}]},{id:"fireworks",label:"Fireworks AI",group:"推理加速",baseUrl:"https://api.fireworks.ai/inference/v1",api:"openai-completions",models:[{id:"accounts/fireworks/models/deepseek-v3",name:"DeepSeek V3",contextWindow:131072},{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1",contextWindow:163840},{id:"accounts/fireworks/models/deepseek-v3p2",name:"DeepSeek V3.2",contextWindow:163840},{id:"accounts/fireworks/models/deepseek-r1",name:"DeepSeek R1",contextWindow:163840},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B",contextWindow:131072},{id:"accounts/fireworks/models/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B",contextWindow:32768}]},{id:"sambanova",label:"SambaNova",group:"推理加速",baseUrl:"https://api.sambanova.ai/v1",api:"openai-completions",models:[{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindow:131072},{id:"DeepSeek-R1-0528",name:"DeepSeek R1",contextWindow:65536},{id:"DeepSeek-V3-0324",name:"DeepSeek V3",contextWindow:65536},{id:"DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:65536},{id:"DeepSeek-V3.2",name:"DeepSeek V3.2",contextWindow:65536},{id:"Meta-Llama-3.3-70B-Instruct",name:"Llama 3.3 70B",contextWindow:131072},{id:"Qwen3-235B",name:"Qwen 3 235B",contextWindow:65536}]},{id:"cerebras",label:"Cerebras",group:"推理加速",baseUrl:"https://api.cerebras.ai/v1",api:"openai-completions",models:[{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindow:131072},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen 3 235B (MoE)",contextWindow:131072},{id:"zai-glm-4.7",name:"Z.AI GLM 4.7",contextWindow:131072},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B",contextWindow:131072}]},{id:"hyperbolic",label:"Hyperbolic",group:"推理加速",baseUrl:"https://api.hyperbolic.xyz/v1",api:"openai-completions",models:[{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindow:131072},{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3",contextWindow:131072},{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek R1",contextWindow:131072},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B",contextWindow:131072}]},{id:"openrouter",label:"OpenRouter",group:"聚合平台",baseUrl:"https://openrouter.ai/api/v1",api:"openai-completions",models:[{id:"openrouter/auto",name:"Auto (自动选择)",contextWindow:2e6},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6},{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1e6},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1",contextWindow:128e3},{id:"deepseek/deepseek-r1-0528",name:"DeepSeek R1",contextWindow:163840}]},{id:"together",label:"Together AI",group:"聚合平台",baseUrl:"https://api.together.xyz/v1",api:"openai-completions",models:[{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:131072},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1",contextWindow:163840},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo",contextWindow:131072},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",name:"Qwen 3 Coder 480B",contextWindow:131072}]},{id:"siliconflow",label:"SiliconFlow",group:"聚合平台",baseUrl:"https://api.siliconflow.cn/v1",api:"openai-completions",models:[{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",contextWindow:128e3},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1",contextWindow:128e3},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B (MoE)",contextWindow:131072},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144},{id:"Pro/deepseek-ai/DeepSeek-V3",name:"DeepSeek V3 (Pro)",contextWindow:128e3}]},{id:"perplexity",label:"Perplexity",group:"聚合平台",baseUrl:"https://api.perplexity.ai",api:"openai-completions",models:[{id:"sonar-pro",name:"Sonar Pro (联网)",contextWindow:2e5},{id:"sonar",name:"Sonar (联网)",contextWindow:127072},{id:"sonar-reasoning-pro",name:"Sonar Reasoning Pro (联网推理)",contextWindow:128e3},{id:"sonar-deep-research",name:"Sonar Deep Research (深度研究)",contextWindow:128e3}]},{id:"deepinfra",label:"DeepInfra",group:"聚合平台",baseUrl:"https://api.deepinfra.com/v1/openai",api:"openai-completions",models:[{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3",contextWindow:131072},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:131072},{id:"deepseek-ai/DeepSeek-R1-0528-Turbo",name:"DeepSeek R1 Turbo",contextWindow:131072},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo",contextWindow:131072},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen 3 235B",contextWindow:131072},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B",contextWindow:32768}]},{id:"nvidia",label:"NVIDIA NIM",group:"聚合平台",baseUrl:"https://integrate.api.nvidia.com/v1",api:"openai-completions",models:[{id:"meta/llama-3.3-70b-instruct",name:"Llama 3.3 70B",contextWindow:131072},{id:"deepseek-ai/deepseek-r1",name:"DeepSeek R1",contextWindow:131072}]},{id:"huggingface",label:"Hugging Face",group:"聚合平台",baseUrl:"https://router.huggingface.co/v1",api:"openai-completions",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B",contextWindow:131072},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B",contextWindow:32768}]},{id:"novita",label:"Novita AI",group:"聚合平台",baseUrl:"https://api.novita.ai/v3/openai",api:"openai-completions",models:[{id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek V3",contextWindow:131072},{id:"deepseek/deepseek-r1",name:"DeepSeek R1",contextWindow:131072},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B",contextWindow:131072}]},{id:"infini",label:"Infini-AI",group:"聚合平台",baseUrl:"https://cloud.infini-ai.com/maas/v1",api:"openai-completions",models:[{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",contextWindow:128e3},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1",contextWindow:128e3}]},{id:"venice",label:"Venice AI",group:"聚合平台",baseUrl:"https://api.venice.ai/api/v1",api:"openai-completions",models:[{id:"kimi-k2-5",name:"Kimi K2.5",contextWindow:262144}]},{id:"vercel-ai-gateway",label:"Vercel AI Gateway",group:"聚合平台",baseUrl:"https://ai-gateway.vercel.sh",api:"anthropic-messages",models:[{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:2e5}]},{id:"synthetic",label:"Synthetic",group:"聚合平台",baseUrl:"https://api.synthetic.new/anthropic",api:"anthropic-messages",models:[{id:"hf:MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7",contextWindow:204800},{id:"hf:MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5",contextWindow:204800}]},{id:"opencode",label:"OpenCode Zen",group:"聚合平台",baseUrl:"https://opencode.ai/zen/v1",api:"openai-completions",models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:2e5}]},{id:"ollama",label:"Ollama (本地)",group:"本地部署",baseUrl:"http://127.0.0.1:11434",api:"ollama",local:!0,models:[]},{id:"vllm",label:"vLLM (本地)",group:"本地部署",baseUrl:"http://127.0.0.1:8000/v1",api:"openai-completions",local:!0,models:[]},{id:"sglang",label:"SGLang (本地)",group:"本地部署",baseUrl:"http://127.0.0.1:30000/v1",api:"openai-completions",local:!0,models:[]},{id:"custom",label:"Custom (OpenAI Compatible)",group:"本地部署",baseUrl:"",api:"openai-completions",local:!0,models:[]}];export{e as P};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/HermesChatPanel-D6JI6lLY.js","assets/index-C8B0cFJM.js","assets/vendor-react-Bk1hRGiY.js","assets/vendor-i18n-ucpM0OR0.js","assets/index-CPhVFEsx.css","assets/HermesConfigForm-DcbSemaj.js","assets/input-paste-CrNVAyOy.js","assets/providers-V-vwrExZ.js","assets/WeixinLoginPanel-gca0QTic.js"])))=>i.map(i=>d[i]);
2
- import{an as s,_ as m,h as c}from"./index-C8B0cFJM.js";import{r as p}from"./vendor-react-Bk1hRGiY.js";const g={openclaw:{installDepSlug:"openclaw",installLabel:"OpenClaw 基础镜像",supportsClone:!0},hermes:{installDepSlug:"hermes",installLabel:"Hermes 运行时",installHint:"首次安装需拉取约 2.4 GB 镜像,大约 5-10 分钟",supportsClone:!1,chatComponent:()=>m(()=>import("./HermesChatPanel-D6JI6lLY.js"),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.HermesChatPanel})),configPanel:()=>m(()=>import("./HermesConfigForm-DcbSemaj.js"),__vite__mapDeps([5,1,2,3,4,6,7,8])).then(e=>({default:e.HermesConfigForm}))}};function f(e){const l=g[e.agentType]??{};return{agentType:e.agentType,displayName:e.displayName,description:e.description,required:e.required,isInstalled:n=>{var o,t,r,i;const a=(o=n==null?void 0:n.runtimes)==null?void 0:o[e.agentType];return a?!!a.installed&&!!a.imageReady:e.agentType==="openclaw"?!!((t=n==null?void 0:n.openclaw)!=null&&t.installed)&&!!(n!=null&&n.dockerImageReady):!!((r=e.installStatus)!=null&&r.installed)&&!!((i=e.installStatus)!=null&&i.imageReady)},installDepSlug:l.installDepSlug??e.agentType,installLabel:l.installLabel??e.displayName,installHint:l.installHint,supportsClone:l.supportsClone??!1,chatComponent:l.chatComponent,configPanel:l.configPanel}}const u=[{agentType:"openclaw",displayName:"OpenClaw",description:"默认 runtime,支持克隆、飞书 / 企业微信插件",required:!0,isInstalled:e=>{var l,n,a;return(n=(l=e==null?void 0:e.runtimes)==null?void 0:l.openclaw)!=null&&n.installed?!!e.runtimes.openclaw.imageReady:!!((a=e==null?void 0:e.openclaw)!=null&&a.installed)&&!!(e!=null&&e.dockerImageReady)},installDepSlug:"openclaw",installLabel:"OpenClaw 基础镜像",supportsClone:!0},{agentType:"hermes",displayName:"Hermes Agent",description:"NousResearch Hermes — Telegram / Discord / Slack / Signal 等 IM 接入",required:!1,isInstalled:e=>{var l,n;return!!((n=(l=e==null?void 0:e.runtimes)==null?void 0:l.hermes)!=null&&n.installed)},installDepSlug:"hermes",installLabel:"Hermes 运行时",installHint:"首次安装需拉取约 2.4 GB 镜像,大约 5-10 分钟",supportsClone:!1,chatComponent:()=>m(()=>import("./HermesChatPanel-D6JI6lLY.js"),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.HermesChatPanel})),configPanel:()=>m(()=>import("./HermesConfigForm-DcbSemaj.js"),__vite__mapDeps([5,1,2,3,4,6,7,8])).then(e=>({default:e.HermesConfigForm}))}];function h(){const[e,l]=p.useState(u),[n,a]=p.useState(!0),[o,t]=p.useState(null);return p.useEffect(()=>{let r=!1;return s().then(i=>{if(r)return;const d=i.adapters.map(f);d.length>0&&l(d)}).catch(i=>{r||t((i==null?void 0:i.message)||"Failed to load runtime catalog")}).finally(()=>{r||a(!1)}),()=>{r=!0}},[]),{runtimes:e,loading:n,error:o}}async function C(e){const l=await c(e.agentType);return{taskId:l==null?void 0:l.taskId}}export{u as F,g as R,C as i,h as u};