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 @@
+
+ {{ provider.id }}
+
{{ provider.name }}
+
+ {{ provider.isCustom ? t('settings.model.custom') : t('settings.model.builtin') }}
+
+
+ {{ t('settings.model.active') }}
+
+
{{ provider.id }}
-