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() 将其转为字符串,从而避免序列化异常。

参考来源

相关推荐
神明不懂浪漫1 小时前
【第七章】Java中的常用类
java·开发语言·前端·经验分享·笔记
GuWenyue7 小时前
放弃云端API!一套React+WebGPU本地LLM方案,零数据上传、离线可用
前端·人工智能·前端框架
原则猫8 小时前
函数/变量提升
前端
独泪了无痕9 小时前
Vue3 Hooks使用实战解析
前端·vue.js
shawxlee10 小时前
vue3在public下封装config.js自定义配置动态数据,可在打包后直接修改,方便后端部署及后续维护
前端·javascript·经验分享·vue·团队开发·js·项目优化
用户0595401744611 小时前
把记忆存储的回归测试从手工换成 Playwright + GitHub Actions,线上缺陷降低 80%
前端·css
触底反弹11 小时前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen11 小时前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
颜酱11 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端
紫_龙12 小时前
window 维护多版本Android studio
android·ide·android studio