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

@@ -119,37 +119,7 @@ func applyKimiThinking(body map[string]interface{}, model string) {
if suffix == "" {
return
}
suffix = strings.ToLower(strings.TrimSpace(suffix))
switch suffix {
case "low", "medium", "high", "auto":
body["reasoning_effort"] = suffix
delete(body, "thinking")
case "none":
delete(body, "reasoning_effort")
body["thinking"] = map[string]interface{}{"type": "disabled"}
default:
if budget, err := parsePositiveInt(suffix); err == nil && budget > 0 {
delete(body, "reasoning_effort")
body["thinking"] = map[string]interface{}{
"type": "enabled",
"budget_tokens": budget,
}
}
}
}
func parsePositiveInt(raw string) (int, error) {
var out int
for _, ch := range raw {
if ch < '0' || ch > '9' {
return 0, fmt.Errorf("non-digit")
}
out = out*10 + int(ch-'0')
}
if out <= 0 {
return 0, fmt.Errorf("not positive")
}
return out, nil
_ = applyOpenAICompatThinkingSuffix(body, suffix)
}
func normalizeKimiToolMessages(body map[string]interface{}) {