Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions src/config/claudeProviderPresets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,58 @@ export const providerPresets: ProviderPreset[] = [
icon: "minimax",
iconColor: "#FF6B6B",
},
{
name: "MiniMax Highspeed",
websiteUrl: "https://platform.minimaxi.com",
apiKeyUrl: "https://platform.minimaxi.com/subscribe/coding-plan",
settingsConfig: {
env: {
ANTHROPIC_BASE_URL: "https://api.minimaxi.com/anthropic",
ANTHROPIC_AUTH_TOKEN: "",
API_TIMEOUT_MS: "3000000",
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 1,
ANTHROPIC_MODEL: "MiniMax-M2.7-highspeed",
ANTHROPIC_DEFAULT_SONNET_MODEL: "MiniMax-M2.7-highspeed",
ANTHROPIC_DEFAULT_OPUS_MODEL: "MiniMax-M2.7-highspeed",
ANTHROPIC_DEFAULT_HAIKU_MODEL: "MiniMax-M2.7-highspeed",
},
},
category: "cn_official",
isPartner: true,
partnerPromotionKey: "minimax_cn",
theme: {
backgroundColor: "#f64551",
textColor: "#FFFFFF",
},
icon: "minimax",
iconColor: "#FF6B6B",
},
{
name: "MiniMax en Highspeed",
websiteUrl: "https://platform.minimax.io",
apiKeyUrl: "https://platform.minimax.io/subscribe/coding-plan",
settingsConfig: {
env: {
ANTHROPIC_BASE_URL: "https://api.minimax.io/anthropic",
ANTHROPIC_AUTH_TOKEN: "",
API_TIMEOUT_MS: "3000000",
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 1,
ANTHROPIC_MODEL: "MiniMax-M2.7-highspeed",
ANTHROPIC_DEFAULT_SONNET_MODEL: "MiniMax-M2.7-highspeed",
ANTHROPIC_DEFAULT_OPUS_MODEL: "MiniMax-M2.7-highspeed",
ANTHROPIC_DEFAULT_HAIKU_MODEL: "MiniMax-M2.7-highspeed",
},
},
category: "cn_official",
isPartner: true,
partnerPromotionKey: "minimax_en",
theme: {
backgroundColor: "#f64551",
textColor: "#FFFFFF",
},
icon: "minimax",
iconColor: "#FF6B6B",
},
{
name: "DouBaoSeed",
websiteUrl: "https://www.volcengine.com/product/doubao",
Expand Down
79 changes: 79 additions & 0 deletions tests/config/claudeProviderPresets.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,85 @@
import { describe, expect, it } from "vitest";
import { providerPresets } from "@/config/claudeProviderPresets";

describe("MiniMax Provider Presets", () => {
const minimaxCn = providerPresets.find((p) => p.name === "MiniMax");
const minimaxEn = providerPresets.find((p) => p.name === "MiniMax en");
const minimaxCnHighspeed = providerPresets.find(
(p) => p.name === "MiniMax Highspeed",
);
const minimaxEnHighspeed = providerPresets.find(
(p) => p.name === "MiniMax en Highspeed",
);

it("should include MiniMax (CN) preset", () => {
expect(minimaxCn).toBeDefined();
});

it("should include MiniMax en preset", () => {
expect(minimaxEn).toBeDefined();
});

it("should include MiniMax Highspeed (CN) preset", () => {
expect(minimaxCnHighspeed).toBeDefined();
});

it("should include MiniMax en Highspeed preset", () => {
expect(minimaxEnHighspeed).toBeDefined();
});

it("MiniMax (CN) should use MiniMax-M2.7 model", () => {
const env = (minimaxCn!.settingsConfig as any).env;
expect(env.ANTHROPIC_MODEL).toBe("MiniMax-M2.7");
expect(env.ANTHROPIC_DEFAULT_SONNET_MODEL).toBe("MiniMax-M2.7");
expect(env.ANTHROPIC_DEFAULT_OPUS_MODEL).toBe("MiniMax-M2.7");
expect(env.ANTHROPIC_DEFAULT_HAIKU_MODEL).toBe("MiniMax-M2.7");
});

it("MiniMax en should use MiniMax-M2.7 model", () => {
const env = (minimaxEn!.settingsConfig as any).env;
expect(env.ANTHROPIC_MODEL).toBe("MiniMax-M2.7");
expect(env.ANTHROPIC_DEFAULT_HAIKU_MODEL).toBe("MiniMax-M2.7");
});

it("MiniMax Highspeed (CN) should use MiniMax-M2.7-highspeed model", () => {
const env = (minimaxCnHighspeed!.settingsConfig as any).env;
expect(env.ANTHROPIC_MODEL).toBe("MiniMax-M2.7-highspeed");
expect(env.ANTHROPIC_DEFAULT_SONNET_MODEL).toBe("MiniMax-M2.7-highspeed");
expect(env.ANTHROPIC_DEFAULT_OPUS_MODEL).toBe("MiniMax-M2.7-highspeed");
expect(env.ANTHROPIC_DEFAULT_HAIKU_MODEL).toBe("MiniMax-M2.7-highspeed");
});

it("MiniMax en Highspeed should use MiniMax-M2.7-highspeed model", () => {
const env = (minimaxEnHighspeed!.settingsConfig as any).env;
expect(env.ANTHROPIC_MODEL).toBe("MiniMax-M2.7-highspeed");
expect(env.ANTHROPIC_DEFAULT_HAIKU_MODEL).toBe("MiniMax-M2.7-highspeed");
});

it("MiniMax Highspeed (CN) should use CN base URL", () => {
const env = (minimaxCnHighspeed!.settingsConfig as any).env;
expect(env.ANTHROPIC_BASE_URL).toBe("https://api.minimaxi.com/anthropic");
});

it("MiniMax en Highspeed should use international base URL", () => {
const env = (minimaxEnHighspeed!.settingsConfig as any).env;
expect(env.ANTHROPIC_BASE_URL).toBe("https://api.minimax.io/anthropic");
});

it("all MiniMax presets should have cn_official category", () => {
expect(minimaxCn!.category).toBe("cn_official");
expect(minimaxEn!.category).toBe("cn_official");
expect(minimaxCnHighspeed!.category).toBe("cn_official");
expect(minimaxEnHighspeed!.category).toBe("cn_official");
});

it("all MiniMax presets should be marked as partner", () => {
expect(minimaxCn!.isPartner).toBe(true);
expect(minimaxEn!.isPartner).toBe(true);
expect(minimaxCnHighspeed!.isPartner).toBe(true);
expect(minimaxEnHighspeed!.isPartner).toBe(true);
});
});

describe("AWS Bedrock Provider Presets", () => {
const bedrockAksk = providerPresets.find(
(p) => p.name === "AWS Bedrock (AKSK)",
Expand Down
Loading