From a9ffd6a1dee291df3e99909eddf367b407139266 Mon Sep 17 00:00:00 2001 From: Octopus Date: Tue, 2 Jun 2026 18:38:49 +0800 Subject: [PATCH] feat: upgrade MiniMax default model to M3 (#857) - Add MiniMax-M3 to the model selection list (set as new default at top) - Retain MiniMax-M2.7 and MiniMax-M2.7-highspeed - Remove deprecated MiniMax-M2.5 / M2.5-highspeed - Update supportsImageInput: M3 supports image input (M2.x stay text-only) - Update unit tests to reflect new model lineup - Update example AI_MODEL in CN/EN/JA docs to MiniMax-M3 Co-authored-by: octo-patch --- docs/cn/ai-providers.md | 2 +- docs/en/ai-providers.md | 2 +- docs/ja/ai-providers.md | 2 +- lib/ai-providers.ts | 8 ++++++-- lib/types/model-config.ts | 3 +-- tests/unit/ai-providers.test.ts | 9 ++++++--- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/docs/cn/ai-providers.md b/docs/cn/ai-providers.md index 8266cbf..f41edbb 100644 --- a/docs/cn/ai-providers.md +++ b/docs/cn/ai-providers.md @@ -222,7 +222,7 @@ MiniMax 支持两种 API 格式: ```bash MINIMAX_API_KEY=your_api_key -AI_MODEL=MiniMax-M2.7 +AI_MODEL=MiniMax-M3 ``` 可选配置: diff --git a/docs/en/ai-providers.md b/docs/en/ai-providers.md index 0a77361..e0c9957 100644 --- a/docs/en/ai-providers.md +++ b/docs/en/ai-providers.md @@ -237,7 +237,7 @@ MiniMax supports two API formats: ```bash MINIMAX_API_KEY=your_api_key -AI_MODEL=MiniMax-M2.7 +AI_MODEL=MiniMax-M3 ``` Optional configuration: diff --git a/docs/ja/ai-providers.md b/docs/ja/ai-providers.md index f3bdbe2..0752be0 100644 --- a/docs/ja/ai-providers.md +++ b/docs/ja/ai-providers.md @@ -222,7 +222,7 @@ MiniMax は 2 つの API 形式をサポートしています: ```bash MINIMAX_API_KEY=your_api_key -AI_MODEL=MiniMax-M2.7 +AI_MODEL=MiniMax-M3 ``` オプション設定: diff --git a/lib/ai-providers.ts b/lib/ai-providers.ts index 49039de..9cdd90f 100644 --- a/lib/ai-providers.ts +++ b/lib/ai-providers.ts @@ -1390,8 +1390,12 @@ export function supportsImageInput(modelId: string): boolean { return false } - // MiniMax text models (MiniMax-M2.x series are text-only) - if (lowerModelId.includes("minimax") && !hasVisionIndicator) { + // MiniMax text models (MiniMax-M2.x series are text-only; M3 supports image input) + if ( + lowerModelId.includes("minimax") && + !hasVisionIndicator && + !lowerModelId.includes("m3") + ) { return false } diff --git a/lib/types/model-config.ts b/lib/types/model-config.ts index c89ca10..823ce9e 100644 --- a/lib/types/model-config.ts +++ b/lib/types/model-config.ts @@ -351,10 +351,9 @@ export const SUGGESTED_MODELS: Partial> = { ], minimax: [ // MiniMax models (Anthropic-compatible API) + "MiniMax-M3", "MiniMax-M2.7", "MiniMax-M2.7-highspeed", - "MiniMax-M2.5", - "MiniMax-M2.5-highspeed", ], novita: [ // Novita AI models (OpenAI-compatible API) diff --git a/tests/unit/ai-providers.test.ts b/tests/unit/ai-providers.test.ts index 338a179..8ae108f 100644 --- a/tests/unit/ai-providers.test.ts +++ b/tests/unit/ai-providers.test.ts @@ -180,11 +180,14 @@ describe("supportsImageInput", () => { expect(supportsImageInput("moonshot-v1-128k")).toBe(false) }) - it("returns false for MiniMax text models", () => { + it("returns false for MiniMax M2 text models", () => { expect(supportsImageInput("MiniMax-M2.7")).toBe(false) - expect(supportsImageInput("MiniMax-M2.5")).toBe(false) + expect(supportsImageInput("MiniMax-M2.7-highspeed")).toBe(false) expect(supportsImageInput("MiniMax-M2")).toBe(false) - expect(supportsImageInput("MiniMax-M2.5-highspeed")).toBe(false) + }) + + it("returns true for MiniMax M3 (supports image input)", () => { + expect(supportsImageInput("MiniMax-M3")).toBe(true) }) it("returns false for DeepSeek text models", () => {