refactor: improve model resolution and normalization logic for OpenAI integration

This commit is contained in:
InCerry
2026-03-24 19:20:15 +08:00
parent 08c4e514f8
commit 995ef1348a
10 changed files with 159 additions and 68 deletions

View File

@@ -10,8 +10,8 @@ import (
const compatPromptCacheKeyPrefix = "compat_cc_"
func shouldAutoInjectPromptCacheKeyForCompat(model string) bool {
switch normalizeCodexModel(strings.TrimSpace(model)) {
case "gpt-5.4", "gpt-5.3-codex":
switch resolveOpenAIUpstreamModel(strings.TrimSpace(model)) {
case "gpt-5.4", "gpt-5.3-codex", "gpt-5.3-codex-spark":
return true
default:
return false
@@ -23,9 +23,9 @@ func deriveCompatPromptCacheKey(req *apicompat.ChatCompletionsRequest, mappedMod
return ""
}
normalizedModel := normalizeCodexModel(strings.TrimSpace(mappedModel))
normalizedModel := resolveOpenAIUpstreamModel(strings.TrimSpace(mappedModel))
if normalizedModel == "" {
normalizedModel = normalizeCodexModel(strings.TrimSpace(req.Model))
normalizedModel = resolveOpenAIUpstreamModel(strings.TrimSpace(req.Model))
}
if normalizedModel == "" {
normalizedModel = strings.TrimSpace(req.Model)