From f6877ecfeff7e991652983a6f001a41cb0d4e517 Mon Sep 17 00:00:00 2001 From: octo-patch Date: Tue, 2 Jun 2026 12:51:10 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(ai):=20upgrade=20MiniMax=20def?= =?UTF-8?q?ault=20model=20to=20M3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add MiniMax-M3 to the MiniMax (Anthropic-compatible) provider model list and set it as the new default. Retain MiniMax-M2.7 and MiniMax-M2.7-highspeed for compatibility, and remove the deprecated M2.5 / M2.5-highspeed / M2.1 / M2.1-highspeed / M2 entries. Updates the matching backend static-model unit test and the frontend provider preset (default model + model list). --- frontend/src/components/AISettingsModal.tsx | 2 +- internal/ai/service/service.go | 6 +----- internal/ai/service/service_test.go | 6 +----- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/AISettingsModal.tsx b/frontend/src/components/AISettingsModal.tsx index c4976f3..4632e27 100644 --- a/frontend/src/components/AISettingsModal.tsx +++ b/frontend/src/components/AISettingsModal.tsx @@ -54,7 +54,7 @@ const PROVIDER_PRESETS: ProviderPreset[] = [ { key: 'gemini', label: 'Gemini', icon: , desc: 'Gemini 3.1 / 2.5 系列', color: '#059669', backendType: 'gemini', defaultBaseUrl: 'https://generativelanguage.googleapis.com', defaultModel: 'gemini-2.5-flash', models: [] }, { key: 'volcengine-ark', label: '火山方舟', icon: , desc: 'Ark 通用推理 / 豆包模型', color: '#0ea5e9', backendType: 'openai', defaultBaseUrl: 'https://ark.cn-beijing.volces.com/api/v3', defaultModel: '', models: [] }, { key: 'volcengine-coding', label: '火山 Coding Plan', icon: , desc: 'Ark Code / Coding Plan', color: '#0284c7', backendType: 'openai', defaultBaseUrl: 'https://ark.cn-beijing.volces.com/api/coding/v3', defaultModel: '', models: [] }, - { key: 'minimax', label: 'MiniMax', icon: , desc: 'M2.7 / M2.5 系列 (Anthropic 兼容)', color: '#e11d48', backendType: 'anthropic', defaultBaseUrl: 'https://api.minimaxi.com/anthropic', defaultModel: 'MiniMax-M2.7', models: ['MiniMax-M2.7', 'MiniMax-M2.7-highspeed', 'MiniMax-M2.5', 'MiniMax-M2.5-highspeed', 'MiniMax-M2.1', 'MiniMax-M2.1-highspeed', 'MiniMax-M2'] }, + { key: 'minimax', label: 'MiniMax', icon: , desc: 'M3 / M2.7 系列 (Anthropic 兼容)', color: '#e11d48', backendType: 'anthropic', defaultBaseUrl: 'https://api.minimaxi.com/anthropic', defaultModel: 'MiniMax-M3', models: ['MiniMax-M3', 'MiniMax-M2.7', 'MiniMax-M2.7-highspeed'] }, { key: 'ollama', label: 'Ollama', icon: , desc: '本地部署开源模型', color: '#78716c', backendType: 'openai', defaultBaseUrl: 'http://localhost:11434/v1', defaultModel: 'llama3', models: [] }, { key: 'custom', label: '自定义', icon: , desc: '自定义 API 端点', color: '#64748b', backendType: 'custom', defaultBaseUrl: '', defaultModel: '', models: [] }, ]; diff --git a/internal/ai/service/service.go b/internal/ai/service/service.go index fb157f8..599eedf 100644 --- a/internal/ai/service/service.go +++ b/internal/ai/service/service.go @@ -40,13 +40,9 @@ type Service struct { } var miniMaxAnthropicModels = []string{ + "MiniMax-M3", "MiniMax-M2.7", "MiniMax-M2.7-highspeed", - "MiniMax-M2.5", - "MiniMax-M2.5-highspeed", - "MiniMax-M2.1", - "MiniMax-M2.1-highspeed", - "MiniMax-M2", } var dashScopeCodingPlanModels = []string{ diff --git a/internal/ai/service/service_test.go b/internal/ai/service/service_test.go index 0bb6159..0d3be50 100644 --- a/internal/ai/service/service_test.go +++ b/internal/ai/service/service_test.go @@ -80,13 +80,9 @@ func TestDefaultStaticModelsForProvider_ReturnsMiniMaxAnthropicModels(t *testing BaseURL: "https://api.minimaxi.com/anthropic", }) expected := []string{ + "MiniMax-M3", "MiniMax-M2.7", "MiniMax-M2.7-highspeed", - "MiniMax-M2.5", - "MiniMax-M2.5-highspeed", - "MiniMax-M2.1", - "MiniMax-M2.1-highspeed", - "MiniMax-M2", } if !reflect.DeepEqual(models, expected) { t.Fatalf("expected MiniMax static models %v, got %v", expected, models)