From 84ac5060786a7870ba65c3d404e1ba392800fe4f Mon Sep 17 00:00:00 2001 From: "Sheldon.li" Date: Thu, 31 Jul 2025 22:30:18 +0800 Subject: [PATCH 1/3] chore: support modelscope Support modelscope which provides a free qwen-coder3 quota every day --- internal/providers/configs/modelscope.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 internal/providers/configs/modelscope.json diff --git a/internal/providers/configs/modelscope.json b/internal/providers/configs/modelscope.json new file mode 100644 index 00000000..371964d4 --- /dev/null +++ b/internal/providers/configs/modelscope.json @@ -0,0 +1,19 @@ +{ + "name": "Modelscope", + "id": "modelscope", + "api_key": "$MODELSCOPE_API_KEY", + "api_endpoint": "https://api-inference.modelscope.cn/v1", + "type": "openai", + "default_large_model_id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "default_small_model_id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "models": [ + { + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen3-Coder", + "cost_per_1m_in": 0, + "cost_per_1m_out": 0, + "context_window": 131072, + "default_max_tokens": 65536 + } + ] +} From 542b98cd2efbea1f3618840bce222c908e5a9953 Mon Sep 17 00:00:00 2001 From: "Sheldon.li" Date: Sat, 30 Aug 2025 18:58:47 +0800 Subject: [PATCH 2/3] Update providers.go --- internal/providers/providers.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/internal/providers/providers.go b/internal/providers/providers.go index 76a1200f..2a9f7f4c 100644 --- a/internal/providers/providers.go +++ b/internal/providers/providers.go @@ -54,6 +54,9 @@ var chutesConfig []byte //go:embed configs/deepseek.json var deepSeekConfig []byte +//go:embed configs/modelscope.json +var modelscopeConfig []byte + // ProviderFunc is a function that returns a Provider. type ProviderFunc func() catwalk.Provider @@ -73,6 +76,7 @@ var providerRegistry = []ProviderFunc{ veniceProvider, chutesProvider, deepSeekProvider, + modelscopeAIProvider, } // GetAll returns all registered providers. @@ -152,3 +156,7 @@ func chutesProvider() catwalk.Provider { func deepSeekProvider() catwalk.Provider { return loadProviderFromConfig(deepSeekConfig) } + +func modelscopeProvider() catwalk.Provider { + return loadProviderFromConfig(modelscopeConfig) +} From a35c32e176a89c37768b9e29ab5f399b9945a350 Mon Sep 17 00:00:00 2001 From: "Sheldon.li" Date: Sat, 30 Aug 2025 19:00:31 +0800 Subject: [PATCH 3/3] Update provider.go --- pkg/catwalk/provider.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/catwalk/provider.go b/pkg/catwalk/provider.go index 589d0ff6..ad7105e5 100644 --- a/pkg/catwalk/provider.go +++ b/pkg/catwalk/provider.go @@ -32,6 +32,7 @@ const ( InferenceProviderCerebras InferenceProvider = "cerebras" InferenceProviderVenice InferenceProvider = "venice" InferenceProviderChutes InferenceProvider = "chutes" + InferenceProviderModelscope InferenceProvider = "modelscope" ) // Provider represents an AI provider configuration. @@ -80,5 +81,6 @@ func KnownProviders() []InferenceProvider { InferenceProviderCerebras, InferenceProviderVenice, InferenceProviderChutes, + InferenceProviderModelscope, } }