解决 Antigravity 报错 Error generating commit message: [unknown] error grabbing LLM response: stream error
今天碰到个挺烦人的问题,Antigravity 突然不能用了。点了好几次 Generate 按钮想生成 commit message,每次都弹出来一样的报错:
Error generating commit message: [unknown] error grabbing LLM response: stream error
翻了下日志,看到更详细的信息:
[interceptor.go:74] /exa.language_server_pb.LanguageServerService/GenerateCommitMessage (unknown): error grabbing LLM response: stream error
说实话,一开始以为是网络抖动,等了一会儿再试还是不行。
一、问题分析:授权信息读取出错
Antigravity 的此功能是通过 Gemini 的 API 来实现的,Gemini 会读取 Antigravity 的授权信息,然后生成 commit message。
查了一圈,发现这个问题的根源是 Gemini 在读取 Antigravity 用户的授权信息时出错了。
不是网络问题,不是配额问题,也不是模型挂了——而是本地的授权缓存文件出了问题,导致 Antigravity 没办法正确初始化与 Google 服务的连接。
这个问题官方目前还没有正式修复,所以得手动处理一下。
二、解决方案:重建授权文件 + 美国住宅 IP
解决步骤其实不复杂,按顺序来就行:
第一步:创建授权占位文件
打开终端,执行以下命令:
pb_path="$HOME/.gemini/antigravity/user_settings.pb.tmp.extHost"
if [[ ! -f "$pb_path" ]]; then
touch "$pb_path"
fi这一步的作用是让 Antigravity 在下次启动时检测到这个文件,从而触发重新初始化授权流程。
第二步:切换到美国住宅 IP
这一步很关键。我之前试过其他节点,都不太稳定。最后切到 SkyVPN 的美国住宅 IP 节点才顺利完成初始化。
为什么要用住宅 IP?因为 Google 的服务对 IP 画像比较敏感,数据中心 IP 或者被滥用过的共享 IP 很容易触发额外的验证或者直接拒绝服务。住宅 IP 的画像接近真实家庭宽带,通过率高很多。
第三步:重启 Antigravity
关掉 VS Code,重新打开。等 Antigravity 完成初始化——这个过程可能需要等一小会儿,不要急着操作。
第四步:验证修复结果
重新点击 Generate 按钮,观察输出日志。如果看到类似这样的请求记录,说明问题解决了:
[http_helpers.go:124] URL: https://daily-cloudcode-pa.googleapis.com/v1internal:streamGenerateContent?alt=sse Trace: 0x985b576c339d6e9a
恭喜,Antigravity 又能正常生成 commit message 了。
三、为什么要用住宅 IP
这次修复过程让我再次意识到 IP 质量的重要性。简单说几点:
1)降低风控概率
Google 的服务(包括 Antigravity、Gemini、Colab 等)对 IP 有画像判断。用干净的住宅 IP 能明显减少被风控的概率。
2)初始化和授权操作对 IP 敏感
像这次需要重新初始化授权的场景,用共享代理很可能因为 IP 历史记录不好而失败。住宅 IP 没有这个顾虑。
3)稳定出口避免触发异常
频繁切换 IP 本身就是一个风控信号。用 SkyVPN 的独享住宅 IP 固定出口,能避免这类问题。
四、经验总结
这个问题的核心是授权文件损坏 + IP 环境不佳导致的初始化失败。修复思路就两条:
- 重建授权文件:让 Antigravity 重新走一遍初始化流程
- 使用干净的住宅 IP:确保初始化请求能顺利通过 Google 的风控检查
以后再遇到 Antigravity 的 stream error,别急着怀疑网络或者配额——先检查一下是不是授权出了问题。
希望这篇记录能帮到遇到同样问题的朋友。如果你也在找稳定的住宅 IP 方案,可以试试 SkyVPN,我目前用下来体验还不错,尤其是需要固定 IP 出口的场景。