CLIProxyAPI(五):Antigravity——用 Google 订阅解锁 Claude Opus 4.8

基础四篇已经带你跑通了 CLIProxyAPI 的安装、多账号、客户端接入和生产部署。进阶篇从第五篇开始深入特定主题。本文的主角是 Antigravity——Google 旗下一个鲜为人知但能白嫖 Claude Opus 4.5 的 AI 编程平台。

系列目录

  1. (一)入门——把 CLI 订阅变成标准 API
  2. (二)多账号轮询与配额策略
  3. (三)接入主流 AI 编程工具
  4. (四)生产部署——Nginx、TLS 与安全加固
  5. (五)Antigravity——用 Google 订阅解锁 Claude Opus 4.8(本文)
  6. (六)结合 new-api 打造多用户 API 网关
  7. (七)自动化运维——配额监控与告警
  8. (八)cpa_keeper 与 cpa_cost——用量追踪与成本分析工具

# Antigravity 深度指南 ## 什么是 Antigravity - Google AI 编程平台 - 含 Claude Opus 4.5 / Sonnet 4.5 - 与 Gemini CLI 的区别 ## 前提条件 - Google 账号 - Google One Pro(可选,更高配额) - CLIProxyAPI v7.1.45+ ## 登录流程 - 本地环境 - 远程 SSH 隧道(端口 51121) ## 可用模型(实测) - Claude:opus-4-8 / 4-7 / 4-6 / 4-5 - Claude:sonnet-4-6 / 4-5,haiku-4-5 - Gemini 3.x:pro / flash / flash-lite - Gemini 3.1.x / 3.5-flash - gpt-oss-120b-medium(开源大模型) ## config.yaml 配置 - Antigravity 账号配置 - Gemini CLI 混合轮询 - 模型别名映射 ## 兜底策略 - quota-exceeded.antigravity-credits - 触发条件与降级逻辑 - 注意事项 ## Antigravity vs Gemini CLI - 稳定性对比 - 配额对比 - 可用模型对比 ## 多账号叠加 - 多 Google 账号配置 - 轮询池优先级 - 额度最大化策略 ## 常见问题 - 登录失败 - 请求偶发失败 - OAuth 回调端口冲突

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 渠道:AntigravityGemini 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),需要先停止占用进程,登录后再恢复。

flowchart LR A["--antigravity-login"] --> B{有本地浏览器?} B -- 本地机器 --> C["自动打开浏览器\nGoogle OAuth 授权"] B -- 远程服务器 --> D["建 SSH 隧道\nssh -L 51121:localhost:51121"] D --> E["本地浏览器打开\n授权链接"] C --> F["Token 写入\nauth/ 目录"] E --> F

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
flowchart LR R["新请求"] --> B{免费账号\n有配额?} B -- 有 --> OK["正常响应"] B -- 无 --> C{antigravity-credits\n已开启?} C -- 是 --> CR["消耗 Credits\n支付请求"] C -- 否 --> E["返回 429\n给客户端"]

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 做稳定兜底。

flowchart LR C["客户端请求"] --> CPA["CLIProxyAPI :8317"] CPA -- "claude-*\n稳定性 ~92%" --> AG["Antigravity\nClaude Opus 4.8 / Sonnet 4.6\n+ Gemini 3.x / 3.5 系列"] CPA -- "gemini-*\n稳定性 ~99%" --> GC["Gemini CLI / Studio\nGemini 2.5 Pro/Flash\n纯 Gemini 任务"]

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 版本过旧。

解决方案

  1. 确认 CLIProxyAPI 版本 >= v7.1.45(./cli-proxy-api --version
  2. 如版本正确仍失败,尝试清除浏览器 cookie 后重试
  3. 确认网络能正常访问 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 文件。


系列导航

实操清单

  • 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 模型配额