Antigravity IDE 在浏览器上 verify 成功但本地 IDE 没反应 “开启Tun依然无济于事” —— 解决方案

Antigravity BigInt 序列化错误修复指南

问题描述

现象: Antigravity 应用点击 "Sign in with Google" 后,浏览器端 OAuth 验证(Verify)成功,但本地 IDE / AI Studio / Console 毫无反应,登录流程卡住。

根本原因: Antigravity 在检查更新或保存认证状态时,调用了 JSON.stringify() 序列化包含 BigInt 类型的数据。JavaScript 原生的 JSON.stringify() 不支持 BigInt 序列化,导致抛出异常:

复制代码
TypeError: Do not know how to serialize a BigInt at JSON.stringify

这个异常是静默崩溃------应用不会弹出任何错误提示,但会导致本地 OAuth 回调服务器(localhost)被终止。因此浏览器端验证虽然成功,回调信息却无法传回本地应用。

解决方案

在 Antigravity 的 main.js 文件开头添加 BigInt 序列化支持代码,让 JSON.stringify() 能正确处理 BigInt 类型。

步骤

1. 备份 main.js

打开终端(PowerShell / CMD),执行:

PowerShell:

powershell 复制代码
copy "$env:LOCALAPPDATA\Programs\Antigravity\resources\app\out\main.js" "$env:LOCALAPPDATA\Programs\Antigravity\resources\app\out\main.js.bak"

CMD:

cmd 复制代码
copy "%localappdata%\Programs\Antigravity\resources\app\out\main.js" "%localappdata%\Programs\Antigravity\resources\app\out\main.js.bak"
2. 编辑 main.js

用记事本打开文件:

cmd 复制代码
notepad "%localappdata%\Programs\Antigravity\resources\app\out\main.js"
3. 添加补丁代码

将光标定位到文件最开头(第 1 行第 1 列),粘贴以下代码:

javascript 复制代码
BigInt.prototype.toJSON = function() { return this.toString(); }; 

确保补丁代码与原有代码之间有空格或分号分隔。

4. 保存并重启
  • 保存文件(Ctrl+S)
  • 关闭 Antigravity 应用
  • 重新启动 Antigravity

Linux (Arch) 用户

bash 复制代码
# 备份
sudo cp /usr/lib/antigravity/out/main.js /usr/lib/antigravity/out/main.js.bak

# 编辑
sudo nano /usr/lib/antigravity/out/main.js

# 在文件最开头添加同样的补丁代码

原理说明

BigInt 是 JavaScript 中用于表示任意精度整数的类型。JSON.stringify() 默认不知道如何将 BigInt 转换为 JSON 值。通过给 BigInt.prototype 添加 toJSON 方法,告诉 JSON.stringify() 在遇到 BigInt 时调用 toString() 将其转为字符串,从而避免序列化异常。

参考来源

相关推荐
代码猎人14 小时前
怎么开发一个微信小程序
前端
console.log('npc')14 小时前
第 3 章 工程化与项目初始化
前端·人工智能·大模型
掘金者阿豪15 小时前
数据集成软件不能只看“同步成功”:聊聊金仓 KFS 和订单数据同步这件事
前端·后端
风骏时光牛马15 小时前
Navicat Premium 18 自动续试用天数
前端
hunterandroid15 小时前
HarmonyOS HUKS 密钥全生命周期实战:生成、轮换与失效处理
前端·华为
东鹏特饮15 小时前
贪吃蛇小游戏html
前端·javascript·html
溪语流沙15 小时前
【每天一个CSS | Day23】边框上有一道光在跑的流光呼吸卡片
前端·css
小马不起床15 小时前
零基础玩转 FastAPI_10:前端登录、权限与布局
前端·状态模式·fastapi
captain37615 小时前
Spring Web MVC入门(1)
ide·spring·java-ee·tomcat
程序员Sunday15 小时前
JavaScript 深拷贝和浅拷贝有什么区别?structuredClone 能替代 JSON 拷贝吗?
前端·javascript