hermes-web-ui 0.3.2 → 0.3.3
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.
- package/dist/client/assets/{Add-CYFVC6GK.js → Add-CIZmky1Q.js} +1 -1
- package/dist/client/assets/{Button-Bls2FkVh.js → Button-Cpfqx5bj.js} +1 -1
- package/dist/client/assets/{ChannelsView-hQeWN-ve.js → ChannelsView-CqgEMY6f.js} +1 -1
- package/dist/client/assets/{ChatView-C67INFi3.js → ChatView-o_KHRYai.js} +1 -1
- package/dist/client/assets/{Close-CkAmZwHA.js → Close-Dx71Ggz9.js} +1 -1
- package/dist/client/assets/{FormItem-CO8nEllS.js → FormItem-D0pABOgK.js} +1 -1
- package/dist/client/assets/{Input-CmTdqaW1.js → Input-DmGT4Mu3.js} +1 -1
- package/dist/client/assets/{InputNumber-BVqiFQ5W.js → InputNumber-CQVOZP6a.js} +1 -1
- package/dist/client/assets/{JobsView-B0LZ2Ep0.js → JobsView-BwxWBXo3.js} +2 -2
- package/dist/client/assets/{LoginView-BjqBXdDl.js → LoginView-C4Id2mSY.js} +1 -1
- package/dist/client/assets/{LogsView-CXiJ_mte.js → LogsView-H_gfkSSN.js} +1 -1
- package/dist/client/assets/{MarkdownRenderer-CtI0yse1.js → MarkdownRenderer-DJK1b6T2.js} +1 -1
- package/dist/client/assets/{MemoryView-CjPn1pVR.js → MemoryView-DO4Y2le5.js} +1 -1
- package/dist/client/assets/{Modal-apmj2qGK.js → Modal-fhZL63EZ.js} +1 -1
- package/dist/client/assets/ModelsView-9CSt8tCa.js +1 -0
- package/dist/client/assets/{ModelsView-BhNEZwC0.css → ModelsView-D1p_2trx.css} +1 -1
- package/dist/client/assets/{Popconfirm-B9XSMaYA.js → Popconfirm-CLvbZW3I.js} +1 -1
- package/dist/client/assets/{Popover-CjCb_fJl.js → Popover-Dwi5NArH.js} +1 -1
- package/dist/client/assets/{ProfilesView-CmMfNg5X.js → ProfilesView-R_u1mtsl.js} +1 -1
- package/dist/client/assets/{Scrollbar-v6Ok23iG.js → Scrollbar-zYdleApO.js} +1 -1
- package/dist/client/assets/{Select-CDF2CEro.js → Select-0jFWg4Lf.js} +1 -1
- package/dist/client/assets/{SettingRow-CSjwu__h.js → SettingRow-LTP_cMLl.js} +1 -1
- package/dist/client/assets/{SettingsView-BYedQhU5.js → SettingsView-5o2GfsQf.js} +1 -1
- package/dist/client/assets/{SkillsView-B_MA4How.js → SkillsView-Cez6jHIn.js} +1 -1
- package/dist/client/assets/{Spin-UqA8uGuf.js → Spin-CfKqXT5a.js} +1 -1
- package/dist/client/assets/{Suffix-iRME2DUp.js → Suffix-jKQO068E.js} +1 -1
- package/dist/client/assets/{Switch-B4za8e-x.js → Switch-tk7Pkw6L.js} +1 -1
- package/dist/client/assets/{TerminalView-C0xlWgsR.js → TerminalView-C-oFmyFh.js} +1 -1
- package/dist/client/assets/{Tooltip-C9kFaGpi.js → Tooltip-Dc4tc92D.js} +1 -1
- package/dist/client/assets/{UsageView-Df6TKjYG.js → UsageView-SSxSWAFO.js} +1 -1
- package/dist/client/assets/{Warning-C--exCXL.js → Warning-BPlnDrmx.js} +1 -1
- package/dist/client/assets/{_plugin-vue_export-helper-BPCSidQI.js → _plugin-vue_export-helper-CcX4e_Is.js} +1 -1
- package/dist/client/assets/{app-BEBfTlZP.js → app-CcLe99Xa.js} +1 -1
- package/dist/client/assets/app-ML9hRyDO.js +1 -0
- package/dist/client/assets/{browser-OtgUKGth.js → browser-BfJIjfY3.js} +1 -1
- package/dist/client/assets/{chat-B8_g1FhX.js → chat-CuVG21Hv.js} +2 -2
- package/dist/client/assets/composables-BTIEu8ZB.js +1 -0
- package/dist/client/assets/{fade-in-scale-up.cssr-BbYEGcju.js → fade-in-scale-up.cssr-e30I2JjN.js} +1 -1
- package/dist/client/assets/index-XufFb2mL.js +284 -0
- package/dist/client/assets/{jobs-BRLhuQpK.js → jobs-LBrAH2Mz.js} +1 -1
- package/dist/client/assets/{light-Bmu6b0jg.js → light-BF--Dz10.js} +1 -1
- package/dist/client/assets/{light-B3QvGN97.js → light-BJ4xZyd0.js} +1 -1
- package/dist/client/assets/{light-DDEUT7ek.js → light-BLbGAFtS.js} +1 -1
- package/dist/client/assets/{light-B83Z4vA9.js → light-CCZMDqco.js} +1 -1
- package/dist/client/assets/{light-BtLlDltU.js → light-CDuRPTUd.js} +1 -1
- package/dist/client/assets/{light-8G-BZ0JM.js → light-DTBcb4qq.js} +1 -1
- package/dist/client/assets/{pinia-F-uLzgMS.js → pinia-D2g49IcO.js} +1 -1
- package/dist/client/assets/{profiles-DIJT1P0i.js → profiles-DbCu_blp.js} +1 -1
- package/dist/client/assets/{router-Drg4uUER.js → router-0X4x3p8e.js} +2 -2
- package/dist/client/assets/{sessions-BwtYroiN.js → sessions-SzjWXR9A.js} +1 -1
- package/dist/client/assets/{skills-BLhNwqgu.js → skills-CsjvGVsY.js} +1 -1
- package/dist/client/assets/use-compitable-DY4l-k3U.js +1 -0
- package/dist/client/assets/{use-message-xhQoRXQV.js → use-message-4kASja7X.js} +1 -1
- package/dist/client/assets/{useTheme-Dd5YNF4O.js → useTheme-Dh7NTo_V.js} +1 -1
- package/dist/client/index.html +27 -27
- package/dist/server/routes/hermes/codex-auth.d.ts +2 -0
- package/dist/server/routes/hermes/codex-auth.js +302 -0
- package/dist/server/routes/hermes/filesystem.js +67 -13
- package/dist/server/routes/hermes/index.js +2 -0
- package/dist/server/shared/providers.js +62 -18
- package/package.json +1 -1
- package/dist/client/assets/ModelsView-DXvahVC_.js +0 -1
- package/dist/client/assets/app-DoAgSphx.js +0 -1
- package/dist/client/assets/composables-VZZHak9F.js +0 -1
- package/dist/client/assets/index-DY7SeRWD.js +0 -284
- package/dist/client/assets/use-compitable-BgSV79Sl.js +0 -1
|
@@ -12,6 +12,7 @@ exports.PROVIDER_PRESETS = [
|
|
|
12
12
|
value: 'anthropic',
|
|
13
13
|
base_url: 'https://api.anthropic.com',
|
|
14
14
|
models: [
|
|
15
|
+
'claude-opus-4-7',
|
|
15
16
|
'claude-opus-4-6',
|
|
16
17
|
'claude-sonnet-4-6',
|
|
17
18
|
'claude-opus-4-5-20251101',
|
|
@@ -46,11 +47,11 @@ exports.PROVIDER_PRESETS = [
|
|
|
46
47
|
label: 'Z.AI / GLM',
|
|
47
48
|
value: 'zai',
|
|
48
49
|
base_url: 'https://api.z.ai/api/paas/v4',
|
|
49
|
-
models: ['glm-5', 'glm-5-turbo', 'glm-4.7', 'glm-4.5', 'glm-4.5-flash'],
|
|
50
|
+
models: ['glm-5.1', 'glm-5', 'glm-5v-turbo', 'glm-5-turbo', 'glm-4.7', 'glm-4.5', 'glm-4.5-flash'],
|
|
50
51
|
},
|
|
51
52
|
{
|
|
52
53
|
label: 'Kimi for Coding',
|
|
53
|
-
value: 'kimi-
|
|
54
|
+
value: 'kimi-coding',
|
|
54
55
|
base_url: 'https://api.kimi.com/coding/v1',
|
|
55
56
|
models: [
|
|
56
57
|
'kimi-for-coding',
|
|
@@ -61,22 +62,33 @@ exports.PROVIDER_PRESETS = [
|
|
|
61
62
|
'kimi-k2-0905-preview',
|
|
62
63
|
],
|
|
63
64
|
},
|
|
65
|
+
{
|
|
66
|
+
label: 'Kimi for Coding (CN)',
|
|
67
|
+
value: 'kimi-coding-cn',
|
|
68
|
+
base_url: 'https://api.kimi.com/coding/v1',
|
|
69
|
+
models: [
|
|
70
|
+
'kimi-k2.5',
|
|
71
|
+
'kimi-k2-thinking',
|
|
72
|
+
'kimi-k2-turbo-preview',
|
|
73
|
+
'kimi-k2-0905-preview',
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
label: 'Moonshot',
|
|
78
|
+
value: 'moonshot',
|
|
79
|
+
base_url: 'https://api.moonshot.cn/v1',
|
|
80
|
+
models: [
|
|
81
|
+
'kimi-k2.5',
|
|
82
|
+
'kimi-k2-thinking',
|
|
83
|
+
'kimi-k2-turbo-preview',
|
|
84
|
+
'kimi-k2-0905-preview',
|
|
85
|
+
],
|
|
86
|
+
},
|
|
64
87
|
{
|
|
65
88
|
label: 'xAI',
|
|
66
89
|
value: 'xai',
|
|
67
90
|
base_url: 'https://api.x.ai/v1',
|
|
68
|
-
models: [
|
|
69
|
-
'grok-4.20-0309-reasoning',
|
|
70
|
-
'grok-4.20-0309-non-reasoning',
|
|
71
|
-
'grok-4-1-fast-reasoning',
|
|
72
|
-
'grok-4-1-fast-non-reasoning',
|
|
73
|
-
'grok-4-fast-reasoning',
|
|
74
|
-
'grok-4-fast-non-reasoning',
|
|
75
|
-
'grok-4-0709',
|
|
76
|
-
'grok-code-fast-1',
|
|
77
|
-
'grok-3',
|
|
78
|
-
'grok-3-mini',
|
|
79
|
-
],
|
|
91
|
+
models: ['grok-4.20-reasoning', 'grok-4-1-fast-reasoning'],
|
|
80
92
|
},
|
|
81
93
|
{
|
|
82
94
|
label: 'MiniMax',
|
|
@@ -127,7 +139,7 @@ exports.PROVIDER_PRESETS = [
|
|
|
127
139
|
},
|
|
128
140
|
{
|
|
129
141
|
label: 'Kilo Code',
|
|
130
|
-
value: '
|
|
142
|
+
value: 'kilocode',
|
|
131
143
|
base_url: 'https://api.kilo.ai/api/gateway',
|
|
132
144
|
models: [
|
|
133
145
|
'anthropic/claude-opus-4.6',
|
|
@@ -139,7 +151,7 @@ exports.PROVIDER_PRESETS = [
|
|
|
139
151
|
},
|
|
140
152
|
{
|
|
141
153
|
label: 'Vercel AI Gateway',
|
|
142
|
-
value: '
|
|
154
|
+
value: 'ai-gateway',
|
|
143
155
|
base_url: 'https://ai-gateway.vercel.sh/v1',
|
|
144
156
|
models: [
|
|
145
157
|
'anthropic/claude-opus-4.6',
|
|
@@ -158,32 +170,64 @@ exports.PROVIDER_PRESETS = [
|
|
|
158
170
|
},
|
|
159
171
|
{
|
|
160
172
|
label: 'OpenCode Zen',
|
|
161
|
-
value: 'opencode',
|
|
173
|
+
value: 'opencode-zen',
|
|
162
174
|
base_url: 'https://opencode.ai/zen/v1',
|
|
163
175
|
models: [
|
|
164
176
|
'gpt-5.4-pro',
|
|
165
177
|
'gpt-5.4',
|
|
166
178
|
'gpt-5.3-codex',
|
|
179
|
+
'gpt-5.3-codex-spark',
|
|
167
180
|
'gpt-5.2',
|
|
181
|
+
'gpt-5.2-codex',
|
|
168
182
|
'gpt-5.1',
|
|
183
|
+
'gpt-5.1-codex',
|
|
184
|
+
'gpt-5.1-codex-max',
|
|
185
|
+
'gpt-5.1-codex-mini',
|
|
186
|
+
'gpt-5',
|
|
187
|
+
'gpt-5-codex',
|
|
188
|
+
'gpt-5-nano',
|
|
169
189
|
'claude-opus-4-6',
|
|
190
|
+
'claude-opus-4-5',
|
|
191
|
+
'claude-opus-4-1',
|
|
170
192
|
'claude-sonnet-4-6',
|
|
193
|
+
'claude-sonnet-4-5',
|
|
194
|
+
'claude-sonnet-4',
|
|
171
195
|
'claude-haiku-4-5',
|
|
196
|
+
'claude-3-5-haiku',
|
|
172
197
|
'gemini-3.1-pro',
|
|
173
198
|
'gemini-3-pro',
|
|
174
199
|
'gemini-3-flash',
|
|
175
200
|
'minimax-m2.7',
|
|
176
201
|
'minimax-m2.5',
|
|
202
|
+
'minimax-m2.5-free',
|
|
203
|
+
'minimax-m2.1',
|
|
177
204
|
'glm-5',
|
|
178
205
|
'glm-4.7',
|
|
206
|
+
'glm-4.6',
|
|
179
207
|
'kimi-k2.5',
|
|
208
|
+
'kimi-k2-thinking',
|
|
209
|
+
'kimi-k2',
|
|
210
|
+
'qwen3-coder',
|
|
211
|
+
'big-pickle',
|
|
180
212
|
],
|
|
181
213
|
},
|
|
182
214
|
{
|
|
183
215
|
label: 'OpenCode Go',
|
|
184
216
|
value: 'opencode-go',
|
|
185
217
|
base_url: 'https://opencode.ai/zen/go/v1',
|
|
186
|
-
models: ['glm-5', 'kimi-k2.5', 'mimo-v2-pro', 'mimo-v2-omni', 'minimax-m2.7', 'minimax-m2.5'],
|
|
218
|
+
models: ['glm-5.1', 'glm-5', 'kimi-k2.5', 'mimo-v2-pro', 'mimo-v2-omni', 'minimax-m2.7', 'minimax-m2.5'],
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
label: 'OpenAI Codex',
|
|
222
|
+
value: 'openai-codex',
|
|
223
|
+
base_url: 'https://chatgpt.com/backend-api/codex',
|
|
224
|
+
models: ['gpt-5.4-mini', 'gpt-5.4', 'gpt-5.3-codex', 'gpt-5.2-codex', 'gpt-5.1-codex-max', 'gpt-5.1-codex-mini'],
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
label: 'Arcee AI',
|
|
228
|
+
value: 'arcee',
|
|
229
|
+
base_url: 'https://api.arcee.ai/v1',
|
|
230
|
+
models: ['trinity-large-thinking', 'trinity-large-preview', 'trinity-mini'],
|
|
187
231
|
},
|
|
188
232
|
{
|
|
189
233
|
label: 'OpenRouter',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hermes-web-ui",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "Web dashboard for Hermes Agent — multi-platform AI chat, session management, scheduled jobs, usage analytics & channel configuration (Telegram, Discord, Slack, WhatsApp)",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,C as t,D as n,E as r,G as i,Q as a,T as o,U as s,X as c,ct as l,gt as u,j as d,k as f,mt as p,pt as m,q as h,w as g,y as _}from"./router-Drg4uUER.js";import{n as v}from"./pinia-F-uLzgMS.js";import{r as y,t as b}from"./_plugin-vue_export-helper-BPCSidQI.js";import{t as x}from"./Modal-apmj2qGK.js";import{n as S,t as C}from"./FormItem-CO8nEllS.js";import{t as w}from"./Select-CDF2CEro.js";import{t as T}from"./Button-Bls2FkVh.js";import{t as E}from"./Input-CmTdqaW1.js";import{t as D}from"./composables-VZZHak9F.js";import{t as O}from"./use-message-xhQoRXQV.js";import{t as k}from"./Spin-UqA8uGuf.js";import{a as A,i as j,n as M,r as N,t as P}from"./app-BEBfTlZP.js";var F=v(`models`,()=>{let e=l([]),n=l(``),r=l(!1),i=t(()=>e.value.filter(e=>e.provider.startsWith(`custom:`))),a=t(()=>e.value.filter(e=>!e.provider.startsWith(`custom:`))),o=t(()=>e.value.flatMap(e=>e.models.map(t=>({id:t,provider:e.provider,label:e.label,base_url:e.base_url,isDefault:t===n.value}))));async function s(){r.value=!0;try{let t=await N();e.value=t.groups,n.value=t.default}catch(e){console.error(`Failed to fetch providers:`,e)}finally{r.value=!1}}async function c(e,t){await A({default:e,provider:t}),n.value=e,P().loadModels()}async function u(e){await M(e),await s(),P().loadModels()}async function d(e){await j(e),await s(),P().loadModels()}return{providers:e,defaultModel:n,loading:r,customProviders:i,builtinProviders:a,allModels:o,fetchProviders:s,setDefaultModel:c,addProvider:u,removeProvider:d}}),I={class:`provider-card`},L={class:`card-header`},R={class:`provider-name`},z={class:`card-body`},B={class:`info-row`},V={class:`info-label`},H={class:`info-value mono`},U={class:`info-row`},W={class:`info-label`},G={class:`info-value mono`},K={class:`card-actions`},q=b(d({__name:`ProviderCard`,props:{provider:{}},setup(r){let o=r,{t:s}=y(),c=F(),l=O(),d=D(),h=t(()=>o.provider.provider.startsWith(`custom:`)),_=t(()=>o.provider.label);async function v(){d.warning({title:s(`models.deleteProvider`),content:s(`models.deleteConfirm`,{name:_.value}),positiveText:s(`common.delete`),negativeText:s(`common.cancel`),onPositiveClick:async()=>{try{await c.removeProvider(o.provider.provider),l.success(s(`models.providerDeleted`))}catch(e){l.error(e.message)}}})}return(t,o)=>(i(),n(`div`,I,[g(`div`,L,[g(`h3`,R,u(_.value),1),g(`span`,{class:p([`type-badge`,h.value?`custom`:`builtin`])},u(h.value?m(s)(`models.customType`):m(s)(`models.builtIn`)),3)]),g(`div`,z,[g(`div`,B,[g(`span`,V,u(m(s)(`models.provider`)),1),g(`code`,H,u(r.provider.provider),1)]),g(`div`,U,[g(`span`,W,u(m(s)(`models.baseUrl`)),1),g(`code`,G,u(r.provider.base_url),1)])]),g(`div`,K,[e(m(T),{size:`tiny`,quaternary:``,type:`error`,onClick:v},{default:a(()=>[f(u(m(s)(`common.delete`)),1)]),_:1})])]))}}),[[`__scopeId`,`data-v-31916e31`]]),J={key:0,class:`empty-state`},Y={key:1,class:`providers-grid`},X=b(d({__name:`ProvidersPanel`,setup(e){let{t}=y(),r=F();return(e,a)=>m(r).providers.length===0?(i(),n(`div`,J,[a[0]||=g(`svg`,{width:`48`,height:`48`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1`,class:`empty-icon`},[g(`path`,{d:`M12 2L2 7l10 5 10-5-10-5z`}),g(`path`,{d:`M2 17l10 5 10-5`}),g(`path`,{d:`M2 12l10 5 10-5`})],-1),g(`p`,null,u(m(t)(`models.noProviders`)),1)])):(i(),n(`div`,Y,[(i(!0),n(_,null,h(m(r).providers,e=>(i(),o(q,{key:e.provider,provider:e},null,8,[`provider`]))),128))]))}}),[[`__scopeId`,`data-v-76eec30b`]]),Z=[{label:`Anthropic`,value:`anthropic`,base_url:`https://api.anthropic.com`,models:[`claude-opus-4-6`,`claude-sonnet-4-6`,`claude-opus-4-5-20251101`,`claude-sonnet-4-5-20250929`,`claude-opus-4-20250514`,`claude-sonnet-4-20250514`,`claude-haiku-4-5-20251001`]},{label:`Google AI Studio`,value:`gemini`,base_url:`https://generativelanguage.googleapis.com/v1beta/openai`,models:[`gemini-3.1-pro-preview`,`gemini-3-flash-preview`,`gemini-3.1-flash-lite-preview`,`gemini-2.5-pro`,`gemini-2.5-flash`,`gemini-2.5-flash-lite`,`gemma-4-31b-it`,`gemma-4-26b-it`]},{label:`DeepSeek`,value:`deepseek`,base_url:`https://api.deepseek.com`,models:[`deepseek-chat`,`deepseek-reasoner`]},{label:`Z.AI / GLM`,value:`zai`,base_url:`https://api.z.ai/api/paas/v4`,models:[`glm-5`,`glm-5-turbo`,`glm-4.7`,`glm-4.5`,`glm-4.5-flash`]},{label:`Kimi for Coding`,value:`kimi-for-coding`,base_url:`https://api.kimi.com/coding/v1`,models:[`kimi-for-coding`,`kimi-k2.5`,`kimi-k2-thinking`,`kimi-k2-thinking-turbo`,`kimi-k2-turbo-preview`,`kimi-k2-0905-preview`]},{label:`xAI`,value:`xai`,base_url:`https://api.x.ai/v1`,models:[`grok-4.20-0309-reasoning`,`grok-4.20-0309-non-reasoning`,`grok-4-1-fast-reasoning`,`grok-4-1-fast-non-reasoning`,`grok-4-fast-reasoning`,`grok-4-fast-non-reasoning`,`grok-4-0709`,`grok-code-fast-1`,`grok-3`,`grok-3-mini`]},{label:`MiniMax`,value:`minimax`,base_url:`https://api.minimax.io/anthropic/v1`,models:[`MiniMax-M2.7`,`MiniMax-M2.7-highspeed`,`MiniMax-M2.5`,`MiniMax-M2.5-highspeed`,`MiniMax-M2.1`,`MiniMax-M2.1-highspeed`,`MiniMax-M2`,`MiniMax-M2-highspeed`]},{label:`MiniMax (China)`,value:`minimax-cn`,base_url:`https://api.minimaxi.com/v1`,models:[`MiniMax-M2.7`,`MiniMax-M2.7-highspeed`,`MiniMax-M2.5`,`MiniMax-M2.5-highspeed`,`MiniMax-M2.1`,`MiniMax-M2.1-highspeed`,`MiniMax-M2`,`MiniMax-M2-highspeed`]},{label:`Alibaba Cloud`,value:`alibaba`,base_url:`https://dashscope-intl.aliyuncs.com/compatible-mode/v1`,models:[`qwen3.5-plus`,`qwen3-coder-plus`,`qwen3-coder-next`,`glm-5`,`glm-4.7`,`kimi-k2.5`,`MiniMax-M2.5`]},{label:`Hugging Face`,value:`huggingface`,base_url:`https://router.huggingface.co/v1`,models:[`Qwen/Qwen3.5-397B-A17B`,`Qwen/Qwen3.5-35B-A3B`,`deepseek-ai/DeepSeek-V3.2`,`moonshotai/Kimi-K2.5`,`MiniMaxAI/MiniMax-M2.5`,`zai-org/GLM-5`,`XiaomiMiMo/MiMo-V2-Flash`,`moonshotai/Kimi-K2-Thinking`]},{label:`Xiaomi MiMo`,value:`xiaomi`,base_url:`https://api.xiaomimimo.com/v1`,models:[`mimo-v2-pro`,`mimo-v2-omni`,`mimo-v2-flash`]},{label:`Kilo Code`,value:`kilo`,base_url:`https://api.kilo.ai/api/gateway`,models:[`anthropic/claude-opus-4.6`,`anthropic/claude-sonnet-4.6`,`openai/gpt-5.4`,`google/gemini-3-pro-preview`,`google/gemini-3-flash-preview`]},{label:`Vercel AI Gateway`,value:`vercel`,base_url:`https://ai-gateway.vercel.sh/v1`,models:[`anthropic/claude-opus-4.6`,`anthropic/claude-sonnet-4.6`,`anthropic/claude-sonnet-4.5`,`anthropic/claude-haiku-4.5`,`openai/gpt-5`,`openai/gpt-4.1`,`openai/gpt-4.1-mini`,`google/gemini-3-pro-preview`,`google/gemini-3-flash`,`google/gemini-2.5-pro`,`google/gemini-2.5-flash`,`deepseek/deepseek-v3.2`]},{label:`OpenCode Zen`,value:`opencode`,base_url:`https://opencode.ai/zen/v1`,models:[`gpt-5.4-pro`,`gpt-5.4`,`gpt-5.3-codex`,`gpt-5.2`,`gpt-5.1`,`claude-opus-4-6`,`claude-sonnet-4-6`,`claude-haiku-4-5`,`gemini-3.1-pro`,`gemini-3-pro`,`gemini-3-flash`,`minimax-m2.7`,`minimax-m2.5`,`glm-5`,`glm-4.7`,`kimi-k2.5`]},{label:`OpenCode Go`,value:`opencode-go`,base_url:`https://opencode.ai/zen/go/v1`,models:[`glm-5`,`kimi-k2.5`,`mimo-v2-pro`,`mimo-v2-omni`,`minimax-m2.7`,`minimax-m2.5`]},{label:`OpenRouter`,value:`openrouter`,base_url:`https://openrouter.ai/api/v1`,models:[]}],Q={style:{display:`flex`,gap:`12px`}},$={style:{display:`flex`,gap:`8px`,width:`100%`}},ee={class:`modal-footer`},te=b(d({__name:`ProviderFormModal`,emits:[`close`,`saved`],setup(t,{emit:n}){let{t:s}=y(),d=n,p=F(),h=O(),_=l(!0),v=l(!1),b=l(!1),D=l(`preset`),k=l(null),A=l({name:``,base_url:``,api_key:``,model:``}),j=l([]),M=Z;function N(e){let t=e.replace(/^https?:\/\//,``).replace(/\/v1\/?$/,``).split(`/`)[0];return t.includes(`localhost`)||t.includes(`127.0.0.1`)?s(`models.local`,{host:t}):t.charAt(0).toUpperCase()+t.slice(1)}c(k,e=>{if(A.value.model=``,e){let t=M.find(t=>t.value===e);t&&(A.value.name=t.label,A.value.base_url=t.base_url,j.value=t.models.map(e=>({label:e,value:e})),t.models.length>0&&(A.value.model=t.models[0]))}}),c(()=>A.value.base_url,e=>{D.value===`custom`&&e.trim()&&(A.value.name=N(e.trim()))}),c(D,()=>{j.value=[],A.value={name:``,base_url:``,api_key:``,model:``},k.value=null});async function P(){let{base_url:e}=A.value;if(!e.trim()){h.warning(s(`models.enterBaseUrl`));return}b.value=!0;try{let t=e.replace(/\/+$/,``)+`/models`,n={};A.value.api_key.trim()&&(n.Authorization=`Bearer ${A.value.api_key.trim()}`);let r=await fetch(t,{headers:n,signal:AbortSignal.timeout(8e3)});if(!r.ok)throw Error(`HTTP ${r.status}`);let i=await r.json();if(!Array.isArray(i.data))throw Error(s(`models.unexpectedFormat`));j.value=i.data.map(e=>({label:e.id,value:e.id})),j.value.length>0&&!A.value.model&&(A.value.model=j.value[0].value),h.success(s(`models.foundModels`,{count:j.value.length}))}catch(e){h.error(s(`models.fetchFailed`)+`: `+e.message)}finally{b.value=!1}}async function I(){if(D.value===`preset`&&!k.value){h.warning(s(`models.selectProviderRequired`));return}if(!A.value.base_url.trim()){h.warning(s(`models.baseUrlRequired`));return}if(!A.value.api_key.trim()){h.warning(s(`models.apiKeyRequired`));return}if(!A.value.model){h.warning(s(`models.modelRequired`));return}v.value=!0;try{let e=D.value===`preset`&&M.find(e=>e.value===k.value)?.value||null;await p.addProvider({name:A.value.name.trim(),base_url:A.value.base_url.trim(),api_key:A.value.api_key.trim(),model:A.value.model,providerKey:e}),h.success(s(`models.providerAdded`)),d(`saved`)}catch(e){h.error(e.message)}finally{v.value=!1}}function L(){_.value=!1,setTimeout(()=>d(`close`),200)}return(t,n)=>(i(),o(m(x),{show:_.value,"onUpdate:show":n[7]||=e=>_.value=e,preset:`card`,title:m(s)(`models.addProvider`),style:{width:`min(520px, calc(100vw - 32px))`},"mask-closable":!v.value,onAfterLeave:n[8]||=e=>d(`close`)},{footer:a(()=>[g(`div`,ee,[e(m(T),{onClick:L},{default:a(()=>[f(u(m(s)(`common.cancel`)),1)]),_:1}),e(m(T),{type:`primary`,loading:v.value,onClick:I},{default:a(()=>[f(u(m(s)(`common.add`)),1)]),_:1},8,[`loading`])])]),default:a(()=>[e(m(S),{"label-placement":`top`},{default:a(()=>[e(m(C),{label:m(s)(`models.providerType`)},{default:a(()=>[g(`div`,Q,[e(m(T),{type:D.value===`preset`?`primary`:`default`,size:`small`,onClick:n[0]||=e=>D.value=`preset`},{default:a(()=>[f(u(m(s)(`models.preset`)),1)]),_:1},8,[`type`]),e(m(T),{type:D.value===`custom`?`primary`:`default`,size:`small`,onClick:n[1]||=e=>D.value=`custom`},{default:a(()=>[f(u(m(s)(`models.custom`)),1)]),_:1},8,[`type`])])]),_:1},8,[`label`]),D.value===`preset`?(i(),o(m(C),{key:0,label:m(s)(`models.selectProvider`),required:``},{default:a(()=>[e(m(w),{value:k.value,"onUpdate:value":n[2]||=e=>k.value=e,options:m(M),placeholder:m(s)(`models.chooseProvider`),filterable:``},null,8,[`value`,`options`,`placeholder`])]),_:1},8,[`label`])):r(``,!0),D.value===`custom`?(i(),o(m(C),{key:1,label:m(s)(`models.name`)},{default:a(()=>[e(m(E),{value:A.value.name,"onUpdate:value":n[3]||=e=>A.value.name=e,placeholder:m(s)(`models.autoGeneratedName`),disabled:``},null,8,[`value`,`placeholder`])]),_:1},8,[`label`])):r(``,!0),e(m(C),{label:m(s)(`models.baseUrl`),required:``},{default:a(()=>[e(m(E),{value:A.value.base_url,"onUpdate:value":n[4]||=e=>A.value.base_url=e,placeholder:m(s)(`models.baseUrlPlaceholder`),disabled:D.value===`preset`},null,8,[`value`,`placeholder`,`disabled`])]),_:1},8,[`label`]),e(m(C),{label:m(s)(`models.apiKey`),required:``},{default:a(()=>[e(m(E),{value:A.value.api_key,"onUpdate:value":n[5]||=e=>A.value.api_key=e,type:`password`,"show-password-on":`click`,placeholder:m(s)(`models.apiKeyPlaceholder`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),e(m(C),{label:m(s)(`models.defaultModel`),required:``},{default:a(()=>[g(`div`,$,[e(m(w),{value:A.value.model,"onUpdate:value":n[6]||=e=>A.value.model=e,options:j.value,filterable:``,placeholder:m(s)(`models.selectModel`),style:{flex:`1`}},null,8,[`value`,`options`,`placeholder`]),D.value===`custom`||D.value===`preset`&&j.value.length===0?(i(),o(m(T),{key:0,loading:b.value,onClick:P},{default:a(()=>[f(u(m(s)(`common.fetch`)),1)]),_:1},8,[`loading`])):r(``,!0)])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`show`,`title`,`mask-closable`]))}}),[[`__scopeId`,`data-v-c6cd4f75`]]),ne={class:`models-view`},re={class:`page-header`},ie={class:`header-title`},ae={class:`models-content`},oe=b(d({__name:`ModelsView`,setup(t){let{t:c}=y(),d=F(),p=l(!1);s(()=>{d.fetchProviders()});function h(){p.value=!0}function _(){p.value=!1}async function v(){await d.fetchProviders(),_()}return(t,s)=>(i(),n(`div`,ne,[g(`header`,re,[g(`h2`,ie,u(m(c)(`models.title`)),1),e(m(T),{type:`primary`,size:`small`,onClick:h},{icon:a(()=>[...s[0]||=[g(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[g(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),g(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})],-1)]]),default:a(()=>[f(` `+u(m(c)(`models.addProvider`)),1)]),_:1})]),g(`div`,ae,[e(m(k),{show:m(d).loading&&m(d).providers.length===0},{default:a(()=>[e(X)]),_:1},8,[`show`])]),p.value?(i(),o(te,{key:0,onClose:_,onSaved:v})):r(``,!0)]))}}),[[`__scopeId`,`data-v-f120758c`]]);export{oe as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./app-BEBfTlZP.js";export{e as useAppStore};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{F as e}from"./router-Drg4uUER.js";import{Y as t}from"./browser-OtgUKGth.js";import{s as n}from"./Modal-apmj2qGK.js";function r(){let r=e(n,null);return r===null&&t(`use-dialog`,`No outer <n-dialog-provider /> founded.`),r}export{r as t};
|