From e1de3a7b21a1f062e7c72c8041aacc8f0bc28f51 Mon Sep 17 00:00:00 2001 From: win Date: Thu, 26 Mar 2026 12:31:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20antigravity=20client=20=E6=97=A0?= =?UTF-8?q?=E6=98=BE=E5=BC=8F=E4=BB=A3=E7=90=86=E6=97=B6=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=20HTTPS=5FPROXY=20=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 解决 OAuth token 交换在国内服务器超时的问题: 当账号未绑定代理时,NewClient 现在显式使用 http.ProxyFromEnvironment, 使得 HTTPS_PROXY 环境变量对 oauth2.googleapis.com 等外部请求生效。 API 调用仍然走 node-tls-proxy(指纹伪装不受影响)。 --- backend/internal/pkg/antigravity/client.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/backend/internal/pkg/antigravity/client.go b/backend/internal/pkg/antigravity/client.go index f24ff5a8..e2802535 100644 --- a/backend/internal/pkg/antigravity/client.go +++ b/backend/internal/pkg/antigravity/client.go @@ -257,6 +257,16 @@ func NewClient(proxyURL string) (*Client, error) { return nil, fmt.Errorf("configure proxy: %w", err) } client.Transport = transport + } else { + // 无显式代理时,使用支持 HTTPS_PROXY 环境变量的 Transport + // 用于 OAuth token 交换等需要访问外部服务的场景 + client.Transport = &http.Transport{ + Proxy: http.ProxyFromEnvironment, + DialContext: (&net.Dialer{ + Timeout: proxyDialTimeout, + }).DialContext, + TLSHandshakeTimeout: proxyTLSHandshakeTimeout, + } } return &Client{