OpenCode + Antigravity Auth 插件完整使用教程
本教程将详细介绍如何安装和配置opencode-antigravity-auth插件,使 OpenCode 能够通过 OAuth 认证访问 Google 的Antigravity(Google 内部 IDE) 配额,从而使用gemini-3-pro、claude-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。
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 授权。授权成功后,认证信息将加密保存。
提示:授权完成后,浏览器会显示成功页面,终端也会提示认证成功。
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=high7. 可用模型
Antigravity 配额模型
这些模型使用 Google 内部 IDE 的配额,支持变体配置。
| 模型 ID | 支持的变体 | 说明 |
|---|---|---|
antigravity-gemini-3-pro | low,high | Gemini 3 Pro,支持思考等级配置 |
antigravity-gemini-3-flash | minimal,low,medium,high | Gemini 3 Flash,极速且支持思考 |
antigravity-claude-sonnet-4-5 | - | Claude Sonnet 4.5 (标准版) |
antigravity-claude-sonnet-4-5-thinking | low,max | Claude Sonnet 4.5 (带思考预算) |
antigravity-claude-opus-4-5-thinking | low,max | Claude Opus 4.5 (顶级推理) |
Gemini CLI 配额模型
这些模型通常使用标准的 Gemini API 预览版配额。
| 模型 ID | 说明 |
|---|---|
gemini-2.5-flash | Gemini 2.5 Flash |
gemini-2.5-pro | Gemini 2.5 Pro |
gemini-3-flash-preview | Gemini 3 Flash (Preview) |
gemini-3-pro-preview | Gemini 3 Pro (Preview) |
8. 多账户设置
如果你有多个 Google 账号,可以叠加配额并实现自动轮询。
- 添加账号:再次运行
opencode auth login。 - 选择操作:系统会提示检测到已有账号,选择
(a)dd new account(s)即可添加新账号。 - 自动轮询:插件会根据账号的健康状态自动切换。默认采用
sticky策略(保持同一账号直到受限,以利用 Prompt 缓存)。
账号信息存储位置:
~/.config/opencode/antigravity-accounts.json,包含 OAuth refresh token,请妥善保管。
9. 高级配置 (antigravity.json)
你可以创建~/.config/opencode/antigravity.json文件来精细控制插件行为。
完整参数表
| 参数名 | 默认值 | 说明 |
|---|---|---|
quiet_mode | false | 静默模式,减少通知推送 |
debug | false | 开启调试模式,日志保存在antigravity-logs/ |
keep_thinking | false | 实验性:保留 Claude 的思考过程以维持对话连贯性 |
session_recovery | true | 会话自动恢复机制 |
account_selection_strategy | "sticky" | 账号切换策略:sticky(粘性),round-robin(轮询),hybrid(混合) |
quota_fallback | false | Gemini 专用:当 Antigravity 配额耗尽时自动尝试 CLI 配额 |
max_rate_limit_wait_seconds | 300 | 遇到频率限制时的最大等待秒数 |
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” 可能会干扰回调。建议:
- 使用 Chrome 或 Firefox 浏览器完成认证。
- 或者暂时关闭 Safari 的 HTTPS 强制跳转功能。
Q: 提示 “Permission denied” 或项目 ID 不存在?
A: 这通常发生在使用 Gemini CLI 模型时。
- 前往 Google Cloud Console。
- 创建一个项目并启用 “Gemini for Google Cloud API”。
- 在
~/.config/opencode/antigravity-accounts.json中为对应账号手动添加projectId字段。
Q: 插件没有加载?
A: 确保opencode.json中的plugin数组包含"opencode-antigravity-auth@beta"且拼写正确。重启 OpenCode。
11. 参考链接
- OpenCode GitHub: anomalyco/opencode
- 插件 GitHub: NoeFabris/opencode-antigravity-auth
- NPM 页面: opencode-antigravity-auth
本教程由 AI 助手 Antigravity 生成,人工审核,旨在提供最准确的技术指导。