From ad15d9970ccde0566779fdabcae128a4244bbe79 Mon Sep 17 00:00:00 2001 From: song Date: Sun, 28 Dec 2025 21:56:52 +0800 Subject: [PATCH] =?UTF-8?q?fix(gateway):=20Antigravity=20=E8=B4=A6?= =?UTF-8?q?=E6=88=B7=20count=5Ftokens=20=E8=BF=94=E5=9B=9E=E4=BC=B0?= =?UTF-8?q?=E7=AE=97=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Antigravity 不支持 count_tokens 转发,直接返回估算值, 与 Antigravity-Manager 和 proxycast 实现保持一致。 修复 count_tokens 请求选择到 Antigravity 账户时导致 401 的问题。 --- backend/internal/service/gateway_service.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/backend/internal/service/gateway_service.go b/backend/internal/service/gateway_service.go index 1c7fde96..dda185a3 100644 --- a/backend/internal/service/gateway_service.go +++ b/backend/internal/service/gateway_service.go @@ -1145,6 +1145,13 @@ func (s *GatewayService) RecordUsage(ctx context.Context, input *RecordUsageInpu // ForwardCountTokens 转发 count_tokens 请求到上游 API // 特点:不记录使用量、仅支持非流式响应 func (s *GatewayService) ForwardCountTokens(ctx context.Context, c *gin.Context, account *Account, body []byte) error { + // Antigravity 账户不支持 count_tokens 转发,返回估算值 + // 参考 Antigravity-Manager 和 proxycast 实现 + if account.Platform == PlatformAntigravity { + c.JSON(http.StatusOK, gin.H{"input_tokens": 100}) + return nil + } + // 应用模型映射(仅对 apikey 类型账号) if account.Type == AccountTypeApiKey { var req struct {