fix(ai-proxy): preserve text content alongside tool_result in Claude to OpenAI conversion (#3503)

This commit is contained in:
澄潭
2026-02-14 12:12:07 +08:00
committed by GitHub
parent e996194228
commit 67e2913f3d
2 changed files with 19 additions and 3 deletions

View File

@@ -119,6 +119,15 @@ func (c *ClaudeToOpenAIConverter) ConvertClaudeRequestToOpenAI(body []byte) ([]b
}
openaiRequest.Messages = append(openaiRequest.Messages, toolMsg)
}
// Also add text content if present alongside tool results
// This handles cases like: [tool_result, tool_result, text]
if len(conversionResult.textParts) > 0 {
textMsg := chatMessage{
Role: claudeMsg.Role,
Content: strings.Join(conversionResult.textParts, "\n\n"),
}
openaiRequest.Messages = append(openaiRequest.Messages, textMsg)
}
}
// Handle regular content if no tool calls or tool results