diff --git a/backend/internal/service/gateway_forward_as_chat_completions_test.go b/backend/internal/service/gateway_forward_as_chat_completions_test.go index 5003e5b39d..2cd10b7914 100644 --- a/backend/internal/service/gateway_forward_as_chat_completions_test.go +++ b/backend/internal/service/gateway_forward_as_chat_completions_test.go @@ -29,6 +29,12 @@ func TestExtractCCReasoningEffortFromBody(t *testing.T) { require.Equal(t, "xhigh", *got) }) + t.Run("DeepSeek max", func(t *testing.T) { + got := extractCCReasoningEffortFromBody([]byte(`{"reasoning_effort":"Max"}`)) + require.NotNil(t, got) + require.Equal(t, "xhigh", *got) + }) + t.Run("missing effort", func(t *testing.T) { require.Nil(t, extractCCReasoningEffortFromBody([]byte(`{"model":"gpt-5"}`))) }) diff --git a/backend/internal/service/gateway_forward_as_responses_test.go b/backend/internal/service/gateway_forward_as_responses_test.go index e48d8b22fa..03b18a9350 100644 --- a/backend/internal/service/gateway_forward_as_responses_test.go +++ b/backend/internal/service/gateway_forward_as_responses_test.go @@ -21,6 +21,10 @@ func TestExtractResponsesReasoningEffortFromBody(t *testing.T) { require.NotNil(t, got) require.Equal(t, "high", *got) + maxGot := ExtractResponsesReasoningEffortFromBody([]byte(`{"model":"deepseek-v4-pro","reasoning":{"effort":"max"}}`)) + require.NotNil(t, maxGot) + require.Equal(t, "xhigh", *maxGot) + require.Nil(t, ExtractResponsesReasoningEffortFromBody([]byte(`{"model":"claude-sonnet-4.5"}`))) } diff --git a/backend/internal/service/openai_gateway_service_hotpath_test.go b/backend/internal/service/openai_gateway_service_hotpath_test.go index c9806ac267..56085b4b65 100644 --- a/backend/internal/service/openai_gateway_service_hotpath_test.go +++ b/backend/internal/service/openai_gateway_service_hotpath_test.go @@ -595,6 +595,13 @@ func TestExtractOpenAIReasoningEffortFromBody(t *testing.T) { wantNil: false, wantValue: "xhigh", }, + { + name: "DeepSeek max 归一化为 xhigh", + body: []byte(`{"reasoning_effort":"max"}`), + model: "deepseek-v4-pro", + wantNil: false, + wantValue: "xhigh", + }, { name: "minimal 归一化为空", body: []byte(`{"reasoning":{"effort":"minimal"}}`),