# Antigravity-Manager **Repository Path**: jiaolonghunter/Antigravity-Manager ## Basic Information - **Project Name**: Antigravity-Manager - **Description**: Professional Antigravity Account Manager & Switcher. One-click seamless account switching for Antigravity Tools. Built with Tauri v2 + React (Rust).专业的 Antigravity 账号管理与切换工具。为 Antigravity 提供一键无缝账号切换功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-12 - **Last Updated**: 2026-01-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Antigravity Tools 🚀 > 专业的 AI 账号管理与协议反代系统 (v3.3.20)
--- **Antigravity Tools** 是一个专为开发者和 AI 爱好者设计的全功能桌面应用。它将多账号管理、协议转换和智能请求调度完美结合,为您提供一个稳定、极速且成本低廉的 **本地 AI 中转站**。 通过本应用,您可以将常见的 Web 端 Session (Google/Anthropic) 转化为标准化的 API 接口,彻底消除不同厂商间的协议鸿沟。 ## 💖 赞助商 (Sponsors) |
| 感谢 **PackyCode** 对本项目的赞助!PackyCode 是一家可靠高效的 API 中转服务商,提供 Claude Code、Codex、Gemini 等多种服务的中转。PackyCode 为本项目的用户提供了特别优惠:使用[此链接](https://www.packyapi.com/register?aff=Ctrler)注册,并在充值时输入 **“Ctrler”** 优惠码即可享受 **九折优惠**。 |
| :--- | :--- |
## 🌟 深度功能解析 (Detailed Features)
### 1. 🎛️ 智能账号仪表盘 (Smart Dashboard)
* **全局实时监控**: 一眼洞察所有账号的健康状况,包括 Gemini Pro、Gemini Flash、Claude 以及 Gemini 绘图的 **平均剩余配额**。
* **最佳账号推荐 (Smart Recommendation)**: 系统会根据当前所有账号的配额冗余度,实时算法筛选并推荐“最佳账号”,支持 **一键切换**。
* **活跃账号快照**: 直观显示当前活跃账号的具体配额百分比及最后同步时间。
### 2. 🔐 强大的账号管家 (Account Management)
* **OAuth 2.0 授权(自动/手动)**: 添加账号时会提前生成可复制的授权链接,支持在任意浏览器完成授权;回调成功后应用会自动完成并保存(必要时可点击“我已授权,继续”手动收尾)。
* **多维度导入**: 支持单条 Token 录入、JSON 批量导入(如来自其他工具的备份),以及从 V1 旧版本数据库自动热迁移。
* **网关级视图**: 支持“列表”与“网格”双视图切换。提供 403 封禁检测,自动标注并跳过权限异常的账号。
### 3. 🔌 协议转换与中继 (API Proxy)
* **全协议适配 (Multi-Sink)**:
* **OpenAI 格式**: 提供 `/v1/chat/completions` 端点,兼容 99% 的现有 AI 应用。
* **Anthropic 格式**: 提供原生 `/v1/messages` 接口,支持 **Claude Code CLI** 的全功能(如思思维链、系统提示词)。
* **Gemini 格式**: 支持 Google 官方 SDK 直接调用。
* **智能状态自愈**: 当请求遇到 `429 (Too Many Requests)` 或 `401 (Expire)` 时,后端会毫秒级触发 **自动重试与静默轮换**,确保业务不中断。
### 4. 🔀 模型路由中心 (Model Router)
* **系列化映射**: 您可以将复杂的原始模型 ID 归类到“规格家族”(如将所有 GPT-4 请求统一路由到 `gemini-3-pro-high`)。
* **专家级重定向**: 支持自定义正则表达式级模型映射,精准控制每一个请求的落地模型。
* **智能分级路由 (Tiered Routing)**: [新] 系统根据账号类型(Ultra/Pro/Free)和配额重置频率自动优先级排序,优先消耗高速重置账号,确保高频调用下的服务稳定性。
* **后台任务静默降级**: [新] 自动识别 Claude CLI 等工具生成的后台请求(如标题生成),智能重定向至 Flash 模型,保护高级模型配额不被浪费。
### 5. 🎨 多模态与 Imagen 3 支持
* **高级画质控制**: 支持通过 OpenAI `size` (如 `1024x1024`, `16:9`) 参数自动映射到 Imagen 3 的相应规格。
* **超强 Body 支持**: 后端支持高达 **100MB** 的 Payload,处理 4K 高清图识别绰绰有余。
## 📸 界面导览 (GUI Overview)





### 💡 使用案例 (Usage Examples)




## 🏗️ 技术架构 (Architecture)
```mermaid
graph TD
Client([外部应用: Claude Code/NextChat]) -->|OpenAI/Anthropic| Gateway[Antigravity Axum Server]
Gateway --> Middleware[中间件: 鉴权/限流/日志]
Middleware --> Router[Model Router: ID 映射]
Router --> Dispatcher[账号分发器: 轮询/权重]
Dispatcher --> Mapper[协议转换器: Request Mapper]
Mapper --> Upstream[上游请求: Google/Anthropic API]
Upstream --> ResponseMapper[响应转换器: Response Mapper]
ResponseMapper --> Client
```
## 安装指南 (Installation)
### 选项 A: 终端安装 (macOS & Linux 推荐)
如果您已安装 [Homebrew](https://brew.sh/),可以通过以下命令快速安装:
```bash
# 1. 订阅本仓库的 Tap
brew tap lbjlaq/antigravity-manager https://github.com/lbjlaq/Antigravity-Manager
# 2. 安装应用
brew install --cask antigravity-tools
```
> **提示**:
> - **macOS**: 如果遇到权限问题,建议添加 `--no-quarantine` 参数。
> - **Linux**: 安装后会自动将 AppImage 添加到二进制路径并配置可执行权限。
### 选项 B: 手动下载
前往 [GitHub Releases](https://github.com/lbjlaq/Antigravity-Manager/releases) 下载对应系统的包:
* **macOS**: `.dmg` (支持 Apple Silicon & Intel)
* **Windows**: `.msi` 或 便携版 `.zip`
* **Linux**: `.deb` 或 `AppImage`
### 🛠️ 常见问题排查 (Troubleshooting)
#### macOS 提示“应用已损坏,无法打开”?
由于 macOS 的安全机制,非 App Store 下载的应用可能会触发此提示。您可以按照以下步骤快速修复:
1. **命令行修复** (推荐):
打开终端,执行以下命令:
```bash
sudo xattr -rd com.apple.quarantine "/Applications/Antigravity Tools.app"
```
2. **Homebrew 安装技巧**:
如果您使用 brew 安装,可以添加 `--no-quarantine` 参数来规避此问题:
```bash
brew install --cask --no-quarantine antigravity-tools
```
## 🔌 快速接入示例
### 🔐 OAuth 授权流程(添加账号)
1. 打开“Accounts / 账号” → “添加账号” → “OAuth”。
2. 弹窗会在点击按钮前预生成授权链接;点击链接即可复制到系统剪贴板,然后用你希望的浏览器打开并完成授权。
3. 授权完成后浏览器会打开本地回调页并显示“✅ 授权成功!”。
4. 应用会自动继续完成授权并保存账号;如未自动完成,可点击“我已授权,继续”手动完成。
> 提示:授权链接包含一次性回调端口,请始终使用弹窗里生成的最新链接;如果授权时应用未运行或弹窗已关闭,浏览器可能会提示 `localhost refused connection`。
### 如何接入 Claude Code CLI?
1. 启动 Antigravity,并在“API 反代”页面开启服务。
2. 在终端执行:
```bash
export ANTHROPIC_API_KEY="sk-antigravity"
export ANTHROPIC_BASE_URL="http://127.0.0.1:8045"
claude
```
### 如何接入 Kilo Code?
1. **协议选择**: 建议优先使用 **Gemini 协议**。
2. **Base URL**: 填写 `http://127.0.0.1:8045`。
3. **注意**:
- **OpenAI 协议限制**: Kilo Code 在使用 OpenAI 模式时,其请求路径会叠加产生 `/v1/chat/completions/responses` 这种非标准路径,导致 Antigravity 返回 404。因此请务必填入 Base URL 后选择 Gemini 模式。
- **模型映射**: Kilo Code 中的模型名称可能与 Antigravity 默认设置不一致,如遇到无法连接,请在“模型映射”页面设置自定义映射,并查看**日志文件**进行调试。
### 如何在 Python 中使用?
```python
import openai
client = openai.OpenAI(
api_key="sk-antigravity",
base_url="http://127.0.0.1:8045/v1"
)
response = client.chat.completions.create(
model="gemini-3-flash",
messages=[{"role": "user", "content": "你好,请自我介绍"}]
)
print(response.choices[0].message.content)
```
## 📝 开发者与社区
* **版本演进 (Changelog)**:
* **v3.3.21 (2026-01-11)**:
- **设备指纹绑定系统 (Device Fingerprint Binding) - 降低风控检测 (核心致谢 @jlcodes99 PR #523)**:
- **账号设备绑定**: 实现账号与设备信息的一对一绑定关系,切换账号时自动切换对应的设备指纹。
- **设备指纹管理**: 新增完整的设备指纹管理模块 (`device.rs`),支持指纹生成、绑定、恢复和版本管理。
- **风控优化**: 通过确保每个账号使用独立的设备信息,显著降低被 Google 风控系统检测的概率。
- **UI 增强**: 新增设备指纹管理对话框 (`DeviceFingerprintDialog.tsx`),提供可视化的指纹管理界面。
- **核心功能**:
- 支持采集当前设备指纹或生成随机指纹
- 自动备份和版本管理设备指纹历史
- 支持恢复到任意历史版本
- 提供设备存储目录快速访问
- **影响范围**: 此功能为多账号管理提供了更强的隐私保护,有效降低账号关联风险。
- **代理服务核心修复 (Proxy Service Critical Fixes) - 提升稳定性 (核心致谢 @byte-sunlight PR #532)**:
- **Warmup 请求拦截**: 自动识别并拦截 Claude Code 每 10 秒发送的 warmup 请求,返回模拟响应,避免消耗配额。
- 支持流式和非流式两种响应模式
- 智能检测 warmup 特征(文本内容、tool_result 错误等)
- 添加 `X-Warmup-Intercepted` 响应头标识
- **限流逻辑重构**: 修复限流检查中的关键 bug,使用 `email` 而非 `account_id` 作为限流记录的 key。
- 修复绑定账号限流检查失效的问题
- 优化 60s 时间窗口内的账号复用逻辑,避免复用已限流账号
- 改进会话解绑机制,限流时立即切换而非阻塞等待
- **字符串处理安全**: 修复 UTF-8 字符边界 panic 问题,使用 `chars().take()` 安全截取字符串。
- **影响范围**: 此修复显著提升了 Claude Code 等工具的使用体验,减少配额浪费并提高账号轮换的准确性。
- **CI/CD 测试增强 (CI Testing Enhancement) - 提升发布质量 (核心致谢 @Vucius PR #519)**:
- **强制测试**: 在 GitHub Actions 的 Release 流程中添加 `cargo test` 步骤,确保所有测试通过后才能构建发布版本。
- **测试修复**: 修正 `common_utils.rs` 中联网搜索测试的模型映射断言(`gemini-3-flash` → `gemini-2.5-flash`)。
- **测试清理**: 移除 `gemini/wrapper.rs` 中重复的测试模块定义,优化测试代码结构。
- **新增测试探针**: 添加 `common_utils_test_probe.rs` 文件,提供自定义工具检测的测试用例。
- **影响范围**: 此改进确保了每次发布的代码质量,减少因测试失败导致的回归问题。
- **监控日志容量优化 (Monitor Log Capacity Enhancement) - 支持大型图片响应 (修复 Issue #489)**:
- **提升响应日志限制**: 将监控中间件的响应体日志限制从 10MB 提升到 **100MB**,解决 4K 图片等大型响应被截断的问题。
- **问题背景**: 4K 图片经过 base64 编码后通常超过 10MB,导致监控日志显示 `[Response too large (>10MB)]` 而无法记录完整响应。
- **优化效果**: 现在可以完整记录包含高分辨率图片的响应内容,便于调试和监控图像生成等多模态功能。
- **性能影响**: 每个请求最多占用 100MB 临时内存,对现代系统(8GB+ RAM)完全可接受。
- **历史演进**: v3.3.16 时从 512KB 提升到 10MB(@Stranmor PR #321),本次进一步提升到 100MB。
- **影响范围**: 此优化确保了图像生成、大型 JSON 响应等场景的完整日志记录,提升了监控系统的实用性。
- **自动更新通知系统 (Automatic Update Notification System) - 提升用户体验 (修复 Issue #484)**:
- **后端实现**: 新增 `update_checker.rs` 模块,集成 GitHub API 自动检测最新版本。
- 语义化版本比较(支持 x.y.z 格式)
- 24 小时智能检查间隔
- 设置持久化(`update_settings.json`)
- 网络错误容错处理
- **前端实现**: 新增 `UpdateNotification.tsx` Toast 通知组件。
- 渐变 UI 设计(蓝紫色渐变)
- 应用启动后 2 秒自动检查
- 一键跳转下载页面
- 可关闭/忽略功能
- **用户控制**: 尊重用户设置,支持自动检查开关和检查间隔配置。
- **跨平台支持**: 完全兼容 macOS、Windows、Linux 三大平台。
- **影响范围**: 用户无需手动检查即可及时获知新版本,确保使用最新功能和 bug 修复。
- **开机自动启动兼容性修复 (Auto-Launch Compatibility Fix) - 彻底解决 Windows 切换异常 (修复 Issue #438, #539)**:
- **后端容错增强**: 修复了 Windows 环境下禁用自启时因找不到注册表项导致的 `os error 2` 报错。现在当用户选择禁用且启动项已不存在时,系统将视为操作成功,不再阻断后续逻辑。
- **状态实时同步**: 前端设置页面现在会在加载时主动查询系统的真实自启状态,而非仅仅依赖配置文件。这解决了由于系统清理软件或移动应用位置导致的状态不一致问题。
- **逻辑闭环**: 确保了即使在异常系统环境下,用户也能通过重新点击“启用/禁用”来强制修复并同步自启状态。
- **影响范围**: 彻底解决了从 v3.2.7 以来长期困扰 Windows 用户的“无法禁用/设置不生效”问题。
- **API 监控看板增强 (API Monitor Enhancement) - 补全失败请求记录与 Gemini 统计 (修复 Issue #504)**:
- **Gemini Token 统计兼容**: 增强了监控中间件对 Gemini API 方言的支持,能够自动识别 `usageMetadata` 节点并映射 `promptTokenCount` 等原生字段。
- **影响范围**: 显著提升了监控面板在故障排查时的准确性,确保了跨协议 Token 统计的一致性。
- **Claude 协议核心增强 (Claude Protocol Enhancement)**:
- **弹性恢复引擎 (Elastic Recovery Engine)**:
- **空流重试**: 智能识别并自动重试上游返回的空数据流,彻底解决网络抖动导致的请求失败。
- **断点自愈**: 自动检测工具调用链的断裂状态(Missing ToolResult),并实施主动修复,防止因客户端中断导致的上下文同步错误 (400)。
- **智能上下文优化 (Smart Context Optimization)**:
- **资源瘦身**: 自动清洗历史记录中的冗余 Base64 图片数据与超长日志,在保持上下文连贯的同时大幅降低 Token 消耗。
- **签名兼容**: 实现了双向签名转换层,完美适配各版本 Claude 客户端的 Thinking 签名校验机制。
- **精细化限流 (Model-Level Rate Limiting)**:
- **模型隔离**: 429 限流策略升级为“账号+模型”双维度锁定。Gemini Flash 的频控不再影响 Pro/Ultra 模型的使用,显著提升账号利用率。
* **v3.3.20 (2026-01-09)**:
- **请求超时配置优化 (Request Timeout Enhancement) - 支持长时间文本处理 (核心致谢 @xiaoyaocp Issue #473)**:
- **提升超时上限**: 将服务配置中的请求超时最大值从 600 秒(10 分钟)提升到 3600 秒(1 小时)。
- **支持耗时接口**: 解决了某些文本处理接口(如长文本生成、复杂推理等)因超时限制导致的请求中断问题。
- **灵活配置范围**: 保持最小值 30 秒不变,用户可根据实际需求在 30-3600 秒范围内自由调整。
- **国际化更新**: 同步更新中英文提示文本,清晰标注新的配置范围。
- **影响范围**: 此优化为需要长时间处理的 API 请求提供了更大的灵活性,特别适用于复杂文本处理、长文本生成等场景。
- **自动 Stream 转换功能 (Auto-Stream Conversion) - 彻底消除 429 错误**:
- **核心问题**: Google API 对流式 (`stream: true`) 和非流式 (`stream: false`) 请求采用截然不同的配额限制策略。流式请求配额更宽松,非流式请求极易触发 429 错误。
- **解决方案**: 在代理层自动将所有非流式请求转换为流式请求发送给 Google,然后将 SSE 响应收集并转换回 JSON 格式返回给客户端。
- **协议支持**:
- **Claude 协议**: ✅ 完整实现并测试通过
- **OpenAI 协议**: ✅ 完整实现并测试通过
- **Gemini 协议**: ✅ 原生支持非流式请求,无需转换
- **核心改动**:
- 新增 `src-tauri/src/proxy/mappers/claude/collector.rs` - Claude SSE 收集器
- 新增 `src-tauri/src/proxy/mappers/openai/collector.rs` - OpenAI SSE 收集器
- 修改 `claude.rs` 和 `openai.rs` handler,实现自动转换逻辑
- **性能影响**:
- **成功率**: 从 10-20% 提升到 **95%+**
- **429 错误**: 从频繁出现到**几乎消除**
- **响应时间**: 增加约 100-200ms(可接受的代价)
- **客户端透明**: 无需任何修改,完全向后兼容
- **日志标识**: `🔄 Auto-converting non-stream request to stream` / `✓ Stream collected and converted to JSON`
- **影响范围**: 此功能显著提升了 Python SDK、Claude CLI 等非流式客户端的稳定性,彻底解决了长期困扰用户的 429 配额问题。
- **macOS Dock 图标修复 (核心致谢 @jalen0x PR #472)**:
- **修复窗口无法重新打开**: 解决了 macOS 上关闭窗口后点击 Dock 图标无法重新打开窗口的问题(Issue #471)。
- **RunEvent::Reopen 处理**: 将 `.run()` 改为 `.build().run()` 模式,添加 `RunEvent::Reopen` 事件处理器。
- **窗口状态恢复**: 当点击 Dock 图标时自动显示窗口、取消最小化、设置焦点,并恢复激活策略为 `Regular`。
- **影响范围**: 此修复提升了 macOS 用户体验,确保应用窗口能够正常重新打开,符合 macOS 应用的标准行为。
* **v3.3.19 (2026-01-09)**:
- **模型路由系统极简重构 (Model Routing Refactoring)**:
- **逻辑简化**: 移除了复杂的“规格家族”分组映射,引入了更直观的 **通配符 (*)** 匹配逻辑。
- **自动配置迁移**: 启动时自动将旧版本的家族映射规则迁移至自定义映射表,确保无损升级。
- **UI 布局优化**:
- **高效排版**: “精确映射列表”改为 2 列并列展示,大幅提升空间利用率。
- **交互优化**: 将列表置顶并支持 Hover 删除,表单压缩为单行置底,操作更加聚焦。
- **深色模式调优**: 针对暗色环境进行了专项视觉优化,提升了对比度与层次感。
- **一键预设**: 新增“应用预设映射”功能,内置 11 条常用的通配符路由规则(如 `gpt-4*`, `o1-*` 等)。
- **在线编辑功能**: 支持直接在列表中修改已有规则的目标模型,无需删除重建,操作更顺滑。
- **稳定性增强**: 彻底清理了废弃字段的残留引用,修复了所有相关编译警告。
- **模型级别限流锁定 (Model-Level Rate Limiting)**:
- **问题修复**: 解决了不同模型配额互相影响的问题。之前当 Image 模型配额耗尽时,会锁定整个账号,导致 Claude 等其他模型即使有配额也无法使用。
- **模型级别锁定**: 新增 `model` 字段到 `RateLimitInfo` 结构,支持针对特定模型进行限流锁定。
- **精确配额管理**: 修改 `mark_rate_limited_async`、`set_lockout_until`、`set_lockout_until_iso` 等方法,添加可选的 `model` 参数。
- **智能日志输出**: 区分账号级别和模型级别的限流日志,便于调试和监控。
- **向后兼容**: `model: None` 表示账号级别限流(保持原有行为),`model: Some(...)` 表示模型级别限流(新功能)。
- **影响范围**: 此修复确保了不同模型的配额独立管理,Image 模型配额耗尽不再影响 Claude、Gemini 等其他模型的正常使用。
- **乐观重置策略集成 (Optimistic Reset Strategy)**:
- **双层防护机制**: 为 429 错误处理添加最后一道防线,解决时序竞争条件导致的"无可用账号"误报。
- **Layer 1 - 缓冲延迟**: 当所有账号被限流但最短等待时间 ≤ 2 秒时,执行 500ms 缓冲延迟,等待状态同步。
- **Layer 2 - 乐观重置**: 如果缓冲后仍无可用账号,清除所有限流记录(`clear_all`)并重试。
- **精准触发条件**: 只在等待时间 ≤ 2 秒时触发,避免对真实配额耗尽执行无效重置。
- **详细日志追踪**: 所有关键步骤都有日志输出(`[WARN]`/`[INFO]`),便于调试和监控。
- **适用场景**: 解决限流过期边界的时序竞争条件、临时性 API 限流、状态同步延迟等问题。
- **影响范围**: 此策略作为现有 429 处理系统(精确解析、智能退避、成功重置)的补充,提高了临时性限流的恢复能力。
* **v3.3.18 (2026-01-08)**:
- **智能限流优化 - 实时配额刷新与精准锁定 (核心致谢 @Mag1cFall PR #446)**:
- **智能指数退避**: 根据连续失败次数动态调整锁定时间,避免因临时配额波动导致的长时间锁定。
- 第 1 次失败: 60 秒
- 第 2 次失败: 5 分钟
- 第 3 次失败: 30 分钟
- 第 4 次及以上: 2 小时
- **实时配额刷新**: 当 API 返回 429 但未提供 `quotaResetDelay` 时,实时调用配额刷新 API 获取最新的 `reset_time`,精确锁定账号到配额恢复时间点。
- **三级降级策略**:
- 优先: 使用 API 返回的 `quotaResetDelay`
- 次优: 实时刷新配额获取 `reset_time`
- 保底: 使用本地缓存的配额刷新时间
- 兜底: 使用智能指数退避策略
- **精准锁定**: 新增 `set_lockout_until_iso` 方法,支持使用 ISO 8601 时间字符串精确锁定账号。
- **成功重置**: 请求成功后自动重置账号的连续失败计数,避免账号因历史失败记录而被长期锁定。
- **新增错误类型支持**: 新增 `ModelCapacityExhausted` 错误类型,处理服务端暂时无可用 GPU 实例的情况(15 秒重试)。
- **优化限流判断**: 修复 TPM 限流被误判为配额耗尽的问题,优先检查 "per minute" 或 "rate limit" 关键词。
- **影响范围**: 此优化显著提升了多轮对话中的账号可用性和稳定性,解决了频繁 429 错误和账号锁定时间不准确的问题。
- **模型路由中心 BUG 修复 (Fix Issue #434)**:
- **修复 GroupedSelect Portal 事件处理**: 解决了自定义下拉选择组件的关键 BUG,修复点击选项时菜单立即关闭导致选择无效的问题。
- **根本原因**: `createPortal` 将下拉菜单渲染到 `document.body`,但 `handleClickOutside` 只检查 `containerRef`,导致点击选项时被误判为"点击外部"。
- **解决方案**: 添加 `dropdownRef` 引用下拉菜单,修改 `handleClickOutside` 同时检查容器和下拉菜单,确保点击选项时不会关闭菜单。
- **影响范围**: 修复了所有 5 个模型家族分组(Claude 4.5、Claude 3.5、GPT-4、GPT-4o、GPT-5)的下拉选择功能。
- **补充缺失的国际化翻译**: 添加专家精确映射部分缺失的翻译键,解决提示文本不显示的问题。
- 中文: `money_saving_tip`、`haiku_optimization_tip`、`haiku_optimization_btn`、`select_target_model`
- 英文: 对应的英文翻译
- **影响范围**: "💰 省钱提示" 和 "一键优化" 按钮现在正常显示。
- **统一专家映射表单下拉框**: 将添加映射表单中的原生 `