From ae3d6fd77676d967000fd035d58351149ce84f88 Mon Sep 17 00:00:00 2001 From: ianshaw Date: Sun, 4 Jan 2026 18:34:19 -0800 Subject: [PATCH] =?UTF-8?q?fix(antigravity):=20=E6=89=A9=E5=B1=95=20isSign?= =?UTF-8?q?atureRelatedError=20=E6=A3=80=E6=B5=8B=20thinking=20=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加对 "Expected thinking/redacted_thinking" 错误的检测 - 修复 antigravity 服务中 thinking 模式启用时的结构约束错误 - 确保此类错误能触发重试逻辑 --- .../internal/service/antigravity_gateway_service.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/backend/internal/service/antigravity_gateway_service.go b/backend/internal/service/antigravity_gateway_service.go index 7763bc40..cfbb85d2 100644 --- a/backend/internal/service/antigravity_gateway_service.go +++ b/backend/internal/service/antigravity_gateway_service.go @@ -574,7 +574,17 @@ func isSignatureRelatedError(respBody []byte) bool { } // Keep this intentionally broad: different upstreams may use "signature" or "thought_signature". - return strings.Contains(msg, "thought_signature") || strings.Contains(msg, "signature") + if strings.Contains(msg, "thought_signature") || strings.Contains(msg, "signature") { + return true + } + + // Also detect thinking block structural errors: + // "Expected `thinking` or `redacted_thinking`, but found `text`" + if strings.Contains(msg, "expected") && (strings.Contains(msg, "thinking") || strings.Contains(msg, "redacted_thinking")) { + return true + } + + return false } func extractAntigravityErrorMessage(body []byte) string {