-
Notifications
You must be signed in to change notification settings - Fork 739
Open
Description
Bug 描述
通过 /antigravity/v1beta/ 端点使用 antigravity 账号请求 Gemini 模型时,上游频繁返回 400 Corrupted thought signature。
同样的 thinking block signature 问题在 Claude 端点(GatewayService.Forward)已有完整的检测+重试+降级逻辑,但 Gemini 端点(AntigravityGatewayService.ForwardGemini)缺失了对应的处理。
复现路径
- 使用 antigravity 组的 API key
- 通过 Gemini CLI 请求
/antigravity/v1beta/models/gemini-3.1-pro-preview:streamGenerateContent - 请求中包含多轮对话上下文(可能携带 Claude thinking block 签名数据)
- 上游返回
400 Corrupted thought signature
日志证据
Gemini 端点 — 无清理,直接 400 ❌
[antigravity-Forward] upstream error status=400 body={
"error": {
"code": 400,
"message": "Corrupted thought signature.",
"status": "INVALID_ARGUMENT"
}
}
at antigravity_gateway_service.go:2232
该错误在短时间内密集出现(17:31:02 ~ 17:33:46 期间 20+ 次),每次都直接返回 400 给客户端。
Claude 端点 — 有检测+重试+降级 ✅
同一时间段,Claude 端点遇到相同的 signature 问题时处理得很好:
[SignatureCheck] Checking error message: messages.1.content.0: invalid `signature` in `thinking` block
[SignatureCheck] Detected signature error
Account 51: detected thinking block signature error, retrying with filtered thinking blocks
Account 51: signature error retry succeeded (thinking downgraded)
at gateway_service.go:4122 ~ 4135
对比分析
| 端点 | 处理函数 | signature 检测 | thinking block 清理 | 重试降级 |
|---|---|---|---|---|
/v1/messages (Claude) |
GatewayService.Forward |
✅ isThinkingBlockSignatureError (L5543) |
✅ filtered thinking blocks (L4122) | ✅ retry succeeded (L4135) |
/antigravity/v1beta/ (Gemini) |
AntigravityGatewayService.ForwardGemini |
❌ | ❌ | ❌ |
建议修复
在 AntigravityGatewayService.ForwardGemini(antigravity_gateway_service.go:2232 附近)增加与 GatewayService.Forward 相同的逻辑:
- 检测上游 400 是否为
Corrupted thought signature错误 - 清理请求中的 thinking block signatures
- 重试请求
环境信息
- sub2api 版本:v0.1.86
- 平台:antigravity
- 模型:gemini-3.1-pro-preview(mapped → gemini-3.1-pro-high)
- 客户端:Gemini CLI
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels