现象与根因
Google Antigravity(基于 VS Code 的 AI IDE)弹 API 错误,提示 location 不可用。原因是 Google AI 服务(generativelanguage.googleapis.com 等)按请求出口 IP 所在地区做可用性限制,本地直连是国内 IP 会被拒绝。
香港节点也会被拒
Google AI 对 HK 通常直接拒绝,代理节点要选美国、日本或新加坡等。
约束:不开 Clash Verge 的 TUN 模式和系统代理,只让 Antigravity 这一个进程走代理(macOS 没有按应用设系统代理的能力)。
解决步骤
1. 确认 Clash 本地混合端口
Clash Verge → 设置 → 端口设置 → 混合端口:Verge Rev 默认 7897,老版 Clash 默认 7890。代理地址即 http://127.0.0.1:7897(127.0.0.1 是本机回环地址,7897 是 Clash 在本机开的 HTTP/SOCKS 代理服务端口)。
2. 主方案:带环境变量启动 Antigravity
环境变量会传给它真正调 Google API 的 agent 后端进程,覆盖最彻底:
HTTP_PROXY=http://127.0.0.1:7897 \
HTTPS_PROXY=http://127.0.0.1:7897 \
/Applications/Antigravity.app/Contents/MacOS/Antigravity如果频繁使用,可制作成 Automator 应用或配置 shell alias。
3. 辅助方案:settings.json 加 http.proxy
只覆盖编辑器内走 VS Code 网络栈的请求,后端 agent 进程不一定遵守,建议与主方案叠加:
- 打开方式:Antigravity 内
Cmd+Shift+P→Open User Settings (JSON);或直接编辑~/Library/Application Support/Antigravity/User/settings.json - 加入
"http.proxy": "http://127.0.0.1:7897",完全退出并重启生效
4. Clash 规则:避免 google 域名命中 DIRECT 或广告拦截
Clash Verge → 订阅页面 → 右键正在用的订阅 → 编辑规则 → 追加规则到前面(prepend):
rules:
- DOMAIN-SUFFIX,googleapis.com,🚀 节点选择
- DOMAIN-SUFFIX,google.com,🚀 节点选择代理组名要照抄
第三段换成订阅里真实的代理组名(去「代理」页面照抄,含 emoji 和空格)。这种方式不改订阅文件,订阅更新不会被覆盖。确保 Clash 处于规则模式。
5. 节点选择
避开香港,选择美国、日本、新加坡等(实测 JP 东京节点可用)。
验证
# 1. 本地代理端口通不通(应返回节点地区 IP)
curl -x http://127.0.0.1:7897 https://ipinfo.io
# 2. googleapis 可达性(返回 Google 404 页面属正常,根路径即 404)
curl -x http://127.0.0.1:7897 https://www.googleapis.com
# 3. 关键:Google AI 接口地区是否可用
curl -x http://127.0.0.1:7897 "https://generativelanguage.googleapis.com/v1beta/models" -w "\nHTTP %{http_code}\n"
# 403 PERMISSION_DENIED(要 API key)= 地区 OK,服务可达
# location is not supported / FAILED_PRECONDITION = 节点地区不行,换节点最后检查规则是否命中:执行请求后在 Clash Verge「连接」页面搜索 googleapis,规则链应是 DOMAIN-SUFFIX,googleapis.com → 代理组(正常生效),若显示 DIRECT / REJECT 则表示规则未生效。
用环境变量命令启动 Antigravity 后发起 AI 对话,不再提示 location 错误即完成配置。