The project's README from github.com/lbjlaq/Antigravity-Manager. As one markdown file: README.md.
Professional Account Management & Protocol Proxy System for AI Services (v4.9.8)
Multi-platform automation & multi-account matrix dispatch console
Features • GUI Overview • Architecture • Installation • Integration
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.
| Sponsor | Description |
|---|---|
![]() |
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. |
![]() |
Thanks to APIKEY.FUN for sponsoring this project! APIKEY.FUN is a professional enterprise-grade AI relay station, dedicated to providing stable, efficient, and low-cost AI model API access services for enterprise and individual developers. The platform supports mainstream popular models such as Claude, OpenAI, and Gemini, with prices as low as 7% of the official original price. Register through this exclusive link for this project to enjoy an exclusive offer of up to permanent 5% off on top-ups. |
![]() |
Thanks to Claude API for supporting this project! claudeapi.com is a Claude API relay station built on official and AWS channels, focused exclusively on Claude, delivering high stability and low latency with full support for Claude Code. Exclusive offer: register via this exclusive link to get free trial credits — zero setup, get started instantly; enjoy an extra 5% off when you top up (Contact Support). |
![]() |
Thanks to AICodeMirror for sponsoring this project! AICodeMirror provides official high-stability relay services for Claude Code / Codex / Gemini CLI, supporting enterprise-grade concurrency, fast invoicing, and 24/7 dedicated technical support. Claude Code / Codex / Gemini official channels at 38% / 2% / 9% of original price, with extra discounts on top-ups! AICodeMirror offers special benefits for Antigravity-Manager users: register via this link to enjoy 20% off your first top-up, and enterprise customers can get up to 25% off! |
If you find this project helpful, feel free to buy me a coffee!
| Alipay | WeChat Pay | Buy Me a Coffee |
|---|---|---|
![]() |
![]() |
![]() |
If you like this project, you might also be interested in:
/v1/chat/completions endpoint, compatible with 99% of existing AI apps./v1/messages interface, supporting all features of Claude Code CLI (e.g., chain-of-thought, system prompts).429 (Too Many Requests) or 401 (Expired), the backend triggers millisecond-level automatic retry and silent rotation, ensuring business continuity.gemini-3-pro-high).size (e.g., 1024x1024, 16:9) parameters or model name suffixes. Dashboard |
Account List |
About Page |
API Proxy |
Settings |
Claude Code Web Search |
Cherry Studio Integration |
Imagen 3 Advanced Drawing |
Kilo Code Integration |
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
Automatically detects your OS, architecture, and package manager — one command to download and install.
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/install.ps1 | iex
Supported formats: Linux (
.deb/.rpm/.AppImage) | macOS (.dmg) | Windows (NSIS.exe)Advanced usage: Install a specific version
curl -fsSL https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/install.sh | bash -s -- --version 4.6.8, dry-run modecurl -fsSL https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/install.sh | bash -s -- --dry-run
If you have Homebrew installed, you can also install via:
# 1. Tap the repository
brew tap lbjlaq/antigravity-manager https://github.com/lbjlaq/Antigravity-Manager
# 2. Install the app
brew install --cask antigravity-tools
You can choose to install via the one-click script or Homebrew:
Option 1: One-click script (Recommended)
curl -sSL https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/deploy/arch/install.sh | bash
Option 2: via Homebrew (If you have Linuxbrew installed)
brew tap lbjlaq/antigravity-manager https://github.com/lbjlaq/Antigravity-Manager
brew install --cask antigravity-tools
The AppImage will be automatically symlinked to your binary path with executable permissions.
Download from GitHub Releases:
.dmg (Universal, Apple Silicon & Intel).msi or portable .zip.deb or AppImageIf you prefer running in a containerized environment, we provide a native Docker image. This image supports the v4.0.3 Native Headless architecture, automatically hosts frontend static resources, and allows for direct browser-based management.
docker run -d --name antigravity-manager \
-p 8045:8045 \
-e API_KEY=sk-your-api-key \
-e WEB_PASSWORD=your-login-password \
-e ABV_MAX_BODY_SIZE=104857600 \
-v ~/.antigravity_tools:/root/.antigravity_tools \
lbjlaq/antigravity-manager:latest
# Forgot keys? Run `docker logs antigravity-manager` or `grep -E '"api_key"|"admin_password"' ~/.antigravity_tools/gui_config.json`
[!TIP] 🧪 Pulling Beta / Preview Images: To test the latest Beta pre-release features, specify the corresponding Beta version tag (pre-releases are published independently and will never overwrite the
lateststable tag):# Pull a specific Beta pre-release version (check Docker Hub for all tags) docker pull lbjlaq/antigravity-manager:v4.8.2-beta.0 # Run Beta container docker run -d --name antigravity-manager-beta \ -p 8045:8045 \ -e API_KEY=sk-your-api-key \ -e WEB_PASSWORD=your-login-password \ -e ABV_MAX_BODY_SIZE=104857600 \ -v ~/.antigravity_tools:/root/.antigravity_tools \ lbjlaq/antigravity-manager:v4.8.2-beta.0View all published Beta tags on Docker Hub Tags. If you wish to run the unreleased bleeding-edge
betabranch directly, build locally:docker build -t lbjlaq/antigravity-manager:beta -f docker/Dockerfile ..
API_KEY is setAPI_KEY to access the dashboard.API_KEY for AI request authentication.API_KEY and WEB_PASSWORD are set (Recommended)WEB_PASSWORD. Using API Key will be rejected (more secure).API_KEY. This allows you to share the API Key with team members while keeping the password for administrative access only.If you are upgrading from v4.0.1 or earlier, your installation won't have a WEB_PASSWORD set by default. You can add one using any of these methods:
API_KEY, go to the API Proxy Settings page, find the Web UI Management Password section below the API Key, set your new password, and save.-e WEB_PASSWORD=your_new_password. Note: Environment variables have the highest priority and will override any changes in the UI.~/.antigravity_tools/gui_config.json and add/modify "admin_password": "your_new_password" inside the proxy object.WEB_PASSWORD is the environment variable name, while admin_password is the JSON key in the config file.[!TIP] Priority Logic:
- Environment Variable (
WEB_PASSWORD) has the highest priority. If set, the application will always use it and ignore values in the configuration file.- Configuration File (
gui_config.json) is used for persistent storage. When you change the password via Web UI and save, it is written here.- Fallback: If neither is set, it falls back to
API_KEY; if evenAPI_KEYis missing, a random one is generated.
docker directory and start the service:cd docker
docker compose up -d
Log rotation: Compose limits JSON logs to
100mper file and keeps3files by default to prevent unbounded growth. Access URL:http://localhost:8045(Admin Console) |http://localhost:8045/v1(API Base) System Requirements:
- RAM: 1GB recommended (minimum 256MB).
- Persistence: Mount
/root/.antigravity_toolsto persist your data.- Architecture: Supports x86_64 and ARM64. See: Docker Deployment Guide (docker)
Due to macOS security gatekeeper, non-App Store apps might show this. You can fix it with:
sudo xattr -rd com.apple.quarantine "/Applications/Antigravity Tools.app"
brew install --cask antigravity-tools), quarantine attributes are automatically cleared upon installation for an out-of-the-box experience.On niri, Hyprland, Sway, and similar compositors, older builds forced GDK_BACKEND=x11 whenever DISPLAY was set, and WebKit then drew a black window. Update to a build that includes this fix, or launch once with:
env WEBKIT_DISABLE_DMABUF_RENDERER=1 ANTIGRAVITY_FORCE_WAYLAND=1 antigravity-tools
ANTIGRAVITY_FORCE_WAYLAND=1: keep native Wayland (do not force X11)ANTIGRAVITY_FORCE_X11=1: force X11 if you still need itWEBKIT_DISABLE_DMABUF_RENDERER=1: disable the WebKit DMA-BUF rendererAccounts → Add Account → OAuth.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.
JeikCode is a modern terminal AI Coding Agent crafted by the core maintainer of this project, featuring native deep integration with Antigravity-Manager, delivering 95%+ KV-Cache hit rate and seamless reasoning level control.
>_ Agent Tools One-Click Configuration tab.gemini-3.8-flash-high), and click 🔄 Sync Now.jeikcode in your terminal for the TUI, and type /webui to instantly launch the modern WebUI in your browser for a richer visual coding experience out of the box!export ANTHROPIC_BASE_URL="http://127.0.0.1:8045"
export ANTHROPIC_API_KEY="sk-antigravity"
jeikcode --model claude-sonnet-4-6
For complete manual configuration and tuning, see the JeikCode Integration Guide.
Recommended Client Versions:
- Stable Production Recommendation:
Claude Code v2.1.28x(more permissive stream termination verification, highest resilience under network jitter);- Latest Versions Support:
Claude Code v2.1.293 ~ v2.1.295(requires deploying the gateway version with stream hang prevention and keepalive optimizations, see Diagnosis Guide).Install recommended stable version:
npm install -g @anthropic-ai/[email protected]
export ANTHROPIC_API_KEY="sk-antigravity"
export ANTHROPIC_BASE_URL="http://127.0.0.1:8045"
claude
~/.config/opencode/opencode.json:antigravity-manager (does not overwrite google/anthropic providers)antigravity-accounts.json (plugin-compatible v3 format) for the OpenCode pluginC:\Users\<User>\.config\opencode\ (same ~/.config/opencode rule).Quick verification commands:
# Test antigravity-manager provider (supports --variant)
opencode run "test" --model antigravity-manager/claude-sonnet-4-5-thinking --variant high
# If opencode-antigravity-auth is installed, verify google provider still works independently
opencode run "test" --model google/antigravity-claude-sonnet-4-5-thinking --variant max
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)
http://127.0.0.1:8045./v1/chat/completions/responses, a non-standard path that will return 404 from Antigravity. Make sure to enter the Base URL and select Gemini mode.import openai
client = openai.OpenAI(
api_key="sk-antigravity",
base_url="http://127.0.0.1:8045/v1"
)
# Generate image
response = client.images.generate(
model="gemini-3-pro-image",
prompt="A futuristic cyberpunk city with neon lights",
size="1920x1080", # Supports any WIDTHxHEIGHT format, auto-calculates aspect ratio
quality="hd", # "standard" | "hd" | "medium"
n=1,
response_format="b64_json"
)
# Save image
import base64
image_data = base64.b64decode(response.data[0].b64_json)
with open("output.png", "wb") as f:
f.write(image_data)
Supported parameters:
size: Any WIDTHxHEIGHT format (e.g. 1280x720, 1024x1024, 1920x1080), auto-calculates and maps to standard aspect ratios (21:9, 16:9, 9:16, 4:3, 3:4, 1:1)quality: "hd" → 4K resolution (high quality)"medium" → 2K resolution (medium quality)"standard" → Default resolution (standard quality)n: Number of images to generate (1-10)response_format: "b64_json" or "url" (Data URI)All protocols (OpenAI, Claude) Chat APIs now support direct size and quality parameters:
# OpenAI Chat API
response = client.chat.completions.create(
model="gemini-3-pro-image",
size="1920x1080", # ✅ Supports any WIDTHxHEIGHT format
quality="hd", # ✅ "standard" | "hd" | "medium"
messages=[{"role": "user", "content": "A futuristic city"}]
)
# Claude Messages API
curl -X POST http://127.0.0.1:8045/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: sk-antigravity" \
-d '{
"model": "gemini-3-pro-image",
"size": "1280x720",
"quality": "hd",
"messages": [{"role": "user", "content": "A cute cat"}]
}'
Parameter priority: imageSize parameter > quality parameter > model suffix
✨ New imageSize parameter support:
In addition to the quality parameter, you can now also use Gemini's native imageSize parameter:
# Using imageSize parameter (highest priority)
response = client.chat.completions.create(
model="gemini-3-pro-image",
size="16:9", # Aspect ratio
imageSize="4K", # ✨ Direct resolution: "1K" | "2K" | "4K"
messages=[{"role": "user", "content": "A futuristic city"}]
)
# Claude Messages API also supports imageSize
curl -X POST http://127.0.0.1:8045/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: sk-antigravity" \
-d '{
"model": "gemini-3-pro-image",
"size": "1280x720",
"imageSize": "4K",
"messages": [{"role": "user", "content": "A cute cat"}]
}'
Parameter descriptions:
imageSize: Direct resolution specification ("1K" / "2K" / "4K")quality: Infers resolution from quality level ("standard" → 1K, "medium" → 2K, "hd" → 4K)imageSize and quality are specified, the system prioritizes imageSizeresponse = client.chat.completions.create(
model="gemini-3-pro-image-16-9-4k", # Format: gemini-3-pro-image-[ratio]-[quality]
messages=[{"role": "user", "content": "A futuristic city"}]
)
Model suffix explanation:
-16-9, -9-16, -4-3, -3-4, -21-9, -1-1-4k (4K), -2k (2K), no suffix (standard)gemini-3-pro-image-16-9-4k → 16:9 ratio + 4K resolutionIn clients that support OpenAI protocol (e.g., Cherry Studio), you can configure image generation parameters via the Model Settings page:
gemini-3-pro-image modelWIDTHxHEIGHT format (e.g. 1920x1080, 1024x1024)standard / hd / mediumParameter mapping rules:
size: "1920x1080" → Auto-calculated as 16:9 aspect ratioquality: "hd" → Mapped to 4K resolutionquality: "medium" → Mapped to 2K resolutionLatest version v4.9.8 (2026-10-17): Automatic seamless hot-switch for Antigravity Classic upon quota depletion or threshold breach with streamlined dual-pool cards (Ref #3509); native evolution supporting Antigravity CLI (
agy) with automatic shell wrapper injection, thinking effort disassembly, and independent 3-client active account detection with contextual badges (Ref #3686, Ref #3630); comprehensive 403 error body capture and action URL extraction (captcha verification/appeal) with closed-loop self-healing recovery (Ref #3630, Ref #3684); Claude Code 2.1.301 protocol alignment with anti-WAF identity sanitization, full-linkrequest-idinjection, and Claude 5 model family integration (PR #3689, Ref #3684, Ref #3686); active reference tracking in JSON Schema recursive flattening to eliminate exponential replication and Linux VPS OOM (SIGKILL 137) crashes, array schema normalization with terminal ARRAY items guards to prevent Gemini 400 errors, adaptive first-chunk Peek timeout extension to 60s/90s/120s for reasoning models, zero-downtime atomic pool reload eliminating 503 errors, and anti-regression rate limit protection (PR #3694, Fixes #3690, Ref #3682, Ref #3693); complete removal of 100% 429-yielding Prod endpoints, relaxed streaming first-chunk watchdog to 120s baseline, multi-turn role preservation for Responses array inputs, and elimination of 0ms optimistic reset storms (PR #3691, PR #3672, PR #3687, PR #3685, Fixes #3506, Ref #3525); traffic monitor inspector overhaul with Postman-style single-tab view, structured vs raw code views, key-value headers tables with Bearer masking, standard dual-link HAR 1.2 export, and 12-language localization coverage (thanks to @cubelikeplayDaniel, @EricZhou05, @blackdm666, @jeikl).
👉 View Full Changelog → CHANGELOG_EN.md
Special thanks to all developers who have contributed to this project.
This project has referenced or learned from the ideas or code of the following excellent open-source projects during its development (in no particular order):
If you find this tool helpful, please give it a ⭐️ on GitHub!
Copyright © 2024-2026 Antigravity Team.