CLIProxyAPI(五):Antigravity——用 Google 订阅解锁 Claude Opus 4.8
基础四篇已经带你跑通了 CLIProxyAPI 的安装、多账号、客户端接入和生产部署。进阶篇从第五篇开始深入特定主题。本文的主角是 Antigravity——Google 旗下一个鲜为人知但能白嫖 Claude Opus 4.5 的 AI 编程平台。
系列目录
- (一)入门——把 CLI 订阅变成标准 API
- (二)多账号轮询与配额策略
- (三)接入主流 AI 编程工具
- (四)生产部署——Nginx、TLS 与安全加固
- (五)Antigravity——用 Google 订阅解锁 Claude Opus 4.8(本文)
- (六)结合 new-api 打造多用户 API 网关
- (七)自动化运维——配额监控与告警
- (八)cpa_keeper 与 cpa_cost——用量追踪与成本分析工具
1. 什么是 Antigravity
Antigravity 是 Google 旗下的 AI 编程平台(定位类似 Google Cloud AI Studio,但面向编程场景深度整合)。它的特殊之处在于:通过 Google 账号 OAuth 登录后,不仅能访问 Gemini 系列模型,还能访问完整的 Claude 模型系列——包括 Claude Opus 4.8 / 4.7 / 4.6 / 4.5、Sonnet 4.6 / 4.5 等,而这些通常需要单独购买 Anthropic 的订阅才能调用。
对于已有 Google One Pro 订阅的用户,Antigravity 提供的 Claude 配额甚至高于直接购买 Claude Pro(约为 Claude Pro 的 3 倍)。
1.1 Antigravity 与 Gemini CLI 的核心区别
CLIProxyAPI 同时支持两个 Google 渠道:Antigravity 和 Gemini CLI。二者经常被混淆,区别如下:
| 维度 | Antigravity | Gemini CLI |
|---|---|---|
| 可用模型 | Gemini 3.x / 3.1.x / 3.5 系列 + 完整 Claude 系列(Opus 4.8 / Sonnet 4.6 等) | 仅 Gemini 系列 |
| 稳定性 | 偶有请求失败(5–10%) | 更稳定 |
| 配额来源 | Google One Pro 或 Antigravity 免费额度 | Google One Pro 或 Gemini 免费额度 |
| 登录命令 | --antigravity-login |
--gemini-login |
| OAuth 回调端口 | 51121 | 8085(默认) |
| 适用场景 | 需要 Claude 模型时首选 | 纯 Gemini 使用、稳定性要求高 |
简单记忆:需要 Claude 模型,用 Antigravity;只需要 Gemini 且追求稳定,用 Gemini CLI。实际生产中两者混合使用效果最佳。
2. 前提条件
- CLIProxyAPI v7.1.45 或更高版本(含 Antigravity 支持)
- Google 账号(普通账号即可登录,但配额有限)
- Google One Pro 订阅(可选,显著提升 Claude 模型配额)
- 登录操作需要能访问浏览器(本地环境直接完成;远程服务器需做 SSH 端口转发)
Google One Pro 是 Google 的付费会员服务(类似 iCloud+),月费约 $2.99,远低于 Claude Pro 的 $20/月,但通过 Antigravity 获得的 Claude 额度却更高。性价比极强。
3. 登录流程
3.1 本地环境登录
在本地机器上,直接执行:
./cli-proxy-api --antigravity-login
程序会在本地启动一个临时 HTTP 服务监听端口 51121,并自动打开浏览器跳转到 Google OAuth 授权页。完成授权后,登录态(token)会自动保存到 auth/ 目录下的对应文件中。
# 登录成功后验证
ls auth/
# 应能看到类似 antigravity_TOKEN_xxxxx 的文件
3.2 远程服务器登录(SSH 端口转发)
在无 GUI 的远程服务器上,需要把服务器的 51121 端口转发到本地,让本地浏览器完成 OAuth 回调。
步骤一:在本地终端建立 SSH 隧道(保持此终端窗口开着):
# 将远程服务器的 51121 端口转发到本地 51121
ssh -L 51121:localhost:51121 user@your-server-ip
步骤二:在服务器上执行登录命令:
./cli-proxy-api --antigravity-login
程序输出类似:
Open the following URL in your browser to authenticate:
https://accounts.google.com/o/oauth2/auth?...&redirect_uri=http://localhost:51121/callback
Waiting for OAuth callback on port 51121...
步骤三:复制上面输出的 URL,在本地浏览器中打开并完成 Google 授权。由于 SSH 隧道,回调会被正确转发到服务器,登录成功。
步骤四(可选):如果需要登录多个 Google 账号,重复上述过程,每次会生成新的 token 文件。
注意:如果 51121 端口在服务器上已被占用(
ss -tlnp | grep 51121),需要先停止占用进程,登录后再恢复。
4. 可用模型列表
以下为本机实测 /v1/models 接口返回的完整模型列表(Antigravity 账号 + Gemini Studio 账号同时在线):
Claude 模型
| 模型标识 | 说明 |
|---|---|
claude-opus-4-8 |
当前最新旗舰,最强推理 |
claude-opus-4-7 |
旗舰推理,高性能 |
claude-opus-4-6 / claude-opus-4-6-thinking |
含扩展思考变体 |
claude-opus-4-5-20251101 |
上一代旗舰 |
claude-opus-4-1-20250805 / claude-opus-4-20250514 |
稳定旧版 |
claude-sonnet-4-6 |
均衡性能,日常首选 |
claude-sonnet-4-5-20250929 / claude-sonnet-4-20250514 |
上一代 Sonnet |
claude-3-7-sonnet-20250219 |
Claude 3 系列 Sonnet |
claude-haiku-4-5-20251001 |
轻量快速 |
claude-3-5-haiku-20241022 |
Claude 3.5 Haiku |
Gemini 模型
| 模型标识 | 说明 |
|---|---|
gemini-3-pro-preview |
Gemini 3 旗舰推理 |
gemini-3-pro-high / gemini-3-pro-low |
不同配额档位 |
gemini-3-pro-image-preview |
含图像生成能力 |
gemini-3.1-pro-preview / gemini-3.1-pro-low |
Gemini 3.1 推理 |
gemini-3-flash / gemini-3-flash-preview |
Gemini 3 快速模型 |
gemini-3-flash-agent |
Agent 场景优化 |
gemini-3.1-flash-lite / gemini-3.1-flash-lite-preview |
极轻量 |
gemini-3.1-flash-image / gemini-3.1-flash-image-preview |
含图像能力 |
gemini-3.5-flash / gemini-3.5-flash-low |
最新闪速模型 |
gemini-2.5-pro / gemini-2.5-flash / gemini-2.5-flash-lite |
Gemini 2.5 稳定版 |
gemini-pro-agent |
Gemini Agent 专用 |
其他
| 模型标识 | 说明 |
|---|---|
gpt-oss-120b-medium |
Antigravity 平台提供的开源大模型 |
模型列表随平台版本更新,以
curl http://localhost:8317/v1/models -H "Authorization: Bearer <your-api-key>"实际返回为准。
5. config.yaml 配置示例
5.1 纯 Antigravity 配置
port: 8317
log-level: info
accounts:
- type: antigravity
auth-file: auth/antigravity_TOKEN_account1
weight: 1
- type: antigravity
auth-file: auth/antigravity_TOKEN_account2
weight: 1
5.2 Antigravity + Gemini CLI 混合配置(推荐)
混合配置兼顾 Claude 模型访问和稳定性:
port: 8317
log-level: info
accounts:
# Antigravity 账号:能访问 Claude,偶有失败
- type: antigravity
auth-file: auth/antigravity_TOKEN_main
weight: 2
- type: antigravity
auth-file: auth/antigravity_TOKEN_secondary
weight: 1
# Gemini CLI 账号:稳定,仅 Gemini 模型
- type: gemini
auth-file: auth/gemini_TOKEN_main
weight: 3
# 兜底策略:免费额度耗尽时自动使用 Antigravity credits
quota-exceeded:
antigravity-credits: true
# 模型别名:把常见请求映射到实际模型
oauth-model-alias:
antigravity:
- name: "claude-sonnet-4-6"
alias: "gpt-4o" # 客户端请求 gpt-4o 时路由到 Sonnet 4.6
- name: "claude-opus-4-8"
alias: "gpt-4-turbo" # 高端请求路由到 Opus 4.8
- name: "gemini-3-pro-preview"
alias: "gemini-pro" # Gemini 高质量推理
- name: "gemini-3-flash"
alias: "gemini-flash" # 快速任务
5.3 按模型类型路由(高级)
如果你的客户端按模型名称区分使用场景,可以配合前缀路由让 Claude 请求走 Antigravity、Gemini 请求走 Gemini CLI:
routes:
- prefix: /claude/
account-type: antigravity
- prefix: /gemini/
account-type: gemini
- prefix: /v1/
account-type: any # 默认混合池
6. quota-exceeded.antigravity-credits 兜底策略详解
6.1 背景
Antigravity 的免费额度是有上限的。当轮询池中所有 Antigravity 和 Gemini 账号的免费额度全部耗尽时,CLIProxyAPI 会遇到 quota exceeded 类错误,默认行为是返回 429 给客户端。
quota-exceeded.antigravity-credits: true 配置项开启了一个自动降级行为:额度耗尽后,继续用 Antigravity Credits(类似充值余额,由 Google One Pro 订阅提供)来满足请求,而不是直接报错。
6.2 触发条件
所有免费账号 → quota exceeded
↓
CLIProxyAPI 检测到 quota-exceeded.antigravity-credits: true
↓
自动切换到 Antigravity Credits 余额支付
↓
请求正常返回(消耗 Credits)
触发后,CLIProxyAPI 日志会出现:
[WARN] All free quotas exhausted, falling back to Antigravity credits
6.3 注意事项
- Antigravity Credits 是有消耗成本的(由 Google One Pro 订阅提供,类似云服务按量计费),并非无限免费。
- 建议配合日志监控,及时发现 Credits 消耗异常。
- 如果不希望自动消耗 Credits,将此项设为
false或删除,额度耗尽时客户端会收到 429,可手动处理。 - Google One Pro 未订阅时,Credits 余额为 0,此配置开启与否无实际差异。
6.4 完整兜底配置示例
quota-exceeded:
antigravity-credits: true # 免费额度耗尽后自动用 Credits 兜底
# retry-on-quota: 3 # 可选:耗尽前重试其他账号的次数(默认 3)
# credits-daily-cap: 5.0 # 可选:每日 Credits 消耗上限(单位:USD),超限后停止
7. Antigravity vs Gemini CLI 全面对比
| 对比维度 | Antigravity | Gemini CLI |
|---|---|---|
| Claude 模型 | 支持 Opus 4.8 / 4.7 / 4.6 / 4.5、Sonnet 4.6 / 4.5、Haiku 4.5 等全系 | 不支持 |
| Gemini 模型 | 支持 | 支持 |
| 请求成功率 | ~90–95%(偶有后端失败) | ~98–99% |
| 失败重试 | CLIProxyAPI 自动重试其他账号 | 同左 |
| 免费配额 | 受 Antigravity 平台限制 | 受 Gemini 平台限制 |
| Google One Pro 加成 | 约 Claude Pro 的 3 倍 Claude 额度 | 主要加成 Gemini 额度 |
| 延迟 | 略高(多一层 Antigravity 代理) | 相对更低 |
| 登录端口 | 51121 | 8085 |
| 推荐场景 | 需要 Claude 旗舰模型时 | 纯 Gemini 任务、高稳定要求 |
结论:两者互补,混合使用是最优策略。Antigravity 主打 Claude 模型访问,Gemini CLI 做稳定兜底。
8. 多账号叠加:把免费额度压榨到极限
每个 Google 账号都有独立的 Antigravity 配额。多账号轮询是在不增加成本的情况下成倍提升可用额度的标准做法。
8.1 多账号配置
port: 8317
accounts:
# 主账号(Google One Pro 订阅,配额最高)
- type: antigravity
auth-file: auth/antigravity_TOKEN_primary
weight: 3
label: "primary-gop" # 可选标签,便于日志识别
# 副账号 A(普通 Google 账号)
- type: antigravity
auth-file: auth/antigravity_TOKEN_alt1
weight: 1
label: "alt1-free"
# 副账号 B(普通 Google 账号)
- type: antigravity
auth-file: auth/antigravity_TOKEN_alt2
weight: 1
label: "alt2-free"
# Gemini CLI 账号(稳定兜底)
- type: gemini
auth-file: auth/gemini_TOKEN_primary
weight: 2
label: "gemini-stable"
quota-exceeded:
antigravity-credits: true
8.2 逐一登录多账号
每个账号需要单独完成 OAuth 授权。登录时浏览器会弹出 Google 账号选择器,选择对应账号即可:
# 登录第一个账号
./cli-proxy-api --antigravity-login
# 登录完成,auth/ 下出现 antigravity_TOKEN_xxxx
# 重命名为可识别的文件名
mv auth/antigravity_TOKEN_xxxx auth/antigravity_TOKEN_primary
# 继续登录第二个账号(登录时在浏览器切换 Google 账号)
./cli-proxy-api --antigravity-login
mv auth/antigravity_TOKEN_yyyy auth/antigravity_TOKEN_alt1
# 依此类推...
8.3 轮询权重策略
weight 字段控制账号被选中的概率权重。Google One Pro 主账号配额更高,建议赋予更高权重。普通免费账号配额有限,低权重避免过快耗尽。
总权重 = 3 + 1 + 1 + 2 = 7
primary-gop 选中概率:3/7 ≈ 43%
alt1-free 选中概率:1/7 ≈ 14%
alt2-free 选中概率:1/7 ≈ 14%
gemini-stable 选中概率:2/7 ≈ 29%
9. 常见问题
9.1 登录失败:浏览器页面一直转圈或 ERR_CONNECTION_REFUSED
原因:OAuth 回调到 localhost:51121,但浏览器访问的 localhost 与 CLIProxyAPI 监听的 localhost 不是同一台机器(远程服务器场景)。
解决方案:确认 SSH 隧道已建立且仍在运行:
# 本地执行,确认隧道存在
ss -tlnp | grep 51121 # 本地机器上
若隧道断开,重新建立:
ssh -L 51121:localhost:51121 user@your-server-ip -N -f
9.2 登录失败:redirect_uri_mismatch 或 OAuth 错误
原因:Google OAuth 应用的回调地址白名单不包含 localhost:51121,或 CLIProxyAPI 版本过旧。
解决方案:
- 确认 CLIProxyAPI 版本 >= v7.1.45(
./cli-proxy-api --version) - 如版本正确仍失败,尝试清除浏览器 cookie 后重试
- 确认网络能正常访问
accounts.google.com
9.3 请求偶发失败(HTTP 500 或 502)
Antigravity 后端本身有一定概率的请求失败率(5–10%),这是平台特性而非配置问题。CLIProxyAPI 内置了自动重试机制——失败后会切换到其他账号重试。
如果失败率明显偏高(>20%),检查:
# 查看近期错误日志
journalctl -u cliproxyapi --since "1 hour ago" | grep -i "antigravity\|error\|retry"
常见高失败率原因:
- 单一 Antigravity 账号无其他备用账号(建议至少配置 2 个 Antigravity 账号 + 1 个 Gemini CLI 账号)
- Token 过期(重新执行
--antigravity-login刷新) - Antigravity 平台临时故障(等待恢复,此期间 Gemini CLI 账号会自动承接流量)
9.4 如何判断请求走的是 Antigravity 还是 Gemini CLI
开启 log-level: debug 后,日志会显示每次请求使用的账号和渠道类型:
# config.yaml
log-level: debug
日志输出示例:
[DEBUG] Request routed to: antigravity / primary-gop (model: claude-opus-4-5)
[DEBUG] Request routed to: gemini / gemini-stable (model: gemini-3-pro)
9.5 Token 多久过期,需要重新登录吗
Antigravity 的 OAuth token 有效期通常为 30–90 天,CLIProxyAPI 会在 token 快过期时自动尝试刷新(refresh token 机制)。如果刷新失败,日志会出现:
[ERROR] Antigravity token refresh failed for account primary-gop, manual re-login required
此时需要手动重新执行 --antigravity-login 并覆盖对应的 auth 文件。
系列导航
- (一)入门——把 CLI 订阅变成标准 API
- (二)多账号轮询与配额策略
- (三)接入主流 AI 编程工具
- (四)生产部署——Nginx、TLS 与安全加固
- (五)Antigravity——用 Google 订阅解锁 Claude Opus 4.8(本文)
- (六)结合 new-api 打造多用户 API 网关
- (七)自动化运维——配额监控与告警
- (八)cpa_keeper 与 cpa_cost——用量追踪与成本分析工具
实操清单
- quota-exceeded.antigravity-credits: true 已配置(兜底策略就绪)
- CLIProxyAPI v7.1.45(含 Antigravity 支持)
- 建立 SSH 隧道:
ssh -L 51121:localhost:51121 user@server - 服务器端执行 Antigravity 登录:
./cli-proxy-api --antigravity-login - 在本地浏览器完成 Google 账号(bhffxdg0@gmail.com)OAuth 授权
-
~/.cli-proxy-api/antigravity-bhffxdg0@gmail.com.json已生成 - Gemini Studio 账号同步登录(
gemini-bhffxdg0@gmail.com-studio-*.json已生成) - 重启 CLIProxyAPI 服务(绑定 127.0.0.1:8317)
-
/v1/models返回 Claude Opus 4.8 / Sonnet 4.6 / Gemini 3.x 全系模型 - CLIProxyAPI 自动从 auth-dir 发现凭证,无需在 config.yaml 手动配置账号
- 实测请求
claude-sonnet-4-6经 Antigravity 渠道成功返回(管理 API 显示 success=1,11:10-11:20 时段) - 查看请求日志(
~/cliproxyapi/logs/main.log),Antigravity 渠道路由已确认 - (可选)登录第二个 Google 账号叠加配额
- (可选)订阅 Google One Pro 获取更高 Claude 模型配额