From fe6bffd080ad3d813c31ff1e0b1c0b1acf14da28 Mon Sep 17 00:00:00 2001 From: Luis Pater Date: Tue, 3 Feb 2026 21:41:17 +0800 Subject: [PATCH] fixed: #1407 fix(translator): adjust "developer" role to "user" and ignore unsupported tool types --- .../openai/responses/openai_openai-responses_request.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/translator/openai/openai/responses/openai_openai-responses_request.go b/internal/translator/openai/openai/responses/openai_openai-responses_request.go index 86cf19f8..1fb5ca1f 100644 --- a/internal/translator/openai/openai/responses/openai_openai-responses_request.go +++ b/internal/translator/openai/openai/responses/openai_openai-responses_request.go @@ -68,6 +68,9 @@ func ConvertOpenAIResponsesRequestToOpenAIChatCompletions(modelName string, inpu case "message", "": // Handle regular message conversion role := item.Get("role").String() + if role == "developer" { + role = "user" + } message := `{"role":"","content":""}` message, _ = sjson.Set(message, "role", role) @@ -167,7 +170,8 @@ func ConvertOpenAIResponsesRequestToOpenAIChatCompletions(modelName string, inpu // Only function tools need structural conversion because Chat Completions nests details under "function". toolType := tool.Get("type").String() if toolType != "" && toolType != "function" && tool.IsObject() { - chatCompletionsTools = append(chatCompletionsTools, tool.Value()) + // Almost all providers lack built-in tools, so we just ignore them. + // chatCompletionsTools = append(chatCompletionsTools, tool.Value()) return true }