diff --git a/backend/internal/service/openai_model_mapping.go b/backend/internal/service/openai_model_mapping.go index 32c4ec55f6..cb7a8ca84b 100644 --- a/backend/internal/service/openai_model_mapping.go +++ b/backend/internal/service/openai_model_mapping.go @@ -29,23 +29,28 @@ func resolveOpenAIForwardModel(account *Account, requestedModel, defaultMappedMo // (调度过滤看到的是改写前的原始模型名)。前缀分类的先例见 // ResolveThinkingProtocol(thinking_protocol.go)。 var openAIOAuthForeignModelPrefixes = []string{ - "deepseek", + "deepseek-", "glm-", "kimi-", - "moonshot", - "qwen", + "moonshot-", + "qwen-", + "qwen2-", + "qwen3-", + "qwen4-", "qwq-", - "minimax", + "minimax-", "gemini-", "gemma-", "grok-", "doubao-", "hunyuan-", - "llama", + "llama-", + "llama2-", + "llama3-", "meta-llama", - "mistral", - "mixtral", - "baichuan", + "mistral-", + "mixtral-", + "baichuan-", "ernie-", "step-", "seed-", diff --git a/backend/internal/service/openai_oauth_model_support_test.go b/backend/internal/service/openai_oauth_model_support_test.go index b08c42a7ea..1350dcd3bf 100644 --- a/backend/internal/service/openai_oauth_model_support_test.go +++ b/backend/internal/service/openai_oauth_model_support_test.go @@ -106,4 +106,5 @@ func TestIsOpenAIOAuthServableModel(t *testing.T) { require.True(t, isOpenAIOAuthServableModel("DeepThink-x")) // 非黑名单前缀,保持允许 require.False(t, isOpenAIOAuthServableModel("DeepSeek-V4")) // 大小写不敏感 require.False(t, isOpenAIOAuthServableModel("qwen3-235b-thinking")) + require.True(t, isOpenAIOAuthServableModel("deepseekcoder")) // 无连字符 → 非黑名单前缀,保持允许 }