From 5f70f28333b7ce5e8c6bc5e49c4d1edf0b44b659 Mon Sep 17 00:00:00 2001 From: princeh23 Date: Wed, 18 Feb 2026 21:58:19 +0800 Subject: [PATCH] feat: add minimax provider support --- pkg/config/config.go | 2 ++ pkg/providers/http_provider.go | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/pkg/config/config.go b/pkg/config/config.go index a1cc978b6..f87642339 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -177,6 +177,7 @@ type ProvidersConfig struct { Nvidia ProviderConfig `json:"nvidia"` Ollama ProviderConfig `json:"ollama"` Moonshot ProviderConfig `json:"moonshot"` + Minimax ProviderConfig `json:"minimax"` ShengSuanYun ProviderConfig `json:"shengsuanyun"` DeepSeek ProviderConfig `json:"deepseek"` GitHubCopilot ProviderConfig `json:"github_copilot"` @@ -327,6 +328,7 @@ func DefaultConfig() *Config { Gemini: ProviderConfig{}, Nvidia: ProviderConfig{}, Moonshot: ProviderConfig{}, + Minimax: ProviderConfig{}, ShengSuanYun: ProviderConfig{}, }, Gateway: GatewayConfig{ diff --git a/pkg/providers/http_provider.go b/pkg/providers/http_provider.go index 946aa29d2..7065355eb 100644 --- a/pkg/providers/http_provider.go +++ b/pkg/providers/http_provider.go @@ -56,7 +56,7 @@ func (p *HTTPProvider) Chat(ctx context.Context, messages []Message, tools []Too // Strip provider prefix from model name (e.g., moonshot/kimi-k2.5 -> kimi-k2.5, groq/openai/gpt-oss-120b -> openai/gpt-oss-120b, ollama/qwen2.5:14b -> qwen2.5:14b) if idx := strings.Index(model, "/"); idx != -1 { prefix := model[:idx] - if prefix == "moonshot" || prefix == "nvidia" || prefix == "groq" || prefix == "ollama" { + if prefix == "moonshot" || prefix == "nvidia" || prefix == "groq" || prefix == "ollama" || prefix == "minimax" { model = model[idx+1:] } } @@ -351,6 +351,14 @@ func CreateProvider(cfg *config.Config) (LLMProvider, error) { apiBase = "https://api.moonshot.cn/v1" } + case (strings.Contains(lowerModel, "minimax") || strings.HasPrefix(model, "minimax/")) && cfg.Providers.Minimax.APIKey != "": + apiKey = cfg.Providers.Minimax.APIKey + apiBase = cfg.Providers.Minimax.APIBase + proxy = cfg.Providers.Minimax.Proxy + if apiBase == "" { + apiBase = "https://api.minimax.chat/v1" + } + case strings.HasPrefix(model, "openrouter/") || strings.HasPrefix(model, "anthropic/") || strings.HasPrefix(model, "openai/") || strings.HasPrefix(model, "meta-llama/") || strings.HasPrefix(model, "deepseek/") || strings.HasPrefix(model, "google/"): apiKey = cfg.Providers.OpenRouter.APIKey proxy = cfg.Providers.OpenRouter.Proxy