问题描述
在配置 Google 内部泄露版编辑器 Antigravity (Project IDX 的早期版本) 时,很多开发者在初始配置界面会遇到以下“死循环”问题:
-
打开软件,点击界面的 "Sign in with Google"。
-
浏览器正常弹出 Google 登录页面,并且成功完成了登录验证。
-
故障现象:浏览器登录成功后,并没有自动唤起 Antigravity 软件,软件界面一直卡在 "Waiting for login..." 或转圈状态,无法进入主界面。
问题分析
该问题的根源通常在于 OAuth2 授权流程的本地回调 (Localhost Callback) 失败。
Antigravity 在启动登录时会随机监听一个本地端口(如 12345)等待接收 Google 返回的 Token。由于防火墙拦截、网络代理配置或 SSL 证书校验(尤其是在使用 VPN 或公司网络时),浏览器无法将验证结果正确发送回本地的这个端口,导致软件一直处于等待状态。
本文将介绍一种无需修改软件核心代码,通过 PowerShell 手动完成 OAuth 验证的稳妥方法。
解决方案:使用 PowerShell 手动回调
我们可以通过命令行启动软件的调试模式,获取它正在监听的端口号,然后手动构造登录链接完成验证。
第一步:获取本地监听端口
我们需要以调试模式启动 Antigravity,查看它到底监听在哪个端口。
-
进入 Antigravity 的安装目录(假设路径为
D:\Software\Antigravity\Antigravity,请根据实际情况调整)。 -
在该目录下空白处右键,选择 “在终端中打开” 或 “打开 PowerShell”。
-
输入以下命令启动软件:
PowerShell.\Antigravity.exe --inspect=9229 -
软件启动后,点击界面上的 "Sign in with Google" 按钮。
-
切回刚才的 PowerShell 窗口,仔细观察日志输出,你会看到类似下面的一行:
[Auth] Localhost server listening on port 12278关键点: 这里的
12278是随机分配的端口号,请记下你终端里显示的这个数字(每次启动都不同)。
第二步:生成修复后的登录链接
保持上面的软件和终端窗口不要关闭。打开一个新的 PowerShell 窗口,复制以下脚本。
注意:运行前,请务必修改第一行的 $port 变量为你刚才获取的端口号。
PowerShell
# ================= 配置区域 =================
# 【重要】请将下面的 12278 替换为你在第一步日志中看到的实际端口号
$port = "12278"
# ===========================================
# 定义 Antigravity 的 OAuth 客户端参数
$clientId = "1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com"
$redirect = [uri]::EscapeDataString("http://localhost:$port/oauth-callback")
# 定义所需的权限范围
$scope = [uri]::EscapeDataString("openid profile email https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/experimentsandconfigs https://www.googleapis.com/auth/cclog")
# 生成随机 State 和 完整的授权 URL
$state = [uri]::EscapeDataString([guid]::NewGuid().ToString())
$url = "https://accounts.google.com/o/oauth2/v2/auth?client_id=$clientId&redirect_uri=$redirect&response_type=code&scope=$scope&access_type=offline&prompt=consent&state=$state"
# 打印并尝试自动打开链接
Write-Host "----------------------------------------------------------------" -ForegroundColor Cyan
Write-Host "正在打开修复后的登录链接..." -ForegroundColor Green
Start-Process $url
Write-Host "如果浏览器未自动弹出,请手动复制下方链接在浏览器打开:" -ForegroundColor Yellow
Write-Host $url
Write-Host "----------------------------------------------------------------" -ForegroundColor Cyan
第三步:验证并登录
-
在 PowerShell 中运行上述脚本后,浏览器会自动弹出一个新的 Google 登录页面。
-
正常输入账号密码进行登录。
-
登录完成后,切回 Antigravity 软件界面。
-
此时你会发现软件已经成功接收到了 Token,自动跳转并进入了编辑器主界面。