From 8d67c571e4282b2748fe6f43314c395b8bcce8e0 Mon Sep 17 00:00:00 2001 From: thirking Date: Tue, 3 Feb 2026 11:47:45 +0800 Subject: [PATCH] fix: remove unnecessary unescapeMapOrSlice call in Gemini relay The JSON serialization/deserialization already handles escape characters correctly, so the unescapeMapOrSlice function is redundant. --- relay/channel/gemini/relay-gemini.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/relay/channel/gemini/relay-gemini.go b/relay/channel/gemini/relay-gemini.go index 8edbe6d8..e39cf99e 100644 --- a/relay/channel/gemini/relay-gemini.go +++ b/relay/channel/gemini/relay-gemini.go @@ -988,11 +988,9 @@ func unescapeMapOrSlice(data interface{}) interface{} { func getResponseToolCall(item *dto.GeminiPart) *dto.ToolCallResponse { var argsBytes []byte var err error - if result, ok := item.FunctionCall.Arguments.(map[string]interface{}); ok { - argsBytes, err = json.Marshal(unescapeMapOrSlice(result)) - } else { - argsBytes, err = json.Marshal(item.FunctionCall.Arguments) - } + // 移除 unescapeMapOrSlice 调用,直接使用 json.Marshal + // JSON 序列化/反序列化已经正确处理了转义字符 + argsBytes, err = json.Marshal(item.FunctionCall.Arguments) if err != nil { return nil