feat: align cliproxyapi providers and auto fallback

This commit is contained in:
LPF
2026-03-12 23:02:44 +08:00
parent 1e9e4d8459
commit d23142bce2
20 changed files with 718 additions and 190 deletions

View File

@@ -0,0 +1,23 @@
package providers
import (
"testing"
"time"
)
func TestBuildQwenChatRequestSupportsExtendedThinkingSuffixes(t *testing.T) {
base := NewHTTPProvider("qwen", "token", qwenCompatBaseURL, "qwen-max", false, "oauth", 5*time.Second, nil)
autoBody := buildQwenChatRequest(base, []Message{{Role: "user", Content: "hi"}}, nil, "qwen-max(-1)", nil, false)
if got := autoBody["reasoning_effort"]; got != "auto" {
t.Fatalf("reasoning_effort = %#v, want auto", got)
}
disableBody := buildQwenChatRequest(base, []Message{{Role: "user", Content: "hi"}}, nil, "qwen-max(0)", nil, false)
thinking, _ := disableBody["thinking"].(map[string]interface{})
if got := thinking["type"]; got != "disabled" {
t.Fatalf("thinking.type = %#v, want disabled", got)
}
minimalBody := buildQwenChatRequest(base, []Message{{Role: "user", Content: "hi"}}, nil, "qwen-max(minimal)", nil, false)
if got := minimalBody["reasoning_effort"]; got != "low" {
t.Fatalf("reasoning_effort = %#v, want low", got)
}
}