OpenCode + Antigravity Auth 插件完整使用教程

本教程将详细介绍如何安装和配置 opencode-antigravity-auth 插件,使 OpenCode 能够通过 OAuth 认证访问 Google 的 Antigravity (Google 内部 IDE) 配额,从而使用 gemini-3-proclaude-sonnet-4-5-thinking 等顶级模型。


1. 简介

OpenCode 是一款开源的 AI 编程助手,而 opencode-antigravity-auth 是为其开发的强力插件。通过该插件,你可以:

  • OAuth 登录:直接使用 Google 账号认证,无需手动管理复杂的 API Key。
  • 双重配额系统:同时使用 Antigravity 配额(支持 Claude 和 Gemini 3)和 Gemini CLI 配额。
  • 多账号轮询:支持添加多个 Google 账号,当一个账号达到频率限制(Rate Limit)时自动切换。
  • 深度思考模式:完美支持 Claude 的 thinking_budget 和 Gemini 3 的 thinkingLevel

OpenCode 终端界面


2. 功能特性

  • 实时流式传输:支持 SSE 流式输出,包括思考过程(Thinking Blocks)。
  • 模型变体 (Variants):通过 OpenCode 的变体系统动态配置思考预算。
  • 自动恢复:针对 Claude 的 tool_result_missing 等错误提供自动会话恢复机制。
  • 插件兼容性:可与 opencodesync 等其他插件协同工作。

3. 环境要求

在开始之前,请确保你的系统已安装以下组件:

  • Node.js:建议使用 v18 或更高版本。
  • OpenCode CLI:通过 npm i -g opencode-ai@latest 安装。
  • Google 账号:具有访问相关模型权限的 Google 账号。

4. 安装步骤

第一步:修改配置文件

你需要将插件添加到 OpenCode 的主配置文件 opencode.json 中。

配置文件路径:

  • Linux/Mac: ~/.config/opencode/opencode.json
  • Windows: %APPDATA%\opencode\opencode.json

plugin 数组中添加插件名称:

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-antigravity-auth@beta"]
}

第二步:进行身份验证

在终端运行以下命令启动 OAuth 认证流程:

opencode auth login

选择 Google Provider,按提示操作
在这里插入图片描述


5. 配置说明

完整的 opencode.json 示例

你可以直接将以下配置复制到你的 opencode.json 中,它包含了推荐的模型定义和变体配置。

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-antigravity-auth@beta"],
  "provider": {
    "google": {
      "models": {
        "antigravity-gemini-3-pro": {
          "name": "Gemini 3 Pro (Antigravity)",
          "limit": { "context": 1048576, "output": 65535 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
          "variants": {
            "low": { "thinkingLevel": "low" },
            "high": { "thinkingLevel": "high" }
          }
        },
        "antigravity-gemini-3-flash": {
          "name": "Gemini 3 Flash (Antigravity)",
          "limit": { "context": 1048576, "output": 65536 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
          "variants": {
            "minimal": { "thinkingLevel": "minimal" },
            "low": { "thinkingLevel": "low" },
            "medium": { "thinkingLevel": "medium" },
            "high": { "thinkingLevel": "high" }
          }
        },
        "antigravity-claude-sonnet-4-5-thinking": {
          "name": "Claude Sonnet 4.5 Thinking (Antigravity)",
          "limit": { "context": 200000, "output": 64000 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
          "variants": {
            "low": { "thinkingConfig": { "thinkingBudget": 8192 } },
            "max": { "thinkingConfig": { "thinkingBudget": 32768 } }
          }
        },
        "antigravity-claude-sonnet-4-5": {
          "name": "Claude Sonnet 4.5 (Antigravity)",
          "limit": { "context": 200000, "output": 64000 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
        },
        "antigravity-claude-opus-4-5-thinking": {
          "name": "Claude Opus 4.5 Thinking (Antigravity)",
          "limit": { "context": 200000, "output": 64000 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
          "variants": {
            "low": { "thinkingConfig": { "thinkingBudget": 8192 } },
            "max": { "thinkingConfig": { "thinkingBudget": 32768 } }
          }
        },
        "gemini-2.5-flash": {
          "name": "Gemini 2.5 Flash (Gemini CLI)",
          "limit": { "context": 1048576, "output": 65536 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
        },
        "gemini-2.5-pro": {
          "name": "Gemini 2.5 Pro (Gemini CLI)",
          "limit": { "context": 1048576, "output": 65536 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
        },
        "gemini-3-flash-preview": {
          "name": "Gemini 3 Flash Preview (Gemini CLI)",
          "limit": { "context": 1048576, "output": 65536 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
        },
        "gemini-3-pro-preview": {
          "name": "Gemini 3 Pro Preview (Gemini CLI)",
          "limit": { "context": 1048576, "output": 65535 },
          "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
        }
      }
    }
  }
}

6. 使用方法

配置完成后,你可以通过命令行指定模型和变体来运行任务。

运行任务示例

使用 Claude Sonnet 4.5 思考模式(最大预算):

opencode run "帮我重构这段复杂的 JavaScript 代码" --model=google/antigravity-claude-sonnet-4-5-thinking --variant=max

使用 Gemini 3 Pro(高思考等级):

opencode run "分析这个架构设计的优缺点" --model=google/antigravity-gemini-3-pro --variant=high

7. 可用模型

Antigravity 配额模型

这些模型使用 Google 内部 IDE 的配额,支持变体配置。

模型 ID支持的变体说明
antigravity-gemini-3-prolow, highGemini 3 Pro,支持思考等级配置
antigravity-gemini-3-flashminimal, low, medium, highGemini 3 Flash,极速且支持思考
antigravity-claude-sonnet-4-5-Claude Sonnet 4.5 (标准版)
antigravity-claude-sonnet-4-5-thinkinglow, maxClaude Sonnet 4.5 (带思考预算)
antigravity-claude-opus-4-5-thinkinglow, maxClaude Opus 4.5 (顶级推理)

Gemini CLI 配额模型

这些模型通常使用标准的 Gemini API 预览版配额。

模型 ID说明
gemini-2.5-flashGemini 2.5 Flash
gemini-2.5-proGemini 2.5 Pro
gemini-3-flash-previewGemini 3 Flash (Preview)
gemini-3-pro-previewGemini 3 Pro (Preview)

8. 多账户设置

如果你有多个 Google 账号,可以叠加配额并实现自动轮询。

  1. 添加账号:再次运行 opencode auth login
  2. 选择操作:系统会提示检测到已有账号,选择 (a)dd new account(s) 即可添加新账号。
  3. 自动轮询:插件会根据账号的健康状态自动切换。默认采用 sticky 策略(保持同一账号直到受限,以利用 Prompt 缓存)。

账号信息存储位置~/.config/opencode/antigravity-accounts.json,包含 OAuth refresh token,请妥善保管。


9. 高级配置 (antigravity.json)

你可以创建 ~/.config/opencode/antigravity.json 文件来精细控制插件行为。

完整参数表

参数名默认值说明
quiet_modefalse静默模式,减少通知推送
debugfalse开启调试模式,日志保存在 antigravity-logs/
keep_thinkingfalse实验性: 保留 Claude 的思考过程以维持对话连贯性
session_recoverytrue会话自动恢复机制
account_selection_strategy"sticky"账号切换策略:sticky (粘性), round-robin (轮询), hybrid (混合)
quota_fallbackfalseGemini 专用: 当 Antigravity 配额耗尽时自动尝试 CLI 配额
max_rate_limit_wait_seconds300遇到频率限制时的最大等待秒数

antigravity.json 示例

{
  "$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json",
  "quiet_mode": false,
  "debug": false,
  "keep_thinking": true,
  "account_selection_strategy": "sticky",
  "quota_fallback": true
}

10. 常见问题

Q: 登录时提示 “fail to authorize” 或 Safari 报错?

A: Safari 的 “HTTPS-Only Mode” 可能会干扰回调。建议:

  1. 使用 Chrome 或 Firefox 浏览器完成认证。
  2. 或者暂时关闭 Safari 的 HTTPS 强制跳转功能。

Q: 提示 “Permission denied” 或项目 ID 不存在?

A: 这通常发生在使用 Gemini CLI 模型时。

  1. 前往 Google Cloud Console
  2. 创建一个项目并启用 “Gemini for Google Cloud API”。
  3. ~/.config/opencode/antigravity-accounts.json 中为对应账号手动添加 projectId 字段。

Q: 插件没有加载?

A: 确保 opencode.json 中的 plugin 数组包含 "opencode-antigravity-auth@beta" 且拼写正确。重启 OpenCode。


11. 参考链接


本教程由 AI 助手 Antigravity 生成,人工审核,旨在提供最准确的技术指导。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐