From 98938aef007bfd18ddd22a5657e641835df4465d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AC=E6=98=8E?= <83812544+Ed1s0nZ@users.noreply.github.com> Date: Tue, 10 Mar 2026 00:04:19 +0800 Subject: [PATCH] Remove user message check for Qwen model Removed the logic to ensure at least one user message is included in recent messages to avoid Qwen model error. --- internal/agent/memory_compressor.go | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/internal/agent/memory_compressor.go b/internal/agent/memory_compressor.go index 1fb31d91..c830d1a9 100644 --- a/internal/agent/memory_compressor.go +++ b/internal/agent/memory_compressor.go @@ -345,29 +345,8 @@ func (mc *MemoryCompressor) adjustRecentStartForToolCalls(msgs []ChatMessage, re adjusted-- } - // Ensure at least one user message is included in recent messages to avoid Qwen model error - // Qwen models require a user message in the message array, otherwise they return: - // "No user query found in messages" - hasUserMessage := false - for i := adjusted; i < len(msgs); i++ { - if strings.EqualFold(msgs[i].Role, "user") { - hasUserMessage = true - break - } - } - - // If no user message in recent messages, adjust backwards to include one - if !hasUserMessage { - for adjusted > 0 { - adjusted-- - if strings.EqualFold(msgs[adjusted].Role, "user") { - break - } - } - } - if adjusted != recentStart { - mc.logger.Debug("adjusted recent window to keep tool call context and user message", + mc.logger.Debug("adjusted recent window to keep tool call context", zap.Int("original_recent_start", recentStart), zap.Int("adjusted_recent_start", adjusted), )