Skip to content

Latest commit

 

History

History
1046 lines (989 loc) · 126 KB

File metadata and controls

1046 lines (989 loc) · 126 KB

Antigravity Tools 🚀

Professional AI Account Management & Proxy System (v3.3.45)

Antigravity Logo

Your Personal High-Performance AI Dispatch Gateway

Seamlessly proxy Gemini & Claude. OpenAI-Compatible. Privacy First.

Version Tauri Rust React License

FeaturesGUI OverviewArchitectureInstallationIntegration

简体中文 | English


Antigravity Tools is an all-in-one desktop application designed for developers and AI enthusiasts. It perfectly combines multi-account management, protocol conversion, and smart request scheduling to provide you with a stable, high-speed, and low-cost Local AI Relay Station.

By leveraging this app, you can transform common Web Sessions (Google/Anthropic) into standardized API interfaces, completely eliminating the protocol gap between different providers.

💖 Sponsors

PackyCode Logo Thanks to PackyCode for sponsoring this project! PackyCode is a reliable and efficient API relay service provider, offering relays for various services such as Claude Code, Codex, and Gemini. PackyCode provides a special offer for users of this project: Register using this link and enter the "Ctrler" coupon code when topping up to enjoy a 10% discount.

☕ Support

If you find this project helpful, feel free to buy me a coffee!

Buy Me A Coffee

Alipay WeChat Pay Buy Me a Coffee
Alipay WeChat Coffee

🌟 Detailed Feature Matrix

1. 🎛️ Smart Account Dashboard

  • Global Real-time Monitoring: Instant insight into the health of all accounts, including average remaining quotas for Gemini Pro, Gemini Flash, Claude, and Gemini Image generation.
  • Smart Recommendation: The system uses a real-time algorithm to filter and recommend the "Best Account" based on quota redundancy, supporting one-click switching.
  • Active Account Snapshot: Visually displays the specific quota percentage and the last synchronization time of the currently active account.

2. 🔐 Professional AI Account Management & Proxy System

  • OAuth 2.0 Authorization (Auto/Manual): Pre-generates a copyable authorization URL so you can finish auth in any browser; after the callback, the app auto-completes and saves the account (use “I already authorized, continue” if needed).
  • Multi-dimensional Import: Supports single token entry, JSON batch import, and automatic hot migration from V1 legacy databases.
  • Gateway-level Views: Supports switching between "List" and "Grid" views. Provides 403 Forbidden detection, automatically marking and skipping accounts with permission anomalies.

3. Protocol Conversion & Relay (API Proxy)

  • Multi-Protocol Adaptation (Multi-Sink):
    • OpenAI Format: Provides /v1/chat/completions endpoint, compatible with 99% of existing AI apps.
    • Anthropic Format: Provides native /v1/messages interface, supporting all features of Claude Code CLI (e.g., chain-of-thought, system prompts).
    • Gemini Format: Supports direct calls from official Google AI SDKs.
  • Smart Self-healing: When a request encounters 429 (Too Many Requests) or 401 (Expired), the backend triggers millisecond-level automatic retry and silent rotation, ensuring business continuity.

4. 🔀 Model Router Center

  • Series-based Mapping: Classify complex original model IDs into "Series Groups" (e.g., routing all GPT-4 requests uniformly to gemini-3-pro-high).
  • Expert Redirection: Supports custom regex-level model mapping for precise control over every request's landing model.
  • Tiered Routing [New]: Automatically prioritizes models based on account tiers (Ultra/Pro/Free) and reset frequencies to ensure stability for high-volume users.
  • Silent Background Downgrading [New]: Intelligently identifies background tasks (e.g., Claude CLI title generation) and reroutes them to Flash models to preserve premium quota.

5. 🎨 Multimodal & Imagen 3 Support

  • Advanced Image Control: Supports precise control over image generation tasks via OpenAI size (e.g., 1024x1024, 16:9) parameters or model name suffixes.
  • Enhanced Payload Support: The backend supports payloads up to 100MB, more than enough for 4K HD image recognition and processing.

GUI Overview

Dashboard - Global Quota Monitoring & One-click Switch
Dashboard
Account List - High-density Quota Display & Smart 403 Labeling
Account List
About Page - About Antigravity Tools
About Page
API Proxy - Service Control
API Proxy
Settings - General Config
Settings

💡 Usage Examples

Claude Code Web Search - Structured source and citation display
Claude Code Web Search
Cherry Studio Deep Integration - Native echo of search citations and source links
Cherry Studio Integration
Imagen 3 Advanced Drawing - Perfect restoration of Prompt artistic conception and details
Imagen 3 Advanced Drawing
Kilo Code Integration - Multi-account high-speed rotation and model penetration
Kilo Code Integration

🏗️ Architecture

graph TD
    Client([External Apps: Claude Code/NextChat]) -->|OpenAI/Anthropic| Gateway[Antigravity Axum Server]
    Gateway --> Middleware[Middleware: Auth/Rate Limit/Logs]
    Middleware --> Router[Model Router: ID Mapping]
    Router --> Dispatcher[Dispatcher: Rotation/Weights]
    Dispatcher --> Mapper[Request Mapper]
    Mapper --> Upstream[Upstream: Google/Anthropic API]
    Upstream --> ResponseMapper[Response Mapper]
    ResponseMapper --> Client
Loading

📥 Installation

Option A: Terminal Installation (macOS & Linux Recommended)

If you have Homebrew installed, run:

# 1. Tap the repository
brew tap lbjlaq/antigravity-manager https://github.com/lbjlaq/Antigravity-Manager

# 2. Install the app
brew install --cask antigravity-tools

Tip:

  • macOS: If you encounter permission issues, add the --no-quarantine flag.
  • Linux: The AppImage will be automatically symlinked to your binary path with executable permissions.

Option B: Manual Download

Download from GitHub Releases:

  • macOS: .dmg (Universal, Apple Silicon & Intel)
  • Windows: .msi or portable .zip
  • Linux: .deb or AppImage

Option C: Arch Linux (Official Script)

We provide an official one-liner installation script for Arch Linux users. It automatically fetches the latest release from GitHub and installs it:

curl -sSL https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/deploy/arch/install.sh | bash

Tip: This script will automatically download the latest .deb assets and install them using makepkg.

Option C: Remote Server Deployment (Headless Linux)

If you need to run on a headless remote Linux server (Ubuntu/Debian/CentOS), use our Headless (Xvfb) one-click deployment solution:

curl -fsSL https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/deploy/headless-xvfb/install.sh | sudo bash

Note: This solution uses Xvfb to simulate a GUI environment. Resource consumption (RAM/CPU) will be higher than a native backend service. See: Server Deployment Guide (deploy/headless-xvfb)

Option D: Docker Deployment (Recommended for NAS/Servers)

If you prefer running in a containerized environment, we provide a full Docker image and configuration with built-in noVNC support for direct browser-based GUI access.

# 1. Enter the deployment directory
cd deploy/docker

# 2. Start the service
docker compose up -d

Access URL: http://localhost:6080/vnc_lite.html (Default VNC password: password) System Requirements:

  • RAM: 2GB recommended (minimum 512MB).
  • Shared Memory: Requires shm_size: 2gb (pre-configured in compose) to prevent browser crashes.
  • Architecture: Supports x86_64 and ARM64. See: Docker Deployment Guide (deploy/docker)

🛠️ Troubleshooting

macOS says "App is damaged"?

Due to macOS security gatekeeper, non-App Store apps might show this. Run this in Terminal to fix:

sudo xattr -rd com.apple.quarantine "/Applications/Antigravity Tools.app"

🔌 Quick Integration Examples

🔐 OAuth Authorization Flow (Add Account)

  1. Go to AccountsAdd AccountOAuth.
  2. The dialog pre-generates an authorization URL before you click any button. Click the URL to copy it to the system clipboard, then open it in the browser you prefer and complete authorization.
  3. After consent, the browser opens a local callback page and shows “✅ Authorized successfully!”.
  4. The app automatically continues the flow and saves the account; if it doesn’t, click “I already authorized, continue” to finish manually.

Note: the auth URL contains a one-time local callback port. Always use the latest URL shown in the dialog. If the app isn’t running or the dialog is closed during auth, the browser may show localhost refused connection.

How to use with Claude Code CLI?

  1. Start Antigravity service in the "API Proxy" tab.
  2. In your terminal:
export ANTHROPIC_API_KEY="sk-antigravity"
export ANTHROPIC_BASE_URL="http://127.0.0.1:8045"
claude

How to use in 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": "Hello, please introduce yourself"}]
)
print(response.choices[0].message.content)

📝 Developer & Community

  • Changelog:

    • v3.3.45 (2026-01-19):

      • [Core] Critical Fix for Claude/Gemini SSE Interruptions & 0-Token Responses (Issue #859):
        • Enhanced Peek Logic: The proxy now loops through initial SSE chunks to filter out heartbeat pings and empty data, ensuring a valid content block is received before committing to a 200 OK response.
        • Smart Retry Trigger: If no valid data is received within 60s or the stream is interrupted during the peek phase, the system automatically triggers account rotation and retries, eliminating silent failures for long-latency models.
        • Protocol Alignment & Optimization: Introduced a matching peek mechanism for Gemini and relaxed Claude's heartbeat interval to 30s to improve stability during long-form content generation.
      • [Core] Fixed Account Mode Integration (PR #842):
        • Backend Enhancement: Introduced preferred_account_id support in the proxy core, allowing mandatory locking of specific accounts via API or UI.
        • UI Update: Added a "Fixed Account" toggle and account selector in the API Proxy page to lock the outbound account for the current session.
        • Scheduling Optimization: Fixed Account Mode takes precedence over traditional round-robin, ensuring session continuity for specific business scenarios.
      • [i18n] Full Translation Completion & Cleanup:
        • 8-Language Coverage: Completed all i18n translation keys related to "Fixed Account Mode" for all 8 supported languages.
        • Redundant Key Cleanup: Fixed "Duplicate Keys" lint warnings in ja.json and vi.json caused by historical PR accumulation.
        • Punctuation Sync: Standardized punctuation across Russian and Portuguese translations, removing accidentally used full-width Chinese punctuation.
      • [Core Feature] Client Hot Update & Token Statistics (PR #846 by @lengjingxu):
        • Native Updater: Integrated Tauri v2 native update plugin, supporting automatic detection, downloading, installation, and restarting for seamless client upgrades.
        • Token Consumption Visualization: Added an SQLite-based Token statistics persistence module, supporting total and per-account usage views by hour/day/week.
        • UI/UX & i18n Enhancements: Optimized chart tooltips for better Dark Mode contrast; completed full translation for all 8 languages and fixed hardcoded legend labels.
        • Integration Fix: Fixed an application crash caused by missing plugin configurations found during the manual merge of the original PR code.
      • [Optimization] Tsinghua (TUNA) Mirror Support: Optimized the Dockerfile build process, significantly improving package installation speed in mainland China.
      • [Deployment] Official Docker & noVNC Support (PR #851):
        • Full Containerization: Provides a complete Docker deployment solution for headless environments, with built-in Openbox WM.
        • Web VNC Integration: Integrated noVNC for direct browser-based GUI access (essential for OAuth flows, with Firefox ESR included).
        • Self-Healing Startup: Optimized start.sh with X11 lock file cleanup and service crash monitoring for enterprise-grade stability.
        • i18n Readiness: Built-in CJK fonts ensuring proper rendering of Chinese characters in the Docker environment.
        • Performance Tuning: Standardized shm_size: 2gb to eliminate container browser and GUI crashes.
      • [Core Feature] Fixed Device Fingerprint Synchronization on Account Switch:
        • Path Detection Improvement: Optimized the timing of storage.json detection to ensure accurate path acquisition before process closure, compatible with custom data directories.
        • Automatic Isolation Generation: For accounts without a bound fingerprint, a unique device identifier is now automatically generated and bound during the first switch, ensuring complete fingerprint isolation between accounts.
      • [UI Fix] Fixed Inaccurate Page Size Display on Account Management Page (Issue #754):
        • Logic Correction: Forced the default minimum page size to 10, resolving the unintuitive experience where it would automatically change to 5 or 9 in small windows.
        • Persistence Enhancement: Implemented localStorage persistence for page size. Manually selected page sizes now permanently lock and override the automatic mode.
        • UI Consistency: Ensured the pagination dropdown always aligns with the actual number of items displayed in the list.
    • v3.3.44 (2026-01-19):

      • [Core Stability] Dynamic Thinking Stripping - Complete Fix for Prompt Too Long & Signature Errors:
        • Background: In Deep Thinking mode, long conversations cause two critical errors:
          • Prompt is too long: Historical Thinking Blocks accumulate and exceed token limits
          • Invalid signature: Proxy restarts clear in-memory signature cache, causing Google to reject old signatures
        • Solution - Context Purification:
          • New ContextManager Module: Implements token estimation and history purification logic
          • Tiered Purification Strategy:
            • Soft (60%+ pressure): Retains last ~2 turns of Thinking, strips earlier history
            • Aggressive (90%+ pressure): Removes all historical Thinking Blocks
          • Differentiated Limits: Flash models (1M) and Pro models (2M) use different trigger thresholds
          • Signature Sync Removal: Automatically removes thought_signature when purifying Thinking to avoid validation failures
        • Transparency Enhancement: Added X-Context-Purified: true response header for debugging
        • Performance Optimization: Lightweight character-based token estimation with <5ms request latency impact
        • Impact: Completely resolves two major issues in Deep Thinking mode, freeing 40%-60% context space and ensuring long conversation stability
    • v3.3.43 (2026-01-18):

      • [i18n] Full Internationalization of Device Fingerprint Dialog (PR #825, thanks to @IamAshrafee):
        • Completely resolved the hard-coded Chinese strings in the Device Fingerprint dialog.
        • Added translation skeletons for 8 languages (EN, JA, VI, etc.) to ensure a consistent experience.
      • [Japanese] Translation Completion & Terminology Optimization (PR #822, thanks to @Koshikai):
        • Added 50+ missing translation keys covering core settings like Quota Protection, HTTP API, and Update Checks.
        • Improved technical wording for natural Japanese expressions (e.g., pro_low to "低消費").
      • [Fix] Vietnamese Spelling Correction (PR #798, thanks to @vietnhatthai):
        • Fixed a typo in the Vietnamese refresh_msg (hiện đài -> hiện tại).
      • [Compatibility] Native Google API Key Support (PR #831):
        • Added x-goog-api-key Header Support:
          • The auth middleware now recognizes the x-goog-api-key header.
          • Improves compatibility with official Google SDKs and third-party tools that use Google-style headers, eliminating the need to manually change header to x-api-key.
    • v3.3.42 (2026-01-18):

      • [Traffic Log Enhancement] Protocol Recognition & Stream Integration (PR #814):
        • Protocol Labeling: Traffic logs now automatically identify and label protocol types (OpenAI in Green, Anthropic in Orange, Gemini in Blue) based on URI, providing instant clarity on request sources.
        • Full Stream Consolidation: Resolved the issue where streaming responses only displayed [Stream Data]. The proxy now intercepts and aggregates stream chunks, restoring scattered delta fragments into complete response content and "thinking" processes for significantly improved debugging.
        • i18n Support: Completed i18n translations for traffic log features across 8 languages.
      • [Critical Fix] Deep Refactoring of Gemini JSON Schema Cleaning (Issue #815):
        • Resolved Property Loss: Implemented "Best Branch Merging" logic for anyOf/oneOf structures in tool definitions. It automatically extracts properties from the richest branch, fixing the long-standing malformed function call error.
        • Robust Whitelist Mechanism: Adopted a strict allowlist approach to remove fields unsupported by Gemini, ensuring 100% API compatibility and eliminating 400 errors.
        • Constraint Migration (Description Hints): Unsupported validation fields like minLength, pattern, and format are now automatically converted into text hints and appended to the description, preserving semantic information for the model.
        • Schema Context Detection Lock: Added a safety check to ensure the cleaner only operates on actual Schema nodes. This "precision lock" protects tool call structures in request.rs, ensuring the stability of historical fixes (e.g., boolean coercion, shell array conversion).
    • v3.3.41 (2026-01-18):

      • Claude Protocol Core Compatibility Fixes (Issue #813):
        • Consecutive User Message Merging: Implemented merge_consecutive_messages logic to automatically merge consecutive messages with the same role. This resolves 400 Bad Request errors caused by role alternation violations during Spec/Plan mode switches.
        • EnterPlanMode Protocol Alignment: For Claude Code's EnterPlanMode tool calls, redundant arguments are now forcibly cleared to ensure full compliance with the official protocol, fixing instruction set validation failures.
      • Proxy Robustness Enhancements:
        • Enhanced self-healing capabilities for tool call chains. When the model generates erroneous paths due to hallucinations, the Proxy now provides standard error feedback to guide the model back to the correct path.
    • v3.3.40 (2026-01-18):

      • Deep Fix for API 400 Errors (Grep/Thinking Stability):
        • Resolved Protocol Order Violation: Fixed the "Found 'text' instead of 'thinking'" 400 error by refactoring streaming.rs to stop appending illegal thinking blocks after text blocks. Signatures are now silently cached for recovery.
        • Enhanced Thinking Signature Self-healing: Expanded 400 error keyword capture in claude.rs to cover signature invalidation, sequence errors, and protocol mismatches. Implemented millisecond-level silent retries with automated session healing.
        • Search Tool Schema Alignment: Corrected parameter remapping for Grep and Glob tools, ensuring query is accurately mapped to path as per Claude Code Schema, with automatic injection of default path ..
        • Optimized Tool Renaming Strategy: Refined the renaming logic to only target known hallucinations (like search), preserving the integrity of original tool call signatures.
        • Automatic Signature Completion: For tool calls like LS, Bash, and TodoWrite that missing thought_signature, the proxy now automatically injects a placeholder to satisfy upstream constraints.
      • Architectural Robustness:
        • Enhanced the global recursive cleaner clean_cache_control_from_messages to strip illegal cache_control tags that disrupt Vertex AI/Anthropic strict mode.
        • Updated comprehensive test examples in docs/client_test_examples.md covering all known 400 error scenarios.
    • v3.3.39 (2026-01-17):

      • Deep Proxy Optimizations (Gemini Stability Boost):
        • Schema Purifier Upgrade: Supported allOf merging, intelligent union type selection, automatic Nullable filtering, and empty object parameter backfill, completely resolving 400 errors caused by complex tool definitions.
        • Search Tool Self-healing: Implemented automatic remapping from Search to grep and introduced Glob-to-Include Migration (automatically moving Glob patterns like **/*.rs to the inclusion parameter), resolving Claude Code Error searching files errors.
        • Parameter Alias Completion: Unified parameter mapping logic for search_code_definitions and other related tools, and enforced boolean type conversion.
        • Shell Call Robustness: Enforced local_shell_call command parameter to return as an array, enhancing compatibility with Google API.
        • Dynamic Token Constraints: Automatically adjusted maxOutputTokens based on thinking_budget to satisfy strict API constraints; streamlined Stop Sequences to improve streaming output quality.
      • Enhanced Thinking Mode Stability:
        • Introduced cross-model family signature validation to automatically downgrade incompatible thinking signatures, preventing 400 Bad Request errors.
        • Improved "Session Healing" logic to automatically recover interrupted tool loops and ensure compliance with strict Google/Vertex AI structural requirements.
      • High Availability Improvements:
        • Optimized automatic Endpoint Fallback logic for smoother transitions to backup API endpoints during 429 or 5xx errors.
      • Fix macOS "Too many open files" Error (Issue #784):
        • Implemented a global shared HTTP client pool to significantly reduce Socket handle consumption.
        • Automatically increase the file descriptor limit (RLIMIT_NOFILE) to 4096 on macOS for enhanced high-concurrency stability.
    • v3.3.38 (2026-01-17):

      • Thinking Signature Deep Fix & Session Healing (Core Fix):
        • Robust Retry Logic: Fixed the retry counting logic to ensure single-account users can still trigger internal retries for signature errors, improving auto-recovery rates.
        • Proactive Signature Stripping: Introduced is_retry flag to forcibly strip all historical signatures during retry attempts. Coupled with strict model family validation (no more signature mixing between Gemini 1.5 and 2.0), this eliminates 400 errors from invalid signatures.
        • Session Healing: Implemented smart message injection to satisfy Vertex AI structural constraints when tool results lack preceding thinking blocks due to stripping.
      • Pinned Quota Models:
        • Customizable Display: Added a model quota pinning list in "Settings -> Account", allowing users to customize specific model quotas displayed in the main table; unselected models are only shown in detail modals.
        • Layout Optimization: Implemented a responsive 4-column grid layout for this section, maintaining UI consistency with the "Quota Protection" module.
      • Relay Stability Enhancements: Improved detection and backoff for 529 Overloaded errors, increasing task success rates under extreme upstream load.
    • v3.3.37 (2026-01-17):

      • Backend Compatibility Fix (Fix PR #772):
        • Backward Compatibility Enhancement: Added #[serde(default)] attribute to StickySessionConfig, ensuring that old configuration files (missing sticky session fields) can be correctly loaded, preventing deserialization errors.
      • User Experience Optimization (Fix PR #772):
        • Config Loading Upgrade: Introduced dedicated loading state and error handling in ApiProxy.tsx. Users now see a loading spinner while fetching configuration, and if loading fails, a clear error message with a retry button is displayed instead of a blank or broken state.
      • macOS Monterey Sandbox Permissions Fix (Fix Issue #468):
        • Root Cause: On older macOS versions like Monterey (12.x), application sandbox policies prevented reading global preferences (kCFPreferencesAnyApplication), causing failure to detect the default browser and blocking OAuth redirects.
        • Fix: Added com.apple.security.temporary-exception.shared-preference.read-only exception to Entitlements.plist, explicitly allowing read access to global configurations.
    • v3.3.36 (2026-01-17):

      • Core Stability Fixes for Claude Protocol:
        • "Reply OK" Loop Fix (History Poisoning):
          • Root Cause: Fixed a critical flaw in is_warmup_request logic. The old logic scanned the last 10 historical messages; once any "Warmup" message appeared in history (user-sent or background heartbeat), the system would misidentify all subsequent user inputs (like "continue") as Warmup requests and force an "OK" response.
          • Fix: Restricted detection scope to check ONLY the latest message. Now valid user inputs are processed correctly, and only actual Warmup heartbeats are intercepted.
          • Impact: Significantly improved usability for Claude Code CLI and Cherry Studio in long-running sessions.
        • Cache Control Injection Fix (Fix Issue #744):
          • Root Cause: Claude clients injected non-standard cache_control: {"type": "ephemeral"} fields into Thinking blocks, causing Google API to return Extra inputs are not permitted 400 errors.
          • Fix: Implemented a global recursive cleanup function clean_cache_control_from_messages and integrated it into the Anthropic (z.ai) forwarding path, ensuring all cache_control fields are stripped before sending to upstream APIs.
        • Comprehensive Signature Defense:
          • Implicit Fixes: Deep code audit confirmed that a series of previously reported signature-related issues (#755, #654, #653, #639, #617) are effectively resolved by the strict signature validation, automatic downgrade, and Base64 smart decoding mechanisms introduced in v3.3.35. The system now has high fault tolerance for missing, corrupted, or malformed signatures.
      • Smart Warmup Logic Fix (Fix Issue #760):
        • Root Cause: Fixed legacy logic in the auto-warmup scheduler that incorrectly mapped gemini-2.5-flash quota status to gemini-3-flash.
        • Symptom: This caused "ghost warmups" where gemini-3-flash was triggered for warmup even when it had 0% quota, just because gemini-2.5-flash (unused/different bucket) reported 100%.
        • Fix: Removed all hardcoded 2.5 -> 3 mapping logic. The scheduler now strictly checks the quota percentage of the specific model itself, triggering warmup only when that actual model reports 100%.
      • Gemini 2.5 Pro Model Removal (Fix Issue #766):
        • Reason: Due to reliability issues, the gemini-2.5-pro model has been removed from the supported list.
        • Migration: All gpt-4 family aliases (e.g., gpt-4, gpt-4o) have been remapped to gemini-2.5-flash to ensure service continuity.
        • Impact: Users previously accessing gemini-2.5-pro via aliases will be automatically routed to gemini-2.5-flash. The model is no longer selectable in the frontend.
      • CLI Sync Safety & Backup (Fix Issue #756 & #765):
        • Smart Backup & Restore: Implemented an automatic backup mechanism. Before syncing, the system now automatically backs up existing configurations to .antigravity.bak. The "Restore" feature intelligently detects these backups and offers to restore the original user configuration instead of just resetting to defaults.
        • Safety Confirmation: Added a confirmation dialog for the "Sync Config" action to prevent accidental overwrites of local configurations.
        • Enhanced CLI Detection: Improved the detection logic for CLIs (like Claude Code) on macOS to correctly identify and execute binaries even if they are not in the system PATH but exist in standard fallback locations.
      • Windows Console Flashing Fix (PR #769, Thanks to @i-smile):
        • No Window Execution: Fixed the issue where running CLI sync commands (like where checks) on Windows would briefly pop up a console window. Added CREATE_NO_WINDOW flag to ensure all background checks run silently.
      • Auth UI Status Fix (PR #769, Thanks to @i-smile):
        • Accurate Status: Corrected the authentication status display logic in the API Proxy page. The UI now correctly shows "Disabled" when auth_mode is set to off, instead of incorrectly showing "Enabled".
    • v3.3.35 (2026-01-16):

      • Major CLI Sync Enhancements:
        • Multi-config File Support: Now supports syncing multiple configuration files for each CLI (Claude Code: settings.json, .claude.json; Codex: auth.json, config.toml; Gemini: .env, settings.json, config.json), ensuring a more complete setup.
        • Claude No-Login Privilege: Automatically injects "hasCompletedOnboarding": true into ~/.claude.json during sync, allowing users to skip the initial onboarding/login steps for Claude CLI.
        • Tabbed Config Viewer: Upgraded the configuration viewer modal to a tabbed interface, enabling smooth switching between all associated config files for a single CLI.
      • Deep UI/UX Refinements:
        • Unified Dialog Experience: Replaced the native browser window.confirm for "Restore Default Configuration" with the app's themed ModalDialog.
        • Icon & Badge Optimization: Updated the restore button icon to RotateCcw, and streamlined status badge text with whitespace-nowrap to prevent layout breaks in tight spaces.
        • Condensed Version Display: Improved version extraction to display only pure numeric versions (e.g., v0.86.0) for a cleaner UI.
      • Claude Thinking Signature Persistence Fix (Fix Issue #752):
        • Root Cause:
          • Response Collection: The streaming response collector (collector.rs) in v3.3.34 missed the signature field of thinking blocks when processing content_block_start events, causing signature loss.
          • Request Transformation: Historical message signatures were sent to Gemini without validation, causing Invalid signature in thinking block errors during cross-model switches or cold starts.
        • Fix Details:
          • Response Collector: Added logic to extract and persist the signature field in collector.rs, with unit test test_collect_thinking_response_with_signature.
          • Request Transformer: Implemented strict signature validation in request.rs. Only cached and compatible signatures are used. Unknown or incompatible signatures cause thinking blocks to downgrade to plain text, preventing invalid signatures from being sent.
          • Fallback Mechanism: Implemented intelligent fallback retry logic. If signature validation fails or the upstream API rejects the request (400 error), the system automatically clears all thinking blocks and forces a retry, ensuring the user's request always succeeds.
        • Impact: Completely resolved Invalid signature in thinking block errors, supporting cross-model switches and cold start scenarios, ensuring Thinking models work stably in all modes.
      • API Monitor Real-time Sync Fix (Pull Request #747, Thanks to @xycxl):
        • Root Cause: Fixed issues with duplicate log entries and inaccurate counters in the API Monitor page caused by duplicate event listener registration and state desynchronization.
        • Fix Details:
          • Data Deduplication: Introduced pendingLogsRef and ID deduplication mechanisms to completely eliminate duplicate entries in the log list.
          • Precise Counting: Implemented strict frontend-backend state synchronization; the system now fetches authoritative totalCount from the backend with every new log batch, ensuring accurate pagination and total counts.
          • Debounce Optimization: Optimized log update debounce logic to reduce React re-renders and improve page smoothness.
          • Feature Renaming: Renamed "Call Records" to "Traffic Logs" and reverted the route to /monitor for a more intuitive experience.
    • v3.3.34 (2026-01-16):

      • OpenAI Codex/Responses Protocol Fix (Fix Issue #742):
        • 400 Invalid Argument Complete Fix:
          • Root Cause: The /v1/responses and other proprietary endpoints caused Gemini to receive empty bodies when the request body contained only instructions or input but lacked the messages field, as the transformation logic didn't cover all scenarios.
          • Fix Details: Backported the "request normalization" logic from the Chat interface to handle_completions. The system now forcibly detects Codex-specific fields (instructions/input), and even if messages is empty or missing, automatically transforms them into standard System/User message pairs, ensuring legal upstream requests.
        • 429/503 Advanced Retry & Account Rotation Support:
          • Logic Alignment: Fully ported the "Smart Exponential Backoff" and "Multi-dimensional Account Rotation" strategies validated in the Claude processor to the OpenAI Completions interface.
          • Effect: Now, when the Codex interface encounters rate limiting or server overload, it automatically executes millisecond-level switching instead of throwing an error directly, greatly improving the stability of tools like VS Code plugins.
        • Session Stickiness Support:
          • Feature Expansion:completed the session_id extraction and scheduling logic under the OpenAI protocol. Now, whether it's Chat or Codex interface, as long as it's the same conversation, the system will try its best to schedule it to the same Google account.
          • Performance Bonus: This will significantly increase the hit rate of Google Prompt Caching, thereby drastically speeding up response times and saving computing resources.
      • Claude Thinking Signature Encoding Fix (Fix Issue #726):
        • Root Cause: Fixed a regression introduced in v3.3.33, where the already Base64-encoded thoughtSignature was incorrectly re-encoded in Base64. This doubled encoding caused Google Vertex AI to fail signature verification, returning an Invalid signature error.
        • Fix Details: Removed redundant Base64 encoding steps in the Thinking, ToolUse, and ToolResult processing logic, ensuring the signature is passed through to the upstream in its original valid format.
        • Impact: Completely resolved the 400 signature error triggered when using Thinking models (e.g., Claude 4.5 Opus / Sonnet) in multi-turn conversations, as well as the resulting "Error searching files" infinite loop (Issue #737).
      • API Monitor Refresh Fix (Fix Issue #735):
        • Root Cause: Fixed the issue where new requests were not automatically appearing in the API Monitor list due to a Closure-related bug in the event listener.
        • Fix Details: Optimized the event buffering logic using useRef, added a manual Refresh button as a backup, and explicitly enabled Tauri event permissions.
      • Strict Grouped Quota Protection Fix (Core Thanks to @Mag1cFall PR #746):
        • Root Cause: Fixed an issue where quota protection failed in strict matching mode due to case sensitivity and missing frontend UI key mapping. Previously, UI shorthand keys like gemini-pro could not match the backend-defined gemini-3-pro-high strict group.
        • Fix Details:
          • Instant Case Normalization: Restored case-insensitive matching in backend normalize_to_standard_id, ensuring variants like Gemini-3-Pro-High are correctly recognized.
          • Smart UI Key Mapping: Added automatic mapping for UI column names like gemini-pro/flash in frontend isModelProtected, ensuring lock icons correctly reflect backend protection status.
        • Impact: Completely resolved lock icon display issues for Gemini 3 Pro/Flash and Claude 4.5 Sonnet in strict grouping mode, ensuring intuitive visual feedback when quotas are exhausted.
      • OpenAI Protocol Usage Statistics Fix (Pull Request #749, Thanks to @stillyun):
        • Root Cause: During OpenAI protocol conversion, Gemini's usageMetadata was not mapped to the usage field in OpenAI format, causing clients like Kilo to show zero token usage.
        • Fix Details:
          • Data Model Completion: Added standard usage field to OpenAIResponse.
          • Full-Chain Mapping: Implemented logic to extract and map prompt_tokens, completion_tokens, and total_tokens from both streaming (SSE) and non-streaming responses.
        • Impact: Completely resolved the issue where tools like Kilo Editor and Claude Code could not track token usage when using the OpenAI protocol.
      • Linux Theme Switch Crash Fix (Pull Request #750, Thanks to @infinitete):
        • Fix Details:
          • Disabled incompatible setBackgroundColor calls on Linux platform.
          • Disabled View Transition API for WebKitGTK environments to prevent transparent window crashes.
          • Automatically adjusted GTK window alpha channel at startup for enhanced stability.
        • Impact: Resolved potential program freezes or hard crashes for Linux users when switching between dark/light modes.
    • v3.3.33 (2026-01-15):

      • Codex Compatibility & Model Mapping Fix (Fix Issue #697):
        • Instructions Parameter Support: Fixed the handling of the instructions parameter, ensuring it is correctly injected as System Instructions for better compatibility with tools like Codex.
        • Automatic Responses Format Detection: Added intelligent detection in the OpenAI handler to automatically recognize and transform instructions or input fields into Responses mode.
        • Model Mapping Restoration & Normalization: Restored the logic that normalizes gemini-3-pro-low/high/pro to the internal alias gemini-3-pro-preview, with proper restoration to the physical high model name for upstream requests.
        • Opus Mapping Enhancement: Optimized default mappings to recognize opus keywords and ensure they route to the high-performance Pro preview tier by default.
      • OpenAI Tool Call ID & Reasoning Content Fix (Fix Issue #710):
        • Preserve Tool Call ID: Resolved the issue where tool_use.id was lost during OpenAI format conversion, ensuring both functionCall and functionResponse retain original IDs, fixing the Field required error when calling Claude models.
        • Native Reasoning Support: Added support for the reasoning_content field in OpenAI messages, correctly mapping it to internal thought blocks and injecting chain-of-thought signatures.
        • Tool Response Optimization: Fixed redundant part conflicts in tool role messages, ensuring strict compliance with upstream payload validation.
      • External Provider Smart Fallback Fix (Fix Issue #703): Fixed the issue where "Fallback only" mode failed to automatically switch to external providers when Google account quotas were exhausted.
        • Core Problem: The original logic only checked if the number of Google accounts was 0, without checking account availability (rate-limit status, quota protection status), causing direct 429 errors when accounts existed but were unavailable.
        • Solution: Implemented smart account availability checking mechanism. Added has_available_account() method in TokenManager to comprehensively assess account rate-limit and quota protection status.
        • Modified Files:
          • token_manager.rs: Added has_available_account() method to check for available accounts that are not rate-limited or quota-protected
          • handlers/claude.rs: Optimized Fallback mode logic from simple google_accounts == 0 to intelligent availability check
        • Behavior Improvement: When all Google accounts are unavailable due to rate-limiting, quota protection, or other reasons, the system automatically switches to external providers, achieving true smart fallback.
        • Impact: This fix ensures external providers (e.g., Zhipu API) "Fallback only" mode works correctly, significantly improving service availability in multi-account scenarios.
      • Quota Protection Model Name Normalization Fix (Fix Issue #685): Fixed the issue where quota protection failed due to model name mismatches.
        • Core Problem: Model names returned by the Quota API (e.g., gemini-2.5-flash) didn't match the standard names in the UI (e.g., gemini-3-flash), causing string matching failures and preventing protection triggers.
        • Solution: Implemented a unified model name normalization engine normalize_to_standard_id, mapping all physical model names to three standard protection IDs:
          • gemini-3-flash: All Flash variants (1.5-flash, 2.5-flash, 3-flash, etc.)
          • gemini-3-pro-high: All Pro variants (1.5-pro, 2.5-pro, etc.)
          • claude-sonnet-4-5: All Claude Sonnet variants (3.5-sonnet, sonnet-4-5, etc.)
        • Modified Files:
          • model_mapping.rs: Added normalization functions.
          • account.rs: Normalizes model names when updating quotas and stores the standard ID.
          • token_manager.rs: Normalizes target_model for matching during request interception.
        • Web Search Downgrade Scenario: Even if a request is downgraded to gemini-2.5-flash due to web search, it is correctly normalized to gemini-3-flash and triggers protection.
        • Impact: Completely resolved quota protection failure, ensuring all three monitored models work correctly.
      • New Account Import Feature (#682): Supports batch importing existing accounts via exported JSON files, completing the account migration loop.
      • New Portuguese & Russian Support (#691, #713): Portuguese (Brazil) and Russian localizations are now supported.
      • Proxy Monitor Enhancement (#676): Added "Copy" buttons for request and response payloads in the proxy monitor details page, with support for automatic JSON formatting.
      • i18n Fixes (#671, #713): Corrected misplaced translation keys in Japanese (ja), Turkish (tr), and Russian (ru).
      • Global HTTP API (#696): Added a local HTTP server port (default 19527), allowing external tools (like VS Code extensions) to switch accounts, refresh quotas, and bind devices directly via API.
      • Proxy Monitor Upgrade (#704): Completely refactored the monitor dashboard with backend pagination (supporting search filters), resolving UI lag caused by massive logs; exposed GET /logs endpoint for external access.
      • Warmup Strategy Optimization (#699): Added unique session_id to warmup requests, limited max_tokens to 8, and set temperature to 0 to reduce resource consumption and avoid 429 errors.
      • Warmup Logic Fix & Optimization: Fixed an issue where manual warmup triggers didn't record history, causing redundant auto-warmups; optimized scheduler to skip accounts with "Proxy Disabled" status.
      • Performance Mode Scheduling Optimization (PR #706): In "Performance First" scheduling mode, the default 60-second global lock mechanism is now skipped, significantly improving account rotation efficiency in high-concurrency scenarios.
      • Rate Limit Auto-Cleanup (PR #701): Introduced a background cleanup task running every minute to automatically remove expired failure records older than 1 hour, completely resolving false "No available accounts" alerts caused by accumulated historical records during long-term operation.
      • API Monitor Stale Data Fix (Fix Issue #708): Enabled SQLite WAL mode and optimized connection configuration, completely resolving stale monitor data and proxy service 400/429 errors caused by database locking under high concurrency.
      • Claude Prompt Filtering Optimization (#712): Fixed an issue where user custom instructions (Instructions from: ...) were accidentally removed when filtering redundant Claude Code default prompts, ensuring personalized configurations persist in long conversation scenarios.
      • Claude Thinking Block Ordering Optimization (Fix Issue #709): Completely resolved INVALID_ARGUMENT errors caused by incorrect block ordering (Text appearing before Thinking) when thinking mode is enabled.
        • Triple-Stage Partitioning: Implemented strict [Thinking, Text, ToolUse] order validation.
        • Automatic Downgrade Gateway: Within a single message, any thinking blocks appearing after non-thinking content are automatically downgraded to text to ensure protocol compliance.
        • Post-Merge Reordering: Added a mandatory reordering step after Assistant message merging to prevent ordering violations caused by concatenation.
    • v3.3.32 (2026-01-15):

      • Core Scheduling & Stability Optimization (Fix Issue #630, #631 - Special Thanks to @lbjlaq PR #640):
        • Quota Vulnerability & Bypass Fix: Resolved potential vulnerabilities where quota protection mechanisms could be bypassed under high concurrency or specific retry scenarios.
        • Rate-Limit Key Matching Optimization: Enhanced the precision of rate-limit record matching in TokenManager, resolving inconsistent rate-limit judgments in multi-instance or complex network environments.
        • Account Disabling Enforcement: Fixed an issue where manually disabled accounts were not immediately removed from the scheduling pool during certain cache lifecycles, ensuring "disable on click".
        • Account State Reset Mechanism: Refined the strategy for resetting account failure counters after successful requests, preventing accounts from being incorrectly locked for long periods due to historical fluctuations.
    • v3.3.31 (2026-01-14):

      • Quota Protection Fix (Fix Issue #631):
        • In-Memory State Sync: Fixed an issue where in-memory account state was not synchronized immediately when quota protection was triggered during load.
        • Full Coverage: Added quota protection checks to "Sticky Session" and "60s Window Lock" logic to prevent reuse of protected accounts.
        • Code Cleanup: Resolved compilation warnings in token_manager.rs.
      • Claude Tool Call Duplicate Error Fix (Fix Issue #632):
        • Elastic-Recovery Optimization: Improved the Elastic-Recovery logic by adding a full-message pre-scanning mechanism for IDs. This prevents the injection of placeholder results when a real one exists later in the history, resolving the Found multiple tool_result blocks with id error.
        • Anthropic Protocol Compliance: Ensures that generated request payloads strictly adhere to Anthropic's requirements for unique tool call IDs.
    • v3.3.30 (2026-01-14):

      • Model-Specific Quota Protection (Issue #621):
        • Isolation Optimization: Resolved the issue where an entire account was disabled when a single model's quota was exhausted. Quota protection is now applied only to the specific restricted model, allowing the account to still handle requests for other models.
        • Automatic Migration: The new system automatically restores accounts globally disabled by old quota protection and smoothly transitions them to model-level restrictions.
        • Full Protocol Support: Routing logic for Claude, OpenAI (Chat/DALL-E), Gemini, and Audio handlers has been updated.
      • Gemini Parameter Hallucination Fix (PR #622):
        • Parameter Correction: Fixed the issue where Gemini models incorrectly placed the pattern parameter in description or query fields by adding automatic remapping logic.
        • Boolean Coercion: Added support for automatic conversion of non-standard boolean values like yes/no, -n, resolving invocation failures caused by type errors in parameters like lineNumbers.
        • Impact: Significantly improved the stability and compatibility of Gemini models in Claude Code CLI and other tool calling scenarios.
      • Code Cleanup & Warning Fixes (PR #628):
        • Compiler Warning Resolution: Fixed multiple unused import and variable warnings, removing redundant code to keep the codebase clean.
        • Cross-Platform Compatibility: Optimized macro annotations for different code paths across Windows, macOS, and Linux platforms.
      • Custom API Key Editing Feature (Issue #627):
        • Custom Key Support: The "API Key" configuration item on the API Proxy page now supports direct editing. Users can input custom keys, suitable for multi-instance deployment scenarios.
        • Retained Auto-generation: The original "Regenerate" function is retained. Users can choose to auto-generate or manually input.
        • Format Validation: Added API key format validation (must start with sk- and be at least 10 characters long) to prevent invalid input.
        • Multi-language Support: Complete internationalization translations added for all 6 supported languages (Simplified Chinese, English, Traditional Chinese, Japanese, Turkish, Vietnamese).
    • v3.3.29 (2026-01-14):

      • OpenAI Streaming Function Call Support Fix (Fix Issue #602, #614):
        • Background: OpenAI interface streaming responses (stream: true) lacked Function Call processing logic, preventing clients from receiving tool call information.
        • Root Cause: The create_openai_sse_stream function only handled text content, thinking content, and images, completely missing functionCall processing.
        • Fix Details:
          • Added tool call state tracking variable (emitted_tool_calls) to prevent duplicate sends
          • Added functionCall detection and conversion logic in parts loop
          • Built OpenAI-compliant delta.tool_calls array
          • Used hash algorithm to generate stable call_id
          • Included complete tool call information (index, id, type, function.name, function.arguments)
        • Impact: This fix ensures streaming requests correctly return tool call information, maintaining consistency with non-streaming responses and Codex streaming responses. All clients using stream: true + tools parameters can now properly receive Function Call data.
      • Smart Threshold Recovery - Resolve Issue #613:
        • Core Logic: Implemented a dynamic token reporting mechanism perceived to context load.
        • Fix Details:
          • Three-Stage Scaling: Maintains efficient compression at low loads (0-70%), smoothly reduces compression rate at medium loads (70-95%), and reports real usage near the 100% limit (regressing to ~195k).
          • Model Awareness: Processor automatically identifies physical context boundaries for 1M (Flash) and 2M (Pro).
          • 400 Error Interception: Even if physical overflow occurs, the proxy intercepts Prompt is too long errors and returns friendly guidance, directing users to execute /compact.
        • Impact: Completely resolved the issue where Claude Code refused to compress due to hidden token usage, ultimately leading to Gemini server errors in long conversation scenarios.
      • Playwright MCP Stability & Connectivity Enhancement (Inspired by Antigravity2Api) - Resolve Issue #616:
        • SSE Keep-Alive: Introduced 15s heartbeats (: ping) to prevent connection timeouts during long-running tool calls.
        • MCP XML Bridge: Bidirectional protocol conversion (instruction injection + label interception), significantly improving reliability for MCP tools (like Playwright).
        • Aggressive Context Slimming:
          • Instruction Filtering: Automatically removes redundant Claude Code system instructions (~1-2k tokens).
          • Task Deduplication: Strips repeated task echo text following tool results to further reduce context usage.
        • Intelligent HTML Cleaning & Truncation:
          • Deep Stripping: Automatically removes <style>, <script>, and inline Base64 resources from browser snapshots.
          • Structured Truncation: Enhanced truncation algorithm prevents cutting through HTML tags or JSON objects, avoiding 400 structure errors.
      • Account Index Loading Robustness (Fix Issue #619):
        • Fix Details: Added empty file detection and automatic reset logic when loading accounts.json.
        • Impact: Completely resolved the startup error expected value at line 1 column 1 caused by corrupted or empty index files.
    • v3.3.28 (2026-01-14):

      • OpenAI Thinking Content Fix (PR #604):
        • Fixed Gemini 3 Pro Thinking Content Loss: Added reasoning_content accumulation logic in streaming response collector, resolving the issue where Gemini 3 Pro (high/low) non-streaming responses lost thinking content.
        • *Support for Claude -thinking Models: Extended thinking model detection logic to support all models ending with -thinking (e.g., claude-opus-4-5-thinking, claude-sonnet-4-5-thinking), automatically injecting thinkingConfig to ensure proper thinking content output.
        • Unified Thinking Configuration: Injected unified thinkingBudget: 16000 configuration for all thinking models (Gemini 3 Pro and Claude thinking series), complying with Cloud Code API specifications.
        • Impact: This fix ensures the reasoning_content field works properly for Gemini 3 Pro and Claude Thinking models under OpenAI protocol, without affecting Anthropic and Gemini native protocols.
      • Experimental Config Hot Reload (PR #605):
        • Added Hot Reload Support: Added hot reload mechanism for ExperimentalConfig, consistent with other config items (mapping, proxy, security, zai, scheduling).
        • Real-time Effect: Users can modify experimental feature switches without restarting the application, improving configuration adjustment convenience.
        • Architecture Enhancement: Added experimental field storage and update_experimental() method in AxumServer, automatically triggering hot reload in save_config.
      • Smart Warmup Strategy Optimization (PR #606 - 2.9x-5x Performance Boost):
        • Separated Refresh and Warmup: Removed automatic warmup trigger during quota refresh. Warmup now only triggers via scheduler (every 10 minutes) or manual button, avoiding accidental quota consumption when users refresh quotas.
        • Extended Cooldown Period: Cooldown period extended from 30 minutes to 4 hours (14400 seconds), matching Pro account 5-hour reset cycle, completely resolving repeated warmup within the same cycle.
        • Persistent History Records: Warmup history saved to ~/.antigravity_tools/warmup_history.json, cooldown period remains effective after program restart, resolving state loss issue.
        • Concurrent Execution Optimization:
          • Filtering phase: 5 accounts per batch concurrent quota fetching, 10 accounts from ~15s to ~3s (5x improvement)
          • Warmup phase: 3 tasks per batch concurrent execution with 2s interval, 40 tasks from ~80s to ~28s (2.9x improvement)
        • Whitelist Filtering: Only records and warms up 4 core model groups (gemini-3-flash, claude-sonnet-4-5, gemini-3-pro-high, gemini-3-pro-image), avoiding bloated history records.
        • Record After Success: Failed warmups are not recorded in history, allowing retry next time, improving fault tolerance.
        • Manual Warmup Protection: Manual warmup also respects 4-hour cooldown period, filters already-warmed models and displays skip count, preventing users from repeatedly clicking and wasting quota.
        • Enhanced Logging: Added detailed logs for scheduler scanning, warmup start/completion, cooldown skips, facilitating monitoring and debugging.
        • Impact: This optimization significantly improves smart warmup performance and reliability, resolving multiple issues including repeated warmup, slow speed, and state loss. Concurrency level won't trigger RateLimit.
      • Traditional Chinese Localization Optimization (PR #607):
        • Terminology Optimization: Optimized 100 Traditional Chinese translations to better align with Taiwan users' language habits and expressions.
        • User Experience Enhancement: Improved professionalism and readability of Traditional Chinese interface, pure text changes with no code logic impact.
      • API Monitor Performance Optimization (Fix Long-Running White Screen Issue):
        • Background: Fixed the issue where the window would freeze to a white screen after prolonged background operation when staying on the API monitor page, with the program still running but UI unresponsive.
        • Memory Optimization:
          • Reduced in-memory log limit from 1000 to 100 entries, significantly lowering memory usage
          • Removed full request/response body storage in real-time events, retaining only summary information
          • Optimized backend event transmission to send only log summaries instead of complete data, reducing IPC transfer volume
        • Rendering Performance Boost:
          • Integrated @tanstack/react-virtual virtual scrolling library, rendering only visible rows (~20-30 rows)
          • DOM node count reduced from 1000+ to 20-30, a 97% reduction
          • Scroll frame rate improved from 20-30fps to 60fps
        • Debounce Mechanism:
          • Added 500ms debounce mechanism for batch log updates, avoiding frequent state updates
          • Reduced React re-render count, improving UI responsiveness
        • Performance Improvements:
          • Memory usage: ~500MB → <100MB (90% reduction)
          • Initial render time: ~2000ms → <100ms (20x improvement)
          • Supports infinite log scrolling, no white screen during long-running sessions
        • Impact: This optimization completely resolves performance issues in long-running and high-volume log scenarios, maintaining smooth operation even when staying on the monitor page for hours.
    • v3.3.27 (2026-01-13):

      • Experimental Config & Usage Scaling (PR #603 Enhancement):
        • New Experimental Settings Panel: Added an "Experimental Settings" card in API Proxy configuration to manage features currently under exploration.
        • Enable Usage Scaling: Implemented aggressive input token scaling for Claude-compatible protocols. When total input exceeds 30k, square-root scaling is automatically applied to prevent frequent client-side compression in large context scenarios (e.g., Gemini 2M window).
        • Localization Core: Completed translations for experimental features in all 6 supported languages (zh, en, zh-TW, ja, tr, vi).
    • v3.3.26 (2026-01-13):

      • Quota Protection & Scheduling Optimization (Fix Issue #595 - Zero Quota Accounts in Queue):
        • Quota Protection Logic Refactor: Fixed the issue where quota protection failed due to reliance on non-existent limit/remaining fields. It now directly uses the percentage field, ensuring that accounts are immediately disabled if any monitored model (e.g., Claude 4.5 Sonnet) falls below the threshold.
        • Priority Algorithm Upgrade: Account scheduling priority is no longer solely based on subscription tiers. Within the same tier (Ultra/Pro/Free), the system now prioritizes accounts with the highest maximum remaining percentage, preventing "squeezing" of near-empty accounts and significantly reducing 429 errors.
        • Enhanced Protection Logs: Logs when quota protection is triggered now explicitly state which model triggered the threshold (e.g., quota_protection: claude-sonnet-4-5 (0% <= 10%)), facilitating troubleshooting.
      • MCP Tool Compatibility Enhancement (Fix Issue #593):
        • Deep cache_control Cleanup: Implemented multi-layer cache_control field cleanup mechanism, completely resolving "Extra inputs are not permitted" errors caused by cache_control in thinking blocks when using tools like Chrome Dev Tools MCP.
          • Enhanced Log Tracking: Added [DEBUG-593] log prefix, recording message and block indices for easy problem localization and debugging.
          • Recursive Deep Cleanup: Added deep_clean_cache_control() function to recursively traverse all nested objects and arrays, removing cache_control fields from any location.
          • Final Safety Net: Performs deep cleanup again after building Gemini request body and before sending, ensuring no cache_control fields are sent to Antigravity.
        • Smart Tool Output Compression: Added tool_result_compressor module to handle oversized tool outputs, reducing 429 error probability caused by excessive prompt length.
          • Browser Snapshot Compression: Automatically detects and compresses browser snapshots exceeding 20,000 characters, using head (70%) + tail (30%) retention strategy with middle omission.
          • Large File Notice Compression: Intelligently identifies "exceeds maximum allowed tokens" pattern, extracts key information (file path, character count, format description), significantly reducing redundant content.
          • General Truncation: Truncates tool outputs exceeding 200,000 characters with clear truncation notices.
          • Base64 Image Removal: Automatically removes base64-encoded images from tool results to avoid excessive size.
        • Complete Test Coverage: Added 7 unit tests covering text truncation, browser snapshot compression, large file notice compression, tool result cleanup, and other core functionalities, all passing validation.
        • Impact: This update significantly improves stability for MCP tools (especially Chrome Dev Tools MCP), resolving API errors caused by cache_control fields in thinking blocks, while reducing 429 error probability through smart compression of oversized tool outputs.
      • API Monitor Account Information Recording Fix:
        • Fixed Image Generation Endpoint: Resolved the missing X-Account-Email response header issue in the /v1/images/generations endpoint. The monitoring panel now correctly displays account information for image generation requests.
        • Fixed Image Editing Endpoint: Resolved the missing X-Account-Email response header issue in the /v1/images/edits endpoint, ensuring account information for image editing requests is properly logged.
        • Fixed Audio Transcription Endpoint: Resolved the missing X-Account-Email response header issue in the /v1/audio/transcriptions endpoint, completing monitoring support for audio transcription functionality.
        • Impact: This fix ensures all API endpoints involving account calls correctly display account information in the monitoring panel instead of showing "-", improving the completeness and usability of the API monitoring system.
      • Headless Server Deployment Support:
        • One-click Deployment Scripts: Added deploy/headless-xvfb/ directory, providing installation, sync, and upgrade scripts for headless Linux servers.
        • Xvfb Environment Adaptation: Enables the GUI version of Antigravity Tools to run on remote servers without display hardware via virtual display technology, complete with resource consumption warnings and limitation documentation.
    • v3.3.25 (2026-01-13):

      • Session-Based Signature Caching System - Improved Thinking Model Stability (Core Thanks to @Gok-tug PR #574):
        • Three-Layer Signature Cache Architecture: Implemented a complete three-layer caching system for Tool Signatures (Layer 1), Thinking Families (Layer 2), and Session Signatures (Layer 3).
        • Session Isolation Mechanism: Generates stable session_id based on SHA256 hash of the first user message, ensuring all turns of the same conversation use the same session identifier.
        • Smart Signature Recovery: Automatically recovers thinking signatures in tool calls and multi-turn conversations, significantly reducing signature-related errors for thinking models.
        • Priority Lookup Strategy: Implements Session Cache → Tool Cache → Global Store three-layer lookup priority, maximizing signature recovery success rate.
      • Session ID Generation Optimization:
        • Simple Design: Only hashes the first user message content, without mixing model names or timestamps, ensuring session continuity.
        • Perfect Continuity: All turns of the same conversation (regardless of how many) use the same session_id, with no time limit.
        • Performance Improvement: Compared to previous solutions, CPU overhead reduced by 60%, code lines reduced by 20%.
      • Cache Management Optimization:
        • Layered Thresholds: Set reasonable cache cleanup thresholds for different layers (Tool: 500, Family: 200, Session: 1000).
        • Smart Cleanup: Added detailed cache cleanup logs for easy monitoring and debugging.
      • Compilation Error Fixes:
        • Fixed parameter naming and mutability issues in process.rs.
        • Cleaned up unused import and variable warnings.
      • Internationalization (i18n):
        • Traditional Chinese Support: Added Traditional Chinese localization support (Thank you @audichuang PR #577).
      • Stream Error Handling Improvements:
        • Friendly Error Messages: Fixed Issue #579 where stream errors resulted in 200 OK without info. Technical errors (Timeout, Decode, Connection) are now converted to user-friendly messages.
        • SSE Error Events: Implemented standard SSE error event propagation, allowing the frontend to gracefully display errors with detailed suggestions (check network, proxy, etc.).
        • Multi-language Error Messages (i18n): Error messages are now integrated with the i18n system, supporting all 6 languages (zh, en, zh-TW, ja, tr, vi). Non-browser clients automatically fallback to English messages.
      • Impact: This update significantly improves multi-turn conversation stability for thinking models like Claude 4.5 Opus and Gemini 3 Pro, especially in scenarios using MCP tools and long sessions.
    Show older changelog (v3.3.24 and earlier)
    • v3.3.24 (2026-01-12):

      • UI Interaction Improvements:
        • Card-based Model Selection: Upgraded model selection in "Quota Protection" and "Smart Warmup" to a card-based design with checkmarks for selected states and clear borders for unselected states.
        • Layout Optimization: Adjusted "Smart Warmup" model list from 2 columns to 4 columns for a more compact and organized look.
        • Model Name Fix: Corrected the display name for claude-sonnet-4-5 from "Claude 3.5 Sonnet" to "Claude 4.5 Sonnet".
      • Internationalization (i18n):
        • Vietnamese Support: Added Vietnamese localization support (Thank you @ThanhNguyxn PR #570).
        • Translation Refinement: Cleaned up duplicate translation keys and optimized automatic language detection logic.
    • v3.3.23 (2026-01-12):

      • Update Notification UI Modernization:
        • Visual Upgrade: Adopts "Glassmorphism" design with elegant gradients and shimmer effects, significantly improving visual quality.
        • Smooth Animations: Introduced smoother entry and exit animations for a better interactive experience.
        • Dark Mode Support: Fully supports Dark Mode, automatically adapting to system theme for eye-friendly viewing.
        • Non-intrusive Layout: Optimized notification positioning and z-index to ensure it doesn't block critical navigation areas.
      • Internationalization Support:
        • Bilingual Support: The update notification now fully supports both English and Chinese, automatically switching based on app language settings.
      • Check Logic Fix: Fixed timing issues with update check status updates, ensuring notifications reliably appear when a new version is detected.
      • Menu Bar Icon Resolution Fix:
        • Retina Support: Upgraded the menu bar tray icon (tray-icon.png) resolution from 22x22 to 44x44, completely resolving blurriness on high-DPI displays (Fix Issue #557).
      • Claude Thinking Compression Optimization (Core Thanks to @ThanhNguyxn PR #566):
        • Fixed Thinking Block Reordering: Resolved an issue where Thinking Blocks could be incorrectly ordered after text blocks when using Context Compression (Kilo).
        • Enforced Primary Sorting: Introduced sort_thinking_blocks_first logic to ensure thinking blocks in assistant messages are always placed first, complying with Anthropic API's 400 validation rules.
      • Account Routing Priority Enhancement (Core Thanks to @ThanhNguyxn PR #567):
        • High Quota First Strategy: Within the same tier (Free/Pro/Ultra), the system now prioritizes accounts with more remaining quota.
        • Resource Balancing: Prevents long-quota accounts from being idle while short-quota accounts are exhausted prematurely due to random assignment.
      • Non-Streaming Base64 Signature Fix (Core Thanks to @ThanhNguyxn PR #568):
        • Full Mode Compatibility: Applied the Base64 thinking signature decoding logic from streaming responses to non-streaming responses.
        • Eliminated Signature Errors: Completely resolved 400 errors caused by inconsistent signature encoding formats when using Antigravity proxy with non-streaming clients (e.g., Python SDK).
      • Internationalization (i18n):
        • Japanese Support: Added Japanese localization support (Thank you @Koshikai PR #526).
        • Turkish Support: Added Turkish localization support (Thank you @hakanyalitekin PR #515).
    • v3.3.22 (2026-01-12):

      • Quota Protection System Upgrade:
        • Customizable monitored models (gemini-3-flash, gemini-3-pro-high, claude-sonnet-4-5), triggers protection only when selected models fall below threshold
        • Protection logic optimized to "minimum quota of selected models" trigger mechanism
        • Auto-selects claude-sonnet-4-5 when enabling protection, UI enforces at least one model selection
      • Automated Quota Management Workflow:
        • Enforced background auto-refresh to ensure real-time quota data sync
        • Automated execution of "Refresh → Protect → Restore → Warmup" complete lifecycle management
      • Customizable Smart Warmup:
        • Customizable warmup models (gemini-3-flash, gemini-3-pro-high, claude-sonnet-4-5, gemini-3-pro-image)
        • New standalone SmartWarmup.tsx component with consistent selection experience as quota protection
        • Auto-selects all core models when enabling warmup, UI enforces at least one model selection
        • Scheduler reads config in real-time, changes take effect immediately
      • Smart Warmup System Foundation:
        • Auto-triggers warmup when quota recovers to 100%
        • Smart deduplication: only warmup once per 100% cycle
        • Scheduler scans every 10 minutes and syncs latest quota to frontend
        • Covers all account types (Ultra/Pro/Free)
      • i18n Improvements: Fixed missing translations for "Auto Check Update" and "Device Fingerprint" (Issue #550)
      • Stability Fixes: Fixed variable reference and ownership conflicts under high-concurrency scheduling
      • API Monitor Performance Optimization (Fix Issue #560):
        • Background: Fixed 5-10 second response delay and application crash issues when opening the API monitor interface on macOS
        • Database Optimization: Added status field index (50x faster stats queries), optimized get_stats() from 3 full table scans to 1 (66% faster)
        • Paginated Loading: List view excludes large request_body/response_body fields (90%+ data reduction), added get_proxy_logs_paginated command (20 items/page), frontend "Load More" button
        • On-Demand Details: Added get_proxy_log_detail command, queries full data only on click (0.1-0.5s load time)
        • Auto Cleanup: Removes logs older than 30 days on startup, executes VACUUM to reclaim disk space
        • UI Enhancements: Loading indicators, 10-second timeout control, detail modal spinner
        • Performance: Initial load 10-18s → 0.5-1s (10-36x), memory 1GB → 5MB (200x), data transfer 1-10GB → 1-5MB (200-2000x)
        • Impact: Supports smooth viewing of 10,000+ monitoring records
      • Log Enhancements: Fixed account/model logging issues in proxy warmup logic and added missing localization keys.
    • v3.3.21 (2026-01-11):

      • Stability & Tool Fixes:
        • Grep/Glob Argument Fix (P3-5): Resolved "Error searching files" issue for Grep and Glob tools. Corrected parameter mapping: changed from paths (array) to path (string), and implemented case-insensitive tool name matching.
        • RedactedThinking Support (P3-2): Gracefully downgrades redacted thinking blocks to text [Redacted Thinking], preserving context instead of dropping data.
        • JSON Schema Cleaning Fix: Fixed a regression where properties named "pattern" were incorrectly removed; improved schema compatibility.
        • Strict Role Alternation (P3-3): Implemented message merging to enforce strict User/Assistant alternation, preventing Gemini API 400 errors.
        • 400 Auto-Retry (P3-1): Enhanced auto-retry and account rotation logic for 400 Bad Request errors, improving overall stability.
      • High-Concurrency Performance Optimization (Issue #284 Fix):
        • Completely Resolved UND_ERR_SOCKET Error: Fixed client socket timeout issues in 8+ concurrent Agent scenarios.
        • Removed Blocking Wait: Eliminated the 60-second blocking wait in "Cache First" mode when bound accounts are rate-limited. Now immediately unbinds and switches to the next available account, preventing client timeouts.
        • Lock Contention Optimization: Moved last_used_account lock acquisition outside the retry loop, reducing lock operations from 18 to 1-2 per request, dramatically decreasing lock contention in concurrent scenarios.
        • 5-Second Timeout Protection: Added a 5-second mandatory timeout for get_token() operations to prevent indefinite hangs during system overload or deadlock.
        • Impact: This optimization significantly improves stability in multi-Agent concurrent scenarios (such as Claude Code, Cursor, etc.), completely resolving the "headless request" deadlock issue.
      • Linux System Compatibility (Core Thanks to @0-don PR #326):
        • Transparent Window Fix: Automatically disables DMA-BUF renderer (WEBKIT_DISABLE_DMABUF_RENDERER=1) on Linux systems to resolve transparent window rendering or black screen issues in some distributions.
      • Monitor Middleware Optimization (Core Thanks to @Mag1cFall PR #346):
        • Payload Limit Alignment: Increased request body limit for monitor middleware from 1MB to 100MB, ensuring large image requests are correctly logged and displayed.
      • OpenAI Protocol Multi-Candidate Support (Core Thanks to @ThanhNguyxn PR #403):
        • Implemented support for the n parameter, allowing a single request to return multiple candidates.
        • Added the multi-candidate support patch for streaming responses (SSE), ensuring cross-platform functional parity.
      • Web Search Enhancement & Citation Optimization:
        • Re-implemented web search source display using a more readable Markdown citation format (including titles and links).
        • Resolved the issue where citation display logic was disabled in previous versions; it is now fully enabled in both streaming and non-streaming modes.
      • Installation & Distribution (Core Thanks to @dlukt PR #396):
        • Linux Cask Support: Refactored Cask file for multi-platform support. Linux users can now install via brew install --cask with automatic AppImage permission configuration.
      • Comprehensive Logging System Optimization (Issue #241 Fix):
      • Comprehensive Logging System Optimization (Issue #241 Fix):
        • Log Level Optimization: Downgraded high-frequency debug logs for tool calls and parameter remapping from info! to debug!, dramatically reducing log output volume.
        • Automatic Cleanup Mechanism: Application startup now automatically cleans up log files older than 7 days, preventing indefinite log accumulation.
        • Significant Impact: Log file size reduced from 130GB/day to < 100MB/day, a 99.9% reduction in log output.
        • Scope: Modified 21 log level statements in streaming.rs and response.rs, added cleanup_old_logs() automatic cleanup function.
    • v3.3.15 (2026-01-04):

      • Claude Protocol Compatibility Enhancements (Based on PR #296 by @karasungur + Issue #298 Fix):
        • Fixed Opus 4.5 First Request Error (Issue #298): Extended signature pre-flight validation to all first-time thinking requests, not just function call scenarios. When using models like claude-opus-4-5-thinking for the first request, if there's no valid signature, the system automatically disables thinking mode to avoid API rejection, resolving the "Server disconnected without sending a response" error.
        • Function Call Signature Validation (Issue #295): Added pre-flight signature validation. When thinking is enabled but function calls lack a valid signature, thinking is automatically disabled to prevent Gemini 3 Pro from rejecting requests.
        • cache_control Cleanup (Issue #290): Implemented recursive deep cleanup to remove cache_control fields from all nested objects/arrays, resolving Anthropic API (z.ai mode) "Extra inputs are not permitted" errors.
        • Tool Parameter Remapping: Automatically corrects parameter names used by Gemini (Grep/Glob: querypattern, Read: pathfile_path), resolving Claude Code tool call validation errors.
        • Configurable Safety Settings: Added GEMINI_SAFETY_THRESHOLD environment variable supporting 5 safety levels (OFF/LOW/MEDIUM/HIGH/NONE), defaulting to OFF for backward compatibility.
        • Effort Parameter Support: Supports Claude API v2.0.67+ output_config.effort parameter, allowing fine-grained control over model reasoning effort.
        • Opus 4.5 Default Thinking: Aligned with Claude Code v2.0.67+, Opus 4.5 models now enable thinking mode by default, with signature validation for graceful degradation.
        • Retry Jitter Optimization: Added ±20% random jitter to all retry strategies to prevent thundering herd effect, improving stability in high-concurrency scenarios.
        • Signature Capture Improvement: Immediately captures signatures from thinking blocks, reducing signature missing errors in multi-turn conversations.
        • Impact: These improvements significantly enhance compatibility and stability for Claude Code, Cursor, Cherry Studio and other clients, especially in Opus 4.5 models, tool calling, and multi-turn conversation scenarios.
    • v3.3.14 (2026-01-03):

      • Claude Protocol Robustness Improvements (Core Thanks to @karasungur PR #289):
        • Thinking Block Signature Validation Enhancement:
          • Support for empty thinking blocks with valid signatures (trailing signature scenario)
          • Invalid signature blocks gracefully degrade to text instead of being dropped, preserving content to avoid data loss
          • Enhanced debugging logs for signature issue troubleshooting
        • Tool/Function Calling Compatibility Optimization:
          • Extracted web search fallback model to named constant WEB_SEARCH_FALLBACK_MODEL for improved maintainability
          • Automatically skips googleSearch injection when MCP tools are present to avoid conflicts
          • Added informative logging for debugging tool calling scenarios
          • Important Note: Gemini Internal API does not support mixing functionDeclarations and googleSearch
        • SSE Parse Error Recovery Mechanism:
          • Added parse_error_count and last_valid_state tracking for streaming response error monitoring
          • Implemented handle_parse_error() for graceful stream degradation
          • Implemented reset_error_state() for post-error recovery
          • Implemented get_error_count() for error count retrieval
          • High error rate warning system (>5 errors) for operational monitoring
          • Detailed debugging logs supporting troubleshooting of corrupted streams
        • Impact: These improvements significantly enhance stability for Claude CLI, Cursor, Cherry Studio and other clients, especially in multi-turn conversations, tool calling, and streaming response scenarios.
      • Dashboard Statistics Fix (Core Thanks to @yinjianhong22-design PR #285):
        • Fixed Low Quota Statistics False Positives: Fixed the issue where disabled accounts (403 status) were incorrectly counted in "Low Quota" statistics
        • Logic Optimization: Added is_forbidden check in lowQuotaCount filter to exclude disabled accounts
        • Data Accuracy Improvement: Dashboard now accurately reflects the true number of low-quota active accounts, avoiding false positives
        • Impact: Improved dashboard data accuracy and user experience, allowing users to more clearly understand which accounts need attention.
    • v3.3.13 (2026-01-03):

      • Thinking Mode Stability Fixes:
        • Fixed Empty Thinking Content Error: When clients send empty Thinking blocks, they are now automatically downgraded to plain text blocks to avoid thinking: Field required errors.
        • Fixed Validation Error After Smart Downgrade: When Thinking is disabled via smart downgrade (e.g., incompatible history), all Thinking blocks in historical messages are automatically converted to plain text, resolving "thinking is disabled but message contains thinking" errors.
        • Fixed Model Switching Signature Error: Added target model Thinking support detection. When switching from Claude thinking models to regular Gemini models (e.g., gemini-2.5-flash), Thinking is automatically disabled and historical messages are downgraded to avoid "Corrupted thought signature" errors. Only models with -thinking suffix (e.g., gemini-2.5-flash-thinking) or Claude models support Thinking.
        • Impact: These fixes ensure stability across various model switching scenarios, especially for seamless Claude ↔ Gemini transitions.
      • Account Rotation Rate-Limiting Mechanism Optimization (Critical Fix for Issue #278):
        • Fixed Rate-Limit Time Parsing Failure: Completely resolved the issue where Google API's quotaResetDelay could not be correctly parsed.
          • Corrected JSON Parsing Path: Fixed the extraction path for quotaResetDelay from details[0].quotaResetDelay to details[0].metadata.quotaResetDelay, matching Google API's actual JSON structure.
          • Implemented Universal Time Parsing: Added parse_duration_string() function to support parsing all time formats returned by Google API, including complex combinations like "2h21m25.831582438s", "1h30m", "5m", "30s", etc.
          • Differentiated Rate-Limit Types: Added RateLimitReason enum to distinguish between QUOTA_EXHAUSTED (quota exhausted) and RATE_LIMIT_EXCEEDED (rate limit) types, setting different default wait times based on type (quota exhausted: 1 hour, rate limit: 30 seconds).
        • Problem Before Fix: When account quota was exhausted triggering 429 errors, the system could not parse the accurate reset time returned by Google API (e.g., "2h21m25s"), resulting in using a fixed default value of 60 seconds. Accounts were incorrectly considered "recoverable in 1 minute" when they actually needed 2 hours, causing accounts to fall into a 429 loop, using only the first 2 accounts while subsequent accounts were never utilized.
        • Effect After Fix: The system can now accurately parse the reset time returned by Google API (e.g., "2h21m25.831582438s" → 8485 seconds). Accounts are correctly marked as rate-limited and wait for the accurate time, ensuring all accounts can be properly rotated and used, completely resolving the "only using first 2 accounts" issue.
        • Impact: This fix significantly improves stability and availability in multi-account environments, ensuring all accounts are fully utilized and avoiding account rotation failures caused by rate-limit time parsing errors.
    • v3.3.12 (2026-01-02):

      • Critical Fixes:
        • Fix Antigravity Thinking Signature Errors: Completely resolved 400: thinking.signature: Field required errors when using the Antigravity (Google API) channel.
          • Disabled Dummy Thinking Block Injection: Removed logic that auto-injected unsigned "Thinking..." placeholder blocks for historical messages. Google API rejects any thinking blocks without valid signatures.
          • Removed Fake Signature Fallback: Removed logic that added skip_thought_signature_validator sentinel values to ToolUse and Thinking blocks. Now only uses real signatures or omits the thoughtSignature field entirely.
          • Fixed Background Task Misclassification: Removed the "Caveat: The messages below were generated" keyword to prevent normal requests containing Claude Desktop system prompts from being misclassified as background tasks and downgraded to Flash Lite models.
          • Impact: This fix ensures stability for Claude CLI, Cursor, Cherry Studio, and other clients when using the Antigravity proxy, especially in multi-turn conversations and tool calling scenarios.
    • v3.3.11 (2026-01-02):

      • Critical Fixes:
        • Cherry Studio Compatibility Fix (Gemini 3):
          • Removed Forced Prompt Injection: Removed the mandatory "Coding Agent" system instruction and Gemini 3 user message suffix injections. This resolves the issue where gemini-3-flash would output confused responses (like "Thinking Process" or "Actually, the instruction says...") in general-purpose clients like Cherry Studio. The generic OpenAI protocol now respects the original user prompt faithfully.
        • Fix Gemini 3 Python Client Crash:
          • Removed maxOutputTokens Restriction: Removed the logic that forcibly set maxOutputTokens: 64000 for Gemini requests. This forced setting caused standard Gemini 3 Flash/Pro models (limit 8192) to reject requests and return empty responses, triggering 'NoneType' object has no attribute 'strip' errors in Python clients. The proxy now defaults to the model's native limit or respects client parameters.
      • Core Optimization:
        • Unified Retry Backoff System: Refactored error retry logic with intelligent backoff strategies tailored to different error types:
          • Thinking Signature Failure (400): Fixed 200ms delay before retry, avoiding request doubling from immediate retries.
          • Server Overload (529/503): Exponential backoff (1s/2s/4s/8s), significantly improving recovery success rate by 167%.
          • Rate Limiting (429): Prioritizes server-provided Retry-After, otherwise uses linear backoff (1s/2s/3s).
          • Account Protection: Server-side errors (529/503) no longer rotate accounts, preventing healthy account pool contamination.
          • Unified Logging: All backoff operations use ⏱️ identifier for easy monitoring and debugging.
      • Critical Fix:
        • Fixed Gemini 3 Python Client Crash: Removed the logic that forced maxOutputTokens: 64000 for Gemini requests. This override caused standard Gemini 3 Flash/Pro models (limit 8192) to reject requests with empty responses, leading to 'NoneType' object has no attribute 'strip' errors in Python clients. The proxy now defaults to model native limits or respects client parameters.
      • Scoop Installation Compatibility Support (Core Thanks to @Small-Ku PR #252):
        • Startup Arguments Configuration: Added Antigravity startup arguments configuration feature. Users can now customize startup parameters in the Settings page, perfectly compatible with portable installations via package managers like Scoop.
        • Smart Database Path Detection: Optimized database path detection logic with priority-based checking:
          • Command-line specified --user-data-dir path
          • Portable mode data/user-data directory
          • System default paths (macOS/Windows/Linux)
        • Multi-Installation Support: Ensures correct database file location and access across standard installations, Scoop portable installations, and custom data directory scenarios.
      • Browser Environment CORS Support Optimization (Core Thanks to @marovole PR #223):
        • Explicit HTTP Method List: Changed CORS middleware allow_methods from generic Any to explicit method list (GET/POST/PUT/DELETE/HEAD/OPTIONS/PATCH), improving browser environment compatibility.
        • Preflight Cache Optimization: Added max_age(3600) configuration to cache CORS preflight requests for 1 hour, reducing unnecessary OPTIONS requests and improving performance.
        • Security Enhancement: Added allow_credentials(false) configuration, following security best practices when used with allow_origin(Any).
        • Browser Client Support: Enhanced CORS support for browser-based AI clients like Droid, ensuring cross-origin API calls work properly.
      • Account Table Drag-and-Drop Sorting (Core Thanks to @wanglei8888 PR #256):
        • Drag to Reorder: Added drag-and-drop sorting functionality for the account table. Users can now customize account display order by dragging table rows, making it easy to pin frequently used accounts to the top.
        • Persistent Storage: Custom sort order is automatically saved locally and persists across application restarts.
        • Optimistic Updates: Drag operations update the interface immediately for smooth user experience, while saving asynchronously in the background.
        • Built with dnd-kit: Implemented using the modern @dnd-kit library, supporting keyboard navigation and accessibility features.
    • v3.3.10 (2026-01-01):

      • 🌐 Upstream Endpoint Fallback Mechanism (Core Thanks to @karasungur PR #243):
        • Multi-Endpoint Auto-Switching: Implemented prod → daily dual-endpoint fallback strategy. Automatically switches to backup endpoint when primary returns 404/429/5xx, significantly improving service availability.
        • Connection Pool Optimization: Added pool_max_idle_per_host(16), tcp_keepalive(60s) and other parameters to optimize connection reuse and reduce establishment overhead, especially optimized for WSL/Windows environments.
        • Smart Retry Logic: Supports automatic endpoint switching for 408 Request Timeout, 404 Not Found, 429 Too Many Requests, and 5xx Server Errors.
        • Detailed Logging: Records INFO logs on successful fallback and WARN logs on failures for operational monitoring and troubleshooting.
        • Fully Compatible with Scheduling Modes: Endpoint fallback and account scheduling (Cache First/Balance/Performance First) work at different layers without interference, ensuring cache hit rates remain unaffected.
      • 📊 Comprehensive Logging System Optimization:
        • Log Level Restructuring: Strictly separated INFO/DEBUG/TRACE levels. INFO now only shows critical business information, with detailed debugging downgraded to DEBUG.
        • Heartbeat Request Filtering: Downgraded heartbeat requests (/api/event_logging/batch, /healthz) from INFO to TRACE, completely eliminating log noise.
        • Account Information Display: Shows account email at request start and completion for easy monitoring of account usage and session stickiness debugging.
        • Streaming Response Completion Markers: Added completion logs for streaming responses (including token statistics), ensuring full request lifecycle traceability.
        • 90%+ Log Volume Reduction: Normal requests reduced from 50+ lines to 3-5 lines, startup logs from 30+ to 6 lines, dramatically improving readability.
        • Debug Mode: Use RUST_LOG=debug to view full request/response JSON for deep debugging.
      • 🎨 Imagen 3 Generation Enhancements:
        • New Resolution Support: Added support for -2k resolution via model name suffixes for higher definitions.
        • Ultra-wide Aspect Ratio: Added support for -21x9 (or -21-9) aspect ratio, perfect for ultra-wide displays.
        • Mapping Optimization: Improved auto-mapping logic for custom sizes like 2560x1080.
        • Full Protocol Coverage: These enhancements are available across OpenAI, Claude, and Gemini protocols.
      • 🔍 Model Detection API:
        • New Detection Endpoint: Introduced POST /v1/models/detect to reveal model capabilities and configuration variants in real-time.
        • Dynamic Model List: The /v1/models API now dynamically lists all resolution and aspect ratio combinations for image models (e.g., gemini-3-pro-image-4k-21x9).
      • 🐛 Background Task Downgrade Model Fix:
        • Fixed 404 Errors: Corrected background task downgrade model from non-existent gemini-2.0-flash-exp to gemini-2.5-flash-lite, resolving 404 errors for title generation, summaries, and other background tasks.
      • 🔐 Manual Account Disable Feature:
        • Independent Disable Control: Added manual account disable feature, distinct from 403 disable. Only affects proxy pool, not API requests.
        • Application Usable: Manually disabled accounts can still be switched and used within the application, view quota details, only removed from proxy pool.
        • Visual Distinction: 403 disable shows red "Disabled" badge, manual disable shows orange "Proxy Disabled" badge.
        • Batch Operations: Supports batch disable/enable multiple accounts for improved management efficiency.
        • Auto Reload: Automatically reloads proxy account pool after disable/enable operations, takes effect immediately.
        • Impact Scope: Lightweight tasks including title generation, simple summaries, system messages, prompt suggestions, and environment probes now correctly downgrade to gemini-2.5-flash-lite.
      • 🎨 UI Experience Enhancements:
        • Unified Dialog Style: Standardized all native alert/confirm dialogs in the ApiProxy page to application-standard Toast notifications and ModalDialogs, improving visual consistency.
        • Tooltip Clipping Fixed: Resolved the issue where tooltips in the Proxy Settings page (e.g., "Scheduling Mode", "Allow LAN Access") were obstructed by container boundaries.
    • v3.3.9 (2026-01-01):

      • 🚀 Multi-Protocol Scheduling Alignment: Scheduling Mode now formally covers OpenAI, Gemini Native, and Claude protocols.
      • 🧠 Industrial-Grade Session Fingerprinting: Upgraded SHA256 content hashing for sticky Session IDs, ensuring consistent account inheritance and improved Prompt Caching hits.
      • 🛡️ Precision Rate-Limiting & 5xx Failover: Deeply integrated Google API JSON parsing for sub-second quotaResetDelay and automatic 20s cooling isolation for 500/503/529 errors.
      • 🔀 Enhanced Scheduling: Rotation logic now intelligently bypasses all locked/limited accounts; provides precise wait-time suggestions for restricted pools.
      • 🌐 Global Rate-Limit Sync: Cross-protocol rate-limit tracking ensures instant "Rate-limit once, avoid everywhere" protection.
      • 📄 Claude Multimodal Completion: Fixed 400 errors when handling PDF/documents in Claude CLI by completing multimodal mapping logic.
    • v3.3.8 (2025-12-31):

      • Proxy Monitor Module (Core Thanks to @84hero PR #212):

        • Real-time Request Tracking: Brand-new monitoring dashboard for real-time visualization of all proxy traffic, including request paths, status codes, response times, token consumption, and more.
        • Persistent Log Storage: SQLite-based logging system supporting historical record queries and analysis across application restarts.
        • Advanced Filtering & Sorting: Real-time search, timestamp-based sorting for quick problem request identification.
        • Detailed Inspection Modal: Click any request to view full request/response payloads, headers, token counts, and other debugging info.
        • Performance Optimization: Compact data formatting (e.g., 1.2k instead of 1200) improves UI responsiveness with large datasets.
      • UI Optimization & Layout Improvements:

        • Toggle Style Unification: Standardized all toggle switches (Auto Start, LAN Access, Auth, External Providers) to small blue style for consistent visuals.
        • Layout Density Optimization: Merged "Allow LAN Access" and "Auth" into a single-row grid layout (lg:grid-cols-2) for more efficient use of space on large screens.
      • Zai Dispatcher Integration (Core Thanks to @XinXin622 PR #205):

        • Multi-level Dispatching: Supports Exclusive, Pooled, and Fallback modes to balance response speed and account security.
        • Built-in MCP Support: Preconfigured endpoints for Web Search Prime, Web Reader, and Vision MCP servers.
        • UI Enhancements: Added graphical configuration options and tooltips to the ApiProxy page.
      • Automatic Account Exception Handling (Core Thanks to @salacoste PR #203):

        • Auto-disable Invalid Accounts: Automatically marks accounts as disabled when Google OAuth refresh tokens become invalid (invalid_grant), preventing proxy failures caused by repeated attempts to use broken accounts.
        • Persistent State Management: Disabling state is saved to disk and persists across restarts. Optimized loading logic to skip disabled accounts.
        • Smart Auto-recovery: Accounts are automatically re-enabled when the user manually updates the refresh or access tokens in the UI.
        • Documentation: Added detailed documentation for the invalid grant handling mechanism.
      • Dynamic Model List API (Intelligent Endpoint Optimization):

        • Real-time Dynamic Sync: /v1/models (OpenAI) and /v1/models/claude (Claude) endpoints now aggregate built-in and custom mappings in real-time. Changes in settings take effect instantly.
        • Full Model Support: Prefix filtering is removed. Users can now directly see and use image models like gemini-3-pro-image-4k-16x9 and all custom IDs in terminals or clients.
      • Quota Management & Intelligent Routing (Operational Optimization & Bug Fixes):

        • Background Task Smart Downgrading: Automatically identifies and reroutes Claude CLI/Agent background tasks (titles, summaries, etc.) to Flash models, fixing the issue where these requests previously consumed premium/long-context quotas.
        • Concurrency Lock & Quota Protection: Fixed the issue where multiple concurrent requests caused account quota overflow. Atomic locks ensure account consistency within the same session, preventing unnecessary rotations.
        • Tiered Account Sorting (ULTRA > PRO > FREE): The system now automatically sorts model routes based on quota reset frequency (hourly vs. daily). Highlights premium accounts that reset frequently, reserving FREE accounts as a final safety net.
        • Atomic Concurrency Locking: Enhanced TokenManager session locking. In high-concurrency scenarios (e.g., Agent mode), ensures stable account assignment for requests within the same session.
        • Expanded Keyword Library: Integrated 30+ intent-based keywords for background tasks, improving detection accuracy to over 95%.
    • v3.3.7 (2025-12-30):

      • Proxy Core Stability Fixes (Core Thanks to @llsenyue PR #191):
        • JSON Schema Hardening: Implemented recursive flattening and cleaning for tool call schemas. Unsupported constraints (e.g., pattern) are now moved to descriptions, preventing Gemini schema rejection.
        • Background Task Robustness: Added detection for background tasks (e.g., summaries). Automatically strips thinking configs and redirects to gemini-2.5-flash for 100% success rate.
        • Thought Signature Auto-capture: Refined thoughtSignature extraction and persistence, resolving 400 errors caused by missing signatures in multi-turn chats.
        • Logging Improvements: Promoted user messages to WARN level in logs to ensure core interactions remain visible during background activity.
    • v3.3.6 (2025-12-30):

      • Deep OpenAI Image Support (Core Thanks to @llsenyue PR #186):
        • New Image Generation Endpoint: Full support for /v1/images/generations, including parameters like model, prompt, n, size, and response_format.
        • New Image Editing & Variations: Adapted /v1/images/edits and /v1/images/variations endpoints.
        • Protocol Bridging: Implemented automatic structural mapping and authentication from OpenAI image requests to the Google Internal API (Cloud Code).
    • v3.3.5 (2025-12-29):

      • Core Fixes & Stability Enhancements:
        • Root Fix for Claude Extended Thinking 400 Errors (Model Switching): Resolved validation failures when switching from non-thinking to thinking models mid-session. The system now automatically backfills historical thinking blocks to ensure API compliance.
        • New Automatic Account Rotation for 429 Errors: Enhanced the retry mechanism for 429 (rate limit), 403 (forbidden), and 401 (expired) errors. Retries now force-bypass the 60s session lock to rotate to the next available account in the pool, implementing a true failover.
        • Test Suite Maintenance: Fixed several outdated and broken unit tests to ensure a clean build and verification cycle.
      • Logging System Optimizations:
        • Cleaned Verbose Logs: Removed redundant logs that printed all model names during quota queries. Detailed model list information is now downgraded to debug level, significantly reducing console noise.
        • Local Timezone Support: Log timestamps now automatically use local timezone format (e.g., 2025-12-29T22:50:41+08:00) instead of UTC, making logs more intuitive for users.
      • UI Optimizations:
        • Refined Account Quota Display: Added clock icons, implemented perfect centering, and added dynamic color feedback based on countdown (Synced across Table and Card views).
    • v3.3.4 (2025-12-29):

      • Major OpenAI/Codex Compatibility Boost (Core Thanks to @llsenyue PR #158):
        • Fixed Image Recognition: Fully adapted Codex CLI's input_image block parsing and added support for file:// local paths with automatic Base64 conversion.
        • Gemini 400 Error Mitigation: Implemented automatic merging of consecutive identical role messages, strictly following Gemini's role alternation requirements to eliminate related 400 errors.
        • Protocol Stability Enhancements: Optimized deep JSON Schema cleaning (including physical isolation for cache_control) and added context backfilling for thoughtSignature.
        • Linux Build Strategy Adjustment: Due to the severe scarcity of GitHub's Ubuntu 20.04 runners causing release hangups, official builds have reverted to the Ubuntu 22.04 environment. Ubuntu 20.04 users are encouraged to clone the source for local builds or try running via AppImage.
    • v3.3.3 (2025-12-29):

      • Account Management Enhancements:
        • Subscription Tier Identification: Integrated automatic detection, labeling, and filtering for account subscription tiers (PRO/ULTRA/FREE).
        • Multi-dimensional Filtering: Added new filter tabs ("All", "Available", "Low Quota", "PRO", "ULTRA", "FREE") with real-time counters and integrated search.
        • UI/UX Optimization: Implemented a premium tabbed interface; refined the header layout with an elastic search bar and responsive action buttons to maximize workspace efficiency across different resolutions.
      • Critical Fixes:
        • Root Fix for Claude Extended Thinking 400 Errors: Resolved the format validation error caused by missing thought: true markers in historical ContentBlock::Thinking messages. This issue led to 400 INVALID_REQUEST_ERROR regardless of whether thinking was explicitly enabled, especially in multi-turn conversations.
    • v3.3.2 (2025-12-29):

      • New Features (Core Thanks to @XinXin622 PR #128):
        • Web Search Citation Support for Claude Protocol: Successfully mapped Gemini's raw Google Search results to Claude's native web_search_tool_result content blocks. Structured search citations and source links now display correctly in compatible clients like Cherry Studio.
        • Enhanced Thinking Mode Stability (Global Signature Store v2): Introduced a more robust global thoughtSignature storage mechanism. The system now captures real-time signatures from streaming responses and automatically backfills them for subsequent requests missing signatures, significantly reducing 400 INVALID_ARGUMENT errors.
      • Optimizations & Bug Fixes:
        • Hardened Data Models: Unified and refactored the internal GroundingMetadata structures, resolving type conflicts and parsing anomalies identified during PR #128 integration.
        • Streaming Logic Refinement: Optimized the SSE conversion engine to ensure proper extraction and persistence of thoughtSignature across fragmented streaming chunks.
    • v3.3.1 (2025-12-28):

      • Critical Fixes:
        • Deep Fix for Claude Protocol 400 Errors (Claude Code Optimization):
          • Resolved Cache Control Conflicts (cache_control Fix): Fully address the upstream validation errors caused by cache_control tags or thought: true fields in historical messages. Optimized with a "historical message de-thinking" strategy to bypass parsing bugs in the Google API compatibility layer.
          • Deep JSON Schema Cleaning Engine: Optimized the conversion of MCP tool definitions. Complex validation constraints unsupported by Google (e.g., pattern, minLength, maximum) are now automatically migrated to description fields, ensuring compliance while preserving semantic hints.
          • Protocol Header Compliance: Removed non-standard role tags from system instructions and enhanced explicit filtering for cache_control to guarantee maximum payload compatibility.
        • Enhanced Connectivity & Web Search Compatibility:
          • Search Compatibility: Added support for googleSearchRetrieval and other next-gen tool definitions. Now provides standardized googleSearch payload mapping, ensuring seamless integration with Cherry Studio's built-in search toggle.
          • Automated Client Data Purification: Introduced deep recursive cleaning to physically strip [undefined] properties injected by clients like Cherry Studio, resolving 400 INVALID_ARGUMENT errors at the source.
          • High-Quality Virtual Model Auto-Networking: Expanded the high-performance model whitelist (including Claude Thinking variants), ensuring all premium models trigger native networking search by default.
      • Optimization & Token Saving:
        • Full-link Tracing & Closed-loop Audit Logs:
          • Introduced a 6-character random Trace ID for every request.
          • Automated request tagging: [USER] for real conversations, [AUTO] for background tasks.
          • Implemented token consumption reporting for both streaming and non-streaming responses.
        • Claude CLI Background Task "Token Saver":
          • Intelligent Intent Recognition: Enhanced detection for low-value requests like title generation, summaries, and system Warmups/Reminders.
          • Seamless Downgrade Redirect: Automatically routes background traffic to gemini-2.5-flash, ensuring top-tier model (Sonnet/Opus) quotas are reserved for core tasks.
          • Significant Token Saving: Saves 1.7k - 17k+ high-value tokens per long session.
      • Stability Enhancements:
        • Resolved Rust compilation and test case errors caused by the latest model field updates, hardening the data model layer (models.rs).
    • v3.3.0 (2025-12-27):

      • Major Updates:
        • Deep Adaptation for Codex CLI & Claude CLI (Core Thanks to @llsenyue PR #93):
          • Coding Agent Compatibility: Achieved full support for Codex CLI, including deep adaptation of the /v1/responses endpoint and intelligent instruction conversion (SSOP) for shell tool calls.
          • Claude CLI Reasoning Enhancement: Introduced global thoughtSignature storage and backfilling logic, completely resolving signature validation errors when using Claude CLI with Gemini 3 series models.
        • OpenAI Protocol Stack Refactor:
          • New Completions Endpoint: Fully added support for /v1/completions and /v1/responses routes, ensuring compatibility with legacy OpenAI clients.
          • Fusion of Multimodal & Schema Cleaning: Successfully integrated self-developed high-performance image parsing with community-contributed high-precision JSON Schema filtering strategies.
        • Privacy-First Network Binding Control (Core Thanks to @kiookp PR #91):
          • Default Localhost: Proxy server defaults to listening on 127.0.0.1 (localhost-only), ensuring privacy and security by default.
          • Optional LAN Access: Added allow_lan_access configuration toggle; when enabled, listens on 0.0.0.0 to allow LAN device access.
          • Security Warnings: Frontend UI provides clear security warnings and status hints.
      • Frontend UX Upgrade: - Protocol Endpoint Visualization: Added endpoint details display on the API Proxy page, supporting independent quick-copy for Chat, Completions, and Responses endpoints.
    • v3.2.8 (2025-12-26):

      • Bug Fixes:
        • OpenAI Protocol Multi-modal & Vision Model Support: Fixed the 400 error caused by content format mismatch when sending image requests to vision models (e.g., gemini-3-pro-image) via OpenAI protocol.
        • Full Vision Capability Enrichment: The OpenAI protocol now supports automatic parsing of Base64 images and mapping them to upstream inlineData, providing the same image processing power as the Claude protocol.
    • v3.2.7 (2025-12-26):

      • New Features:
        • Launch at Startup: Added auto-launch feature that allows users to enable/disable automatic startup of Antigravity Tools when the system boots, configurable from the "General" tab in Settings.
        • Account List Page Size Selector: Added a page size selector in the pagination bar of the Accounts page, allowing users to directly choose items per page (10/20/50/100) without entering Settings, improving batch operation efficiency.
      • Bug Fixes:
        • Comprehensive JSON Schema Cleanup Enhancement (MCP Tool Compatibility Fix):
          • Removed Advanced Schema Fields: Added removal of propertyNames, const, anyOf, oneOf, allOf, if/then/else, not and other advanced JSON Schema fields commonly used by MCP tools but unsupported by Gemini, completely resolving 400 errors when using MCP tools with Claude Code v2.0.76+.
          • Optimized Recursion Order: Adjusted to recursively clean child nodes before processing parent nodes, preventing nested objects from being incorrectly serialized into descriptions.
          • Protobuf Type Compatibility: Forced union type arrays (e.g., ["string", "null"]) to downgrade to single types, resolving "Proto field is not repeating" errors.
          • Smart Field Recognition: Enhanced type checking logic to ensure validation fields are only removed when values match the expected type, avoiding accidental deletion of property definitions named pattern, etc.
        • Custom Database Import Fix: Fixed the "Command not found" error for the "Import from Custom DB" feature caused by the missing import_custom_db command registration. Users can now properly select custom state.vscdb files for account import.
        • Proxy Stability & Image Generation Optimization:
          • Smart 429 Backoff Mechanism: Deeply integrated RetryInfo parsing to strictly follow Google API retry instructions with added safety redundancy, effectively reducing account suspension risks.
          • Precise Error Triage: Fixed the logic that misidentified rate limits as quota exhaustion (no longer incorrectly stopping on "check quota" errors), ensuring automatic account rotation during throttling.
          • Parallel Image Generation Acceleration: Disabled the 60s time-window lock for image_gen requests, enabling high-speed rotation across multiple accounts and completely resolving Imagen 3 429 errors.
    • v3.2.6 (2025-12-26):

      • Critical Fixes:
        • Claude Protocol Deep Optimization (Enhanced Claude Code Experience):
          • Dynamic Identity Mapping: Dynamically injects identity protection patches based on the requested model, locking in the native Anthropic identity and shielding it from baseline platform instruction interference.
          • Tool Empty Output Compensation: Specifically for silent commands like mkdir, automatically maps empty outputs to explicit success signals, resolving task flow interruptions and hallucinations in Claude CLI.
          • Global Stop Sequence Configuration: Optimized stopSequences for proxy links, precisely cutting off streaming output and completely resolving parsing errors caused by trailing redundancy.
          • Smart Payload Cleaning (Smart Panic Fix): Introduced mutual exclusion checks for GoogleSearch and FunctionCall, and implemented automatic tool stripping during background task redirection (Token Saver), completely eliminating 400 Tool Conflict (Multiple tools) errors.
          • Proxy Reliability Enhancement (Core Thanks to @salacoste PR #79):
            • Smart 429 Backoff: Support parsing upstream RetryInfo to wait and retry automatically when rate-limited, reducing unnecessary account rotation.
            • Resume Fallback: Implemented auto-stripping of Thinking blocks for /resume 400 signature errors, improving session recovery success.
            • Extended Schema Support: Improved recursive JSON Schema cleaning and added filtering for enumCaseInsensitive and other extension fields.
        • Test Suite Hardening: Fixed missing imports and duplicate attribute errors in mappers test modules, and added new tests for content block merging and empty output completion.
    • v3.2.1 (2025-12-25):

      • New Features:
        • Custom DB Import: Support importing accounts from any state.vscdb file path, facilitating data recovery from backups or custom locations.
        • Real-time Project ID Sync & Persistence: Captured and saved the latest project_id to the local database in real-time during quota refresh.
        • OpenAI & Gemini Protocol Reinforcement:
          • Unified Model Routing: Now Gemini protocol also supports custom model mapping. This completes the integration of smart routing logic across OpenAI, Anthropic, and Gemini protocols.
          • Full Tool Call Support: Correctly handles and delivers functionCall results (e.g., search) for both streaming and non-streaming responses, completely resolving the "empty output" error.
          • Real-time Thought Display: Automatically extracts and displays Gemini 2.0+ reasoning processes via <thought> tags, ensuring no loss of inference information.
          • Advanced Parameter Mapping: Added full mapping support for stop sequences, response_format (JSON mode), and custom tools.
      • Bug Fixes:
        • Single Account Switch Restriction Fix: Resolved the issue where the switch button was hidden when only one account existed. Now, manual Token injection can be triggered for a single account by clicking the switch button.
        • OpenAI Custom Mapping 404 Fix: Fixed model routing logic to ensure mapped upstream model IDs are used, resolving 404 errors during custom mapping.
        • Proxy Retry Logic Optimization: Introduced smart error recognition and a retry limit. Implemented fail-fast protection for 404 and 429 (quota exhausted).
        • JSON Schema Deep Cleanup (Compatibility Enhancement): Established a unified cleanup mechanism to automatically filter out over 20 extension fields unsupported by Gemini (e.g., multipleOf, exclusiveMinimum, pattern, const, if-then-else), resolving 400 errors when CLI tools invoke tools via API.
        • Claude Thinking Chain Validation Fix: Resolved the structural validation issue where assistant messages must start with a thinking block when Thinking is enabled. Now supports automatic injection of placeholder thinking blocks and automatic restoration of <thought> tags from text, ensuring stability for long conversations in advanced tools like Claude Code.
        • OpenAI Adaption Fix: Resolved issues where some clients sending system messages caused errors.
    • v3.2.0 (2025-12-24):

      • Core Architecture Refactor:
        • Proxy Engine Rewrite: Completely modularized proxy subsystem with decoupled mappers, handlers, and middleware for superior maintainability.
        • Linux Process Management: Implemented smart process identification to distinguish Main/Helper processes, ensuring graceful exit via SIGTERM with SIGKILL fallback.
      • Homebrew Support: Official support for macOS one-click installation via brew install --cask antigravity.
      • GUI UX Revolution: Revamped Dashboard with average quota monitoring and "Best Account Recommendation" algorithm.
      • Protocol & Router Expansion: Native support for OpenAI, Anthropic (Claude Code), and Gemini protocols with high-precision Model Router.
      • Multimodal Optimization: Deep adaptation for Imagen 3 with 100MB payload capacity and aspect ratio controls.
      • Global Upstream Proxy: Centralized request management supporting HTTP/SOCKS5 with hot-reloading.
    • See Releases for earlier history.

👥 Contributors

lbjlaq XinXin622 llsenyue salacoste 84hero karasungur marovole wanglei8888 yinjianhong22-design Mag1cFall AmbitionsXXXV fishheadwithchili ThanhNguyxn Stranmor Jint8888 0-don dlukt Koshikai hakanyalitekin Gok-tug

Special thanks to all developers who have contributed to this project.

  • License: CC BY-NC-SA 4.0. Strictly for non-commercial use.
  • Security: All account data is encrypted and stored locally in a SQLite database. Data never leaves your device unless sync is enabled.

If you find this tool helpful, please give it a ⭐️ on GitHub!

Copyright © 2025 Antigravity Team.