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

@@ -2515,12 +2515,9 @@ func (s *OpenAIGatewayService) ProxyResponsesWebSocketFromClient(
}
normalized = next
}
mappedModel := account.GetMappedModel(originalModel)
if normalizedModel := normalizeCodexModel(mappedModel); normalizedModel != "" {
mappedModel = normalizedModel
}
if mappedModel != originalModel {
next, setErr := applyPayloadMutation(normalized, "model", mappedModel)
upstreamModel := resolveOpenAIUpstreamModel(account.GetMappedModel(originalModel))
if upstreamModel != originalModel {
next, setErr := applyPayloadMutation(normalized, "model", upstreamModel)
if setErr != nil {
return openAIWSClientPayload{}, NewOpenAIWSClientCloseError(coderws.StatusPolicyViolation, "invalid websocket request payload", setErr)
}
@@ -2776,10 +2773,7 @@ func (s *OpenAIGatewayService) ProxyResponsesWebSocketFromClient(
mappedModel := ""
var mappedModelBytes []byte
if originalModel != "" {
mappedModel = account.GetMappedModel(originalModel)
if normalizedModel := normalizeCodexModel(mappedModel); normalizedModel != "" {
mappedModel = normalizedModel
}
mappedModel = resolveOpenAIUpstreamModel(account.GetMappedModel(originalModel))
needModelReplace = mappedModel != "" && mappedModel != originalModel
if needModelReplace {
mappedModelBytes = []byte(mappedModel)