最近在 Linux 上折腾 Google Antigravity CLI(agy),前前后后被 location 相关的报错卡了两次。
两个报错看着都像“地区不支持”,但排查下来一个是账号本身的资料地区,另一个纯粹是代理节点的 IP 类型(机房 ASN)被风控。简单记录一下排查过程和解决方法,省得大家到处兜圈子。
坑一:刚启动就提示没资格(账号地区问题)
第一次跑 agy 直接弹了这个:
Eligibility check failed: Your current account is not eligible for Antigravity,
because it is not currently available in your location.
这个阶段报错,说明账号本身的地区不合规,连门都没进得去。
很多人以为挂个梯子改改浏览器定位就行,其实 Google 主要是看你账号绑定的资料地区。我查了两个地方才搞定:
- Google Payments 付款资料:去 Google Payments Center,看一眼设置里的国家/地区和地址。
- Google 账号关联的国家/地区:访问 Google 账号关联国家/地区申诉与查看页面,确认并查看当前账号真正绑定的国家/地区(如果不一致可在此提交变更)。
注意:Google Payments 付款资料地区与账号底层的关联国家/地区是各自独立的两个设置,我这次是把这两个地方都统一设置成了同一个支持地区,同步改好后,Eligibility 校验就顺畅通过了。
坑二:能登录能拉模型,一跑任务就报错(节点与 ASN 坑)
本以为搞定账号就完事了,登录也顺畅。但是在交互界面里随便发一句打招呼,啪,直接崩了:
> 你好
⚠ Agent execution terminated due to error.
Error ID: b5b32c72-b15e-4e32-8812-17c5653f9d04-13
交互界面上只给了一个 Error ID,没有任何具体报错原因。为了看底层的报错细节,可以通过指定日志文件并用非交互模式跑一次:
agy --log-file /tmp/agy.log -p "say hi" < /dev/null
打开 /tmp/agy.log 一看,日志里 OAuth 认证和模型拉取都是成功的:
OAuth: authenticated successfully
fetchAvailableModels
但在真正调用生成时,底层的真实报错赫然写着:
FAILED_PRECONDITION (code 400):
User location is not supported for the API use.
为什么又报 location 不支持?
刚踩完账号的坑,第一反应肯定是“是不是 Google 账号哪里还没改干净?”
但仔细看日志就能发现不对劲:
- OAuth 认证是成功的
- 可用模型列表
fetchAvailableModels 也拉下来了
- 会话(Conversation)也能正常创建
这说明账号权限早就没问题了,问题出在发起模型请求时的网络出口上。
罪魁祸首:机房 IP / ASN 风控
我当时走的是 TUN 模式的美国节点,查了一下公网出口 IP(23.237.50.28):
- 纯看 GeoIP 定位:确实是美国洛杉矶(US, California, Los Angeles)。
- 再看 ASN / ISP:
AS30058 - FDCservers.net。
这就是典型的数据中心/机房出口。翻了下手头的另一家机场,发现它们的美国节点也全是 FDC 的机房网段。虽然地理位置在美国,但 API 端对这类机房 IP 限制极严,直接就给拒了。
解决办法:换个靠谱的节点
没动账号,直接在 TUN 里切到了日本节点。
再次运行,秒通,Agent 正常输出。
Google 官方的 Gemini API 可用地区列表 里本来就有日本,节点出口也没被黑名单卡,直接固定用日本节点就稳了。
附:快速自查出口 IP 和 ASN
遇到类似报错,可以先用 curl 查下当前出口到底是什么成分:
# 查出口 IP
curl -4 https://api.ipify.org
# 查 IP 对应的详细归属及 ASN
curl -s https://ipwho.is/$(curl -4 -s https://api.ipify.org)
如果看到 isp 或 org 挂着知名数据中心名字(比如 FDC、DigitalOcean 之类),八成就是 IP 被风控了。
总结:如何快速自诊
遇到报错不用慌,先看自己卡在哪一步:
现象 / 报错位置 |
典型报错信息 |
核心原因 |
解决办法 |
|---|
刚启动/登录阶段 |
Eligibility check failed... |
Google 账号绑定地区不对 |
检查 Google Payments & 账号关联国家/地区 (Country Association) |
已登录,生成任务时 |
FAILED_PRECONDITION (400)... User location is not supported |
代理出口被判定为不受支持的机房 IP |
换节点(推荐日本节点或干净原生 IP) |
希望这篇记录能帮大家少走点弯路!