大模型应用
用 Antigravity Manager 把…
当你需要把多个 Google(Gemini)/Anthropic(Claude) 账号的网页会话统一暴露为 OpenAI/Anthropic/Gemini 兼容 API,并实现配额监控与自动故障转移时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
用 Antigravity Manage特定
解决思路
- 选择安装方式:Linux/macOS 用一行脚本 `curl -fsSL https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/v4.1.30/install.sh | bash`(可加 `-s -- --version 4.1.30` 指定版本,或 `-s -- --dry-run` 预览);Windows 用 PowerShell `irm https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/install.ps1 | iex`;macOS/Linuxbrew 用 `brew tap lbjlaq/antigravity-manager https://github.com/lbjlaq/Antigravity-Manager` 后 `brew install --cask antigravity-tools`;服务器/NAS 推荐 Docker。
- Docker 部署:运行 `docker run -d --name antigravity-manager -p 8045:8045 -e API_KEY=$ANTIGRAVITY_API_KEY -e WEB_PASSWORD=$ANTIGRAVITY_WEB_PASSWORD -e ABV_MAX_BODY_SIZE=104857600 -v ~/.antigravity_tools:/root/.antigravity_tools lbjlaq/antigravity-manager:latest`,或用 docker-compose.yml 定义服务后 `docker compose up -d`,用 `docker logs antigravity-manager` 查看日志/找回密钥。
- 也可从 GitHub Releases 手动下载:macOS 用 `.dmg`(Apple Silicon + Intel),Windows 用 `.msi` 或便携 `.zip`,Linux 用 `.deb`、`.rpm` 或 `.AppImage`。
- 配置两套凭据:`API_KEY`(对应配置项 `api_key`,用于 API 调用 `Authorization: Bearer ...`)和 `WEB_PASSWORD`(对应 `admin_password`,用于登录管理 Web UI)。仅设 `API_KEY` 时 Web UI 和 API 都用它;两者都设时 Web UI 只用 `WEB_PASSWORD`、API 只用 `API_KEY`。
- 找回凭据:`docker logs antigravity-manager`,或 `grep -E '"api_key"|"admin_password"' ~/.antigravity_tools/gui_config.json`。
- 调用 OpenAI 兼容端点:`POST http://localhost:8045/v1/chat/completions`,带 `Authorization: Bearer $ANTIGRAVITY_API_KEY`。
- 调用 Anthropic 原生端点:`POST http://localhost:8045/v1/messages`,带 `Authorization: Bearer $ANTIGRAVITY_API_KEY`。
- 调用 Gemini 原生端点:`POST http://localhost:8045/v1/models/{model}:generateContent`,带 `Authorization: Bearer $ANTIGRAVITY_API_KEY`。
- Python 用 OpenAI SDK:`OpenAI(api_key=os.environ["ANTIGRAVITY_API_KEY"], base_url="http://localhost:8045/v1")`,然后 `client.chat.completions.create(model="gemini-2.5-pro", messages=[...], stream=True)` 并遍历 chunk 输出。
- Python 用 Anthropic SDK:`anthropic.Anthropic(api_key=os.environ["ANTIGRAVITY_API_KEY"], base_url="http://localhost:8045")`,调用 `client.messages.create(model="claude-sonnet-4-5", max_tokens=1024, messages=[...])`;流式用 `client.messages.stream(...)` 并遍历 `stream.text_stream`。
- TypeScript/Node 用 OpenAI SDK:`new OpenAI({apiKey: process.env.ANTIGRAVITY_API_KEY!, baseURL: "http://localhost:8045/v1"})`,调用 `client.chat.completions.create(...)`;图像生成用 `client.images.generate({model: "imagen-3.0-generate-002", prompt, size: "1024x1024", n: 1})`。
- 用 cURL 快速测试:OpenAI 端点 `curl -s http://localhost:8045/v1/chat/completions -H "Authorization: Bearer $ANTIGRAVITY_API_KEY" -H "Content-Type: application/json" -d '{"model":"gemini-2.5-pro","messages":[{"role":"user","content":"Hello!"}]}' | jq '.choices[0].message.content'`;Anthropic 端点类似,取 `.content[0].text`。
- 连接 Claude Code CLI:启动前 `export ANTHROPIC_API_KEY=$ANTIGRAVITY_API_KEY` 和 `export ANTHROPIC_BASE_URL=http://localhost:8045`,再运行 `claude`;或在项目根目录建 `.env` 写入这两个变量。
- 连接 Cherry Studio:Settings → API Provider 选 OpenAI-compatible,Base URL 填 `http://localhost:8045/v1`,API Key 填 `ANTIGRAVITY_API_KEY`。
- 连接 Cursor:设置 OpenAI Base URL 为 `http://localhost:8045/v1`,API Key 填 `ANTIGRAVITY_API_KEY`。
- 连接 Continue.dev:在 `~/.continue/config.json` 的 models 中加两条,provider 分别为 `openai`(apiBase `http://localhost:8045/v1`,model `gemini-2.5-pro`)和 `anthropic`(apiBase `http://localhost:8045`,model `claude-sonnet-4-5`),apiKey 填 `ANTIGRAVITY_API_KEY`。
- 编辑配置文件 `~/.antigravity_tools/gui_config.json` 设置 `api_key`、`admin_password`、`proxy.port`、`proxy.max_body_size`、`proxy.admin_password` 和 `model_routes`。
- Docker/服务器模式环境变量:`API_KEY`(必填,代理请求鉴权)、`WEB_PASSWORD`(Web UI 管理员密码,默认回退到 `API_KEY`)、`ABV_MAX_BODY_SIZE`(最大请求体字节数,默认 `104857600` 即 100MB,用于图片上传)。
- 配置模型路由:在 Web UI 的 API Proxy → Model Router 或 `gui_config.json` 的 `model_routes` 中,用 `pattern`(正则)匹配客户端硬编码的模型名并映射到 `target` 上游模型,例如 `gpt-4-turbo`→`gemini-2.5-pro`、`gpt-4o`→`gemini-2.5-pro`、`gpt-3\.5.*`→`gemini-2.5-flash`、`claude-3-opus.*`→`claude-opus-4-5`。
- 利用自动分层路由:Antigravity 按账号类型(Ultra → Pro → Free)和配额重置频率排序,优先消耗快速重置的账号。
- 利用后台任务降级:被识别为后台任务(如 Claude CLI 标题生成)的请求会自动重定向到 Flash 级模型以节省高级配额。
- 通过 UI 添加账号:打开桌面应用或 Web UI(`http://localhost:8045`)→ Accounts → Add Account,应用生成 OAuth 2.0 授权 URL,在任意浏览器完成授权,应用自动捕获回调(必要时点 "I've authorized, continue")。
- 批量导入账号:在 Accounts 页面导入 JSON 数组,每项含 `token`、`type`(如 `google`/`anthropic`)、`label`。
- 从 v1 迁移:首次启动时 Antigravity 会自动检测并迁移 v1 数据库格式,无需手动操作。
- 在仪表盘监控配额:查看 Gemini Pro、Gemini Flash、Claude 剩余调用数和 Imagen 3 图像生成配额;用 Smart Recommendation 一键切换到余量最大的账号;被上游封禁的账号会显示 403 标记并在轮换时自动跳过。
- 从源码构建:先装 Rust(`curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`)、Node.js v18+、Tauri v2 CLI(`cargo install tauri-cli --version "^2"`)、Linux 系统依赖(`sudo apt install libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev`),然后 `git clone https://github.com/lbjlaq/Antigravity-Manager.git && cd Antigravity-Manager && npm install && cargo tauri dev`(开发)或 `cargo tauri build`(发布,产物在 `src-tauri/target/release/bundle/`)。
- 仅构建无 GUI 的 headless 服务器:`cd src-tauri && cargo build --release --features headless && ./target/release/antigravity-manager --headless --port 8045`。
- 排查端口 8045 被占用:`lsof -ti:8045 | xargs kill -9`,或在 `gui_config.json` 中把 `proxy.port` 改为 8046。
- 排查账号 403/被封:在 Accounts 视图中该账号会带 403 徽章并自动跳过,添加新账号并移除/重新授权被封账号。
- 排查 429:Antigravity 会在毫秒内自动轮换到下一账号;若所有账号耗尽则添加更多账号或等待配额重置,并在仪表盘查看每账号配额。
- 排查 macOS Gatekeeper 拦截:`xattr -d com.apple.quarantine /Applications/Antigravity\ Tools.app`,或用 `brew install --cask antigravity-tools --no-quarantine`。
- 排查 Docker 重启后账号丢失:确认挂载 `-v ~/.antigravity_tools:/root/.antigravity_tools`,并用 `ls ~/.antigravity_tools/` 验证数据存在。
- 排查 Claude Code 连不上:用 `curl -s http://localhost:8045/v1/models -H "Authorization: Bearer $ANTIGRAVITY_API_KEY"` 验证代理运行,确认 `ANTHROPIC_BASE_URL` 和 `ANTHROPIC_API_KEY` 已 export(用 `echo $ANTHROPIC_BASE_URL` 检查)。
适用边界 · 注意事项
- 不想使用 Google/Anthropic 网页会话令牌、或需要官方合规 API 密钥的场景
- 无法运行 Docker、Tauri 桌面应用或本地常驻代理服务的受限环境
- 只需要单一账号、不需要多账号轮换与配额管理的简单场景