Ultra-lightweight, high-performance AI protocol proxy & multi-account quota manager.
Native Linux & Windows (x86_64 & ARM64) • Pure Rust • Hardware-Accelerated Slint GUI • Zero Telemetry
AMR (Antigravity Manager Rust) is a cross-platform local AI protocol proxy and load balancer written in pure Rust. It transforms multiple upstream accounts into unified local endpoints compatible with OpenAI (/v1/chat/completions, /v1/models) and Anthropic Claude (/v1/messages), supporting modern AI coding tools and agents including Roo Code, Claude Code, Cline, Cursor, Codex, OpenCode, and Continue.dev.
Note
Focused Scope vs All-in-One "Combines":
AMR is purpose-built strictly for high-throughput protocol emulation, proxying, and quota-aware routing.
AMR is not and will not become a bloated all-in-one combine: it does not hook into local IDE process memory, does not modify local SQLite/LevelDB editor storage, and does not inject cookies. Dedicated local helper scripts already handle local disk credentials much better. AMR does one thing with uncompromising efficiency: fast, stable, zero-telemetry API proxying (127.0.0.1:8045).
- Zero Telemetry: Free of analytics, tracking libraries, ads, and telemetry collectors.
- Low Memory Overhead: Idles at ~22 MB RSS with the native hardware-accelerated GUI and < 3 MB in headless CLI daemon mode.
- Native GUI Rendering: Built with Slint 1.9 on top of FemtoVG / OpenGL without bundled Chromium or system WebKitGTK runtime dependencies.
- Stream Resilience & Heartbeats: Automatic SSE heartbeat frames (
: ping\n\n) to prevent client timeouts during extended thinking periods (Claude 3.7 Thinking, o1/o3, Gemini 2.5), alongside configurable micro-chunk stream pacing.
- Multi-Protocol Translation: Bidirectional conversion between OpenAI and Anthropic Claude protocols with full thinking/reasoning preservation (with upstream Google Cloud Code Pa API mapping).
- Dual-Mode Reasoning Configuration: Handles both suffix naming conventions (
-low,-medium,-high,(low)) and native protocol parameters (reasoning_effort,thinking). - Quota-Aware Load Balancing: Dynamic quota accounting with automatic 429 failover, sticky session affinity, and configurable emergency reserve thresholds.
- Hardware Isolation Profiles: Distinct device IDs and machine GUIDs per upstream account, with optional randomized jitter (+-15%) for network cadence smoothing.
- Request Inspector & Disk Logging: Searchable HTTP traffic log with per-request latency, token counts (Prompt, Completion, Thinking), status codes, and payload inspector.
- Internationalization (i18n): Complete localization in English, Russian, and Chinese across all UI tabs, tray menus, and system notifications.
| Specification | AntigravityManager (Draculabo) | Antigravity-Manager (lbjlaq) | AMR |
|---|---|---|---|
| Tech Stack | TypeScript, Electron 37, Node.js 24 | Rust, Tauri v2, WebKitGTK | Pure Rust (Tokio, Axum, Slint 1.9) |
| Tracked Repository Files | 2,597 files | 598 files | 61 files |
| GUI RAM (RSS) | ~220 – 380 MB | ~120 – 180 MB | ~22 MB |
| Headless / Daemon Mode | Not supported | Not supported | Supported (~2.5 MB RAM) |
| Cold Startup Latency | 3.5 – 5.0 s | 1.5 – 2.2 s | < 60 ms |
| Package Size | ~95 MB (AppImage) | ~45 MB (+ WebKitGTK runtime) | ~14 MB (AppImage) |
| Web Runtime Dependency | Bundled Chromium | System WebKitGTK | None (Native OpenGL / FemtoVG) |
| Telemetry Packages | Sentry, Microsoft Clarity, OpenTelemetry | None | None |
| License | MIT License | CC-BY-NC-SA-4.0 | MIT License |
| Stream Micro-Chunk Pacing | Raw upstream chunks | Raw upstream chunks | Sub-token configurable pacing |
| Reasoning Effort Support | Partial suffixes | Suffixes | Suffixes + Native Protocol |
* Real-world benchmarks performed on Arch Linux under identical test conditions.
* Software versions tested: AMRv0.1.3vs AntigravityManagerv0.30.0(Draculabo) vs Antigravity-Managerv5.0.0(lbjlaq).
Pre-built binaries and distribution packages for the latest AMR release (x86_64 and native ARM64) are available on the Releases page (replace <VERSION> with the downloaded release tag, e.g. 0.1.5):
| OS / Format | Architecture | Package File | Description |
|---|---|---|---|
| Linux (AppImage) | x86_64 / aarch64 |
AMR-<VERSION>-x86_64.AppImageAMR-<VERSION>-aarch64.AppImage |
Portable executable (runs on any modern Linux) |
| Linux (Debian / Ubuntu) | x86_64 / arm64 |
AMR_<VERSION>_amd64.debAMR_<VERSION>_arm64.deb |
Standard .deb package with system desktop & menu integration |
| Linux (Fedora / RHEL) | x86_64 / aarch64 |
AMR-<VERSION>-1.x86_64.rpmAMR-<VERSION>-1.aarch64.rpm |
Standard .rpm package with system desktop & menu integration |
| Windows 10 / 11 | x86_64 |
AMR-<VERSION>-x86_64.exe |
Native GUI executable (no console window) with system tray |
| Windows on ARM | arm64 |
AMR-<VERSION>-arm64.exe |
Native ARM64 executable for Snapdragon X Elite / Surface Pro |
chmod +x AMR-<VERSION>-x86_64.AppImage
# Launch GUI:
./AMR-<VERSION>-x86_64.AppImage
# Launch in headless daemon mode:
./AMR-<VERSION>-x86_64.AppImage --headless --port 8045
# Start minimized to system tray:
./AMR-<VERSION>-x86_64.AppImage --start-minimizedsudo dpkg -i AMR_<VERSION>_amd64.debsudo rpm -i AMR-<VERSION>-1.x86_64.rpmDownload AMR-<VERSION>-x86_64.exe and execute it. AMR runs as a native Windows desktop GUI application (without command prompt), integrates with the system tray, and supports one-click Google OAuth via native ShellExecute.
AMR (Antigravity Manager Rust) — Ultra-lightweight AI API Proxy & Emulator
Usage: amr [OPTIONS]
Options:
--headless Run proxy in headless mode without graphical UI
-p, --port <PORT> Override local listening port [default: 8045]
--start-minimized Start minimized directly to system tray
-c, --config <PATH> Custom config file path
--take-screenshots <DIR> Capture UI screenshots in English and exit
-h, --help Print help
-V, --version Print version
AMR listens on http://127.0.0.1:8045 by default:
AMR provides a specialized anti-detection engine designed to replicate genuine Google Antigravity communication 1-to-1:
-
Authentic Binary Signatures & Client Metadata:
- Go SDK Header: Emulates the official Go language server runtime via
X-Goog-Api-Client: gl-go/1.28.0 gdcl/0.1.0. - Client Info Payload: Injects official IDE telemetry into requests (
clientType: "ANTIGRAVITY",ideType: "ANTIGRAVITY",ideVersion: "2.28.1"). - Production Endpoint Enforcement: Locks requests strictly to production API gateways (
cloudcode-pa.googleapis.com), preventing suspicious flapping to internal Google sandboxes (daily-cloudcode-pa,.sandbox.googleapis.com).
- Go SDK Header: Emulates the official Go language server runtime via
-
Adaptive Exponential Backoff Ladder (Anti-429 Protection):
- When an account receives an HTTP 429 (
Too Many Requests), it is never hammered in rapid retry loops. Instead, AMR steps the account through an adaptive backoff ladder:- Level 1 (Soft Pause): ~3s pause (±15% jitter).
- Level 2 (Backoff): ~15s pause (±15% jitter).
- Level 3 (Cooldown): ~60s pause (±15% jitter).
- Level 4 (Quarantine): ~300s quarantine (±15% jitter).
- While an account is in cooldown, the load balancer automatically routes traffic to other healthy accounts.
- When an account receives an HTTP 429 (
-
Auto-Heal Probing:
- Once an account's backoff timer expires, it enters a Probing state. AMR safely routes a single trial request to the account. Upon a successful response (HTTP 200), Auto-Heal is triggered: the failure counter is reset to zero, and the account returns to full
Healthystatus.
- Once an account's backoff timer expires, it enters a Probing state. AMR safely routes a single trial request to the account. Upon a successful response (HTTP 200), Auto-Heal is triggered: the failure counter is reset to zero, and the account returns to full
-
Randomized Timing Jitter (±15% Spread):
- Applies randomized micro-delays (15–45 ms) and ±15% backoff variations to destroy synthetic machine periodicities and avoid bot-detection heuristics.
export ANTHROPIC_BASE_URL="http://127.0.0.1:8045"
export ANTHROPIC_API_KEY="sk-amr-local-proxy"
claude- API Provider:
OpenAI Compatible - Base URL:
http://127.0.0.1:8045/v1 - API Key:
sk-amr-local-proxy - Model ID:
claude-3-7-sonnet,gemini-2.5-pro, orclaude-3-5-sonnet
- Settings -> Models -> OpenAI API Key:
sk-amr-local-proxy - Override OpenAI Base URL:
http://127.0.0.1:8045/v1 - Supported models:
claude-3-7-sonnet,claude-3-7-sonnet-high,gemini-2.5-pro,gemini-2.5-flash
{
"models": [
{
"title": "AMR Claude 3.7",
"provider": "openai",
"model": "claude-3-7-sonnet",
"apiBase": "http://127.0.0.1:8045/v1",
"apiKey": "sk-amr-local-proxy"
}
]
}- Base URL:
http://127.0.0.1:8045/v1 - API Key:
sk-amr-local-proxy
from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:8045/v1",
api_key="sk-amr-local-proxy",
)
response = client.chat.completions.create(
model="claude-3-7-sonnet",
messages=[{"role": "user", "content": "Explain quantum computing in three sentences."}],
stream=True,
)
for chunk in response:
content = chunk.choices[0].delta.content or ""
print(content, end="", flush=True)AMR dynamically parses available models, roles (agentModelSorts, imageGenerationModelIds, webSearchModelIds), per-model quotas, and availability notices directly from v1internal:fetchAvailableModels without hardcoding model IDs.
| Protocol / Feature | Endpoint | Status | Notes |
|---|---|---|---|
| OpenAI Protocol | POST /v1/chat/completionsGET /v1/models |
Fully Supported | Full OpenAI chat & tools translation, detailed usage metadata |
| Anthropic (Claude) | POST /v1/messages |
Fully Supported | Streaming Thinking Auto-Heal, signature delta frames, anthropic-version: 2023-06-01 |
| Google Gemini Native | POST /v1beta/models/*:generateContentGET /v1beta/models |
Fully Supported | Native Google GenAI SDK & client library compatibility with streaming pass-through |
| Model Context Protocol (MCP) | POST /mcp & /v1/mcp |
Fully Supported | JSON-RPC 2.0 tools: google_web_search(query) & fetch_web_page(url) |
reasoning_effort |
none/low/medium/high |
Supported | Maps none/off to thinkingBudget: 0 and low/medium/high to thinkingLevel (LOW/MEDIUM/HIGH) |
Google thinkingLevel: "MINIMAL" |
Upstream Protocol | Unsupported (400) |
Rejected by upstream; AMR uses thinkingBudget: 0 for none/off |
| Image Generation | POST /v1/images/generations |
Supported | Aspect ratio mapping (1:1, 16:9, 9:16, 4:3, 3:4) & size |
| Web Search Grounding | POST /v1/search |
Supported | Upstream googleSearch tool with source citations |
| Audio STT | POST /v1/audio/transcriptions |
Supported | Multimodal audio transcription via active Gemini Flash |
| Audio TTS | POST /v1/audio/speech |
Upstream 501 |
responseModalities: ["AUDIO"] is not provisioned on upstream cloudcode-pa |
| Embeddings | POST /v1/embeddings |
Unsupported (404) |
No v1internal:embedContent RPC exists on Cloud Code Pa API |
- Rust 1.75+ toolchain (
cargo,rustc) - Linux libraries:
libfontconfig1-dev,libxkbcommon-dev(for GUI build)
git clone https://github.com/Qyzom/Antigravity-Manager-Rust.git
cd Antigravity-Manager-Rust
# Run tests
cargo test
# Build release binary
cargo build --release --bin amr
# Package Linux artifacts (version is read automatically from Cargo.toml)
./packaging/linux/build_appimage.sh
./packaging/linux/build_deb.sh
./packaging/linux/build_rpm.sh- Cumulative, Milestone Releases: AMR intentionally avoids the pattern of churning out dozens of fragmented micro-releases every week ("a patch of a patch holding a patch"). We believe software should be thoroughly tested and reliable before distribution.
- Periods of Silence are Normal: Absence of commits for a few weeks or months is completely normal and indicates a mature, stable engine that requires zero intervention. You can confidently download and use AMR knowing it is stable.
- Explicit Lifecycle Transparency: If the maintainer ever decides to discontinue active development in the future, the repository will be transparently transitioned to Archived status on GitHub rather than left in an unmaintained or ambiguous state.
AMR is distributed under the MIT License.
- Unbounded Font: Licensed under the SIL Open Font License, Version 1.1 (Copyright 2022 The Unbounded Project Authors).
- Slint GUI Framework: Used under the terms of the Royalty-Free Desktop Application License / GPLv3.