diff --git a/mateclaw-server/src/main/java/vip/mate/llm/service/ModelConfigService.java b/mateclaw-server/src/main/java/vip/mate/llm/service/ModelConfigService.java index 760693fe..9570a4e8 100644 --- a/mateclaw-server/src/main/java/vip/mate/llm/service/ModelConfigService.java +++ b/mateclaw-server/src/main/java/vip/mate/llm/service/ModelConfigService.java @@ -193,7 +193,8 @@ public class ModelConfigService { throw new MateClawException("模型不存在: " + providerId + "/" + modelName); } if (!Boolean.TRUE.equals(entity.getEnabled())) { - throw new MateClawException("只有启用状态的模型才能设为默认"); + // Auto-enable when setting as default (e.g. local Ollama models) + entity.setEnabled(true); } clearDefaultFlag(); entity.setIsDefault(true); diff --git a/mateclaw-ui/src/i18n/locales/en-US.ts b/mateclaw-ui/src/i18n/locales/en-US.ts index 2651951c..6f8e9304 100644 --- a/mateclaw-ui/src/i18n/locales/en-US.ts +++ b/mateclaw-ui/src/i18n/locales/en-US.ts @@ -183,6 +183,8 @@ export default { title: 'Model Management', desc: 'Configure model providers, credentials, and model lists', addProvider: 'Add Provider', + localProviders: 'Local Models', + cloudProviders: 'Cloud Models', active: 'Active', setActive: 'Set Active', configured: 'Configured', diff --git a/mateclaw-ui/src/i18n/locales/zh-CN.ts b/mateclaw-ui/src/i18n/locales/zh-CN.ts index 3a4f7ebf..33ddc1d8 100644 --- a/mateclaw-ui/src/i18n/locales/zh-CN.ts +++ b/mateclaw-ui/src/i18n/locales/zh-CN.ts @@ -183,6 +183,8 @@ export default { title: '模型管理', desc: '配置模型 Provider、凭证和模型列表', addProvider: '新增 Provider', + localProviders: '本地模型', + cloudProviders: '云端模型', active: '当前激活', setActive: '设为激活', configured: '已配置', diff --git a/mateclaw-ui/src/views/Settings/Models/ProviderCard.vue b/mateclaw-ui/src/views/Settings/Models/ProviderCard.vue new file mode 100644 index 00000000..6ef99d17 --- /dev/null +++ b/mateclaw-ui/src/views/Settings/Models/ProviderCard.vue @@ -0,0 +1,133 @@ + + + + + diff --git a/mateclaw-ui/src/views/Settings/Models/index.vue b/mateclaw-ui/src/views/Settings/Models/index.vue index 05662cc9..d9247833 100644 --- a/mateclaw-ui/src/views/Settings/Models/index.vue +++ b/mateclaw-ui/src/views/Settings/Models/index.vue @@ -10,83 +10,56 @@ -
-
-
-
-
- -

{{ provider.name }}

- - {{ provider.isCustom ? t('settings.model.custom') : t('settings.model.builtin') }} - - - {{ t('settings.model.active') }} - -
-

{{ provider.id }}

-
-
- {{ providerStatus(provider).label }} -
+ +
+

+ + + + {{ t('settings.model.localProviders') }} +

+
+
+
+
+
-
-
- {{ t('settings.model.baseUrl') }} - - {{ provider.baseUrl || t('settings.model.notSet') }} - -
-
- {{ t('settings.model.apiKey') }} - {{ provider.apiKey || t('settings.model.notSet') }} -
-
- {{ t('settings.fields.modelName') }} - - {{ t('settings.model.modelCount', { count: (provider.models?.length || 0) + (provider.extraModels?.length || 0) }) }} - -
-
- -
- - - - -
- -
- - {{ t('settings.model.discovery.connectionOk') }} · {{ t('settings.model.discovery.latency', { ms: connectionResults[provider.id].latencyMs }) }} - - - {{ t('settings.model.discovery.connectionFail') }}: {{ connectionResults[provider.id].errorMessage }} - + +
+

+ + + + {{ t('settings.model.cloudProviders') }} +

+
+
+
@@ -138,11 +111,12 @@