Caution
DO NOT SYNC WITH UPSTREAM (lbjlaq/Antigravity-Manager)! This is a separate standalone project. Syncing with upstream will overwrite Droid-specific changes and localized branding.
Version 2.0.0
A fork of Antigravity-Manager with Factory Droid support for seamless integration with Google Gemini, Anthropic Claude, and Kiro models.
- π Kiro Support: Full integration with Kiro AI platform including OAuth authentication and all supported models
- π― All Kiro Models: Support for Claude (Sonnet, Haiku, Opus) + Open Weight models (DeepSeek 3, Minimax 2.1, Qwen3 Coder Next)
- π OAuth Authentication: Seamless Kiro account addition via AWS Cognito with PKCE security
- π Individual Proxies: Each Kiro account can use its own HTTP/SOCKS5 proxy for enhanced privacy
- π° Credit Optimization: Open Weight models with reduced credit costs (DeepSeek: 0.25x, Minimax: 0.15x, Qwen: 0.05x)
- π Smart Routing: Automatic account rotation and provider selection (Gemini/Kiro)
- π Enhanced Monitoring: Full support for Kiro API monitoring and quota tracking
Claude Models (Premium):
auto- Smart Router (recommended)claude-sonnet-4/claude-sonnet-4-5- Balanced quality and speedclaude-haiku-4-5- Fast and economicalclaude-opus-4-5/claude-opus-4-6- Most powerful for coding
Open Weight Models (Cost-Effective):
deepseek-3(0.25x credits) - Best for agentic workflows and code generationminimax-2-1(0.15x credits) - Best for multilingual programming and UI generationqwen3-coder-next(0.05x credits) - Best for coding agents with 256K context window
- Claude Opus 4.6 Support: Full compatibility with the latest
claude-opus-4-6-thinkingmodel. Automatic redirection from legacy Opus 4.5/4.0 IDs. - Improved Rotation Logic: Fixed a bug where 404 NOT_FOUND (Google Resource missing) errors didn't trigger account rotation. Now it instantly switches to the next working account.
- Progressive Context Compression: Implemented 3-layer progressive compression (Tool trimming, Thinking purification, XML summary) to handle massive contexts up to 2M tokens.
- Interrupted Session Recovery: Improved "Heal Session" logic that automatically closes broken tool loops. You can now continue your chat even if the previous response was cut off.
- Fake 200 Error Detection: The proxy now detects model deprecation notices (e.g., "switch to 4.6") hidden inside successful responses and triggers automatic account rotation.
- Restored Prompt Caching: Re-enabled Anthropic's Prompt Caching (
cache_control), reducing token costs by up to 90% for long conversations. - Robust Error Handling:
- Fixed Error 400 caused by incorrect
thoughtSignaturenesting in Gemini API. - Added account rotation for 404 NOT_FOUND (Google Resource missing) errors.
- Eliminated "undefined is not an object" UI crashes during token usage reporting.
- Fixed Error 400 caused by incorrect
- Enhanced Monitoring: Restored Request/Response payload visibility in the Monitor Dashboard with safe truncation for large streams.
- Protocol Synchronization: Harmonized rate limiting and error handling across all protocols (OpenAI, Claude, Gemini, and Audio).
- Fine-Grained Rate Limiting: Implemented async-aware rate limit tracking with support for specific model weights.
- Enhanced Monitoring: Updated database schemas and models to support better log filtering and detailed request metadata.
- Improved Stability: Resolved unresolved names and ensured thread-safe token management during high-concurrency requests.
- Rebranded: UI updated from "Antigravity Tools" to "DroidGravity Manager"
- Update Checker: Now checks for updates from this repository
- Flash Lite Fix: Replaced
gemini-2.5-flash-litewithgemini-2.5-flashto fix 429 rate limit errors - Multi-Wildcard Routing: Support for patterns like
claude-*-sonnet-*in model mapping - Specificity-Based Priority: More specific wildcard rules now take precedence
- Factory Droid Support: Automatic conversion of Factory Droid's request format to OpenAI-compatible format
- Gemini Integration: Full support for Google Gemini models (3 Flash, 3 Pro, 2.5 Flash, 2.5 Pro, Thinking variants)
- Claude Integration: Native Anthropic API support for Claude 3.5 Sonnet and Opus
- Automatic Account Rotation: Seamlessly switches between accounts when hitting rate limits
- No Manual Configuration: Pre-configured model settings included
- Node.js 18+ and npm
- Rust toolchain (for Tauri)
- Windows, macOS, or Linux
# Clone the repository
git clone https://github.com/YOUR_USERNAME/DroidGravity-Manager.git
cd DroidGravity-Manager
# Install dependencies
npm install
# Build the application
npm run tauri buildThe compiled application will be in src-tauri/target/release/.
- Launch DroidGravity Manager
- Add Accounts:
- For Gemini: Go to Accounts β Add Account β Select Gemini β OAuth β Authorize with your Google account
- For Claude: Go to Accounts β Add Account β Select Gemini β OAuth β Authorize with your Anthropic account
- For Kiro: Go to Accounts β Add Account β Select Kiro β OAuth β Authorize with your Kiro account via AWS Cognito
- Start the Proxy: Navigate to API Proxy and enable the server (default port:
8045)
-
Locate Factory Settings:
- Open
~/.factory/settings.json(Linux/macOS) orC:\Users\YOUR_USERNAME\.factory\settings.json(Windows)
- Open
-
Copy Pre-configured Models:
- Use the included
factory-droid-settings.jsonas a template - Important: Replace
"sk-..."with the API key shown in DroidGravity Manager (found in API Proxy section)
- Use the included
-
Merge Settings: Add the
customModelsarray to your existing Factory settings. Note: All model IDs must use thecustom:prefix:
{
"customModels": [
{
"model": "gemini-3-flash",
"id": "custom:Gemini-3-Flash-0",
"index": 0,
"baseUrl": "http://127.0.0.1:8045/",
"apiKey": "YOUR_DROIDGRAVITY_API_KEY_HERE",
"displayName": "Gemini 3 Flash",
"maxOutputTokens": 24576,
"noImageSupport": false,
"provider": "anthropic"
},
{
"model": "claude-sonnet-4-5",
"id": "custom:Claude-4.5-Sonnet-7",
"index": 7,
"baseUrl": "http://127.0.0.1:8045",
"apiKey": "YOUR_DROIDGRAVITY_API_KEY_HERE",
"displayName": "Claude 4.5 Sonnet",
"maxOutputTokens": 8192,
"noImageSupport": false,
"provider": "anthropic"
},
{
"model": "auto",
"id": "custom:Kiro-Auto-10",
"index": 10,
"baseUrl": "http://127.0.0.1:8045",
"apiKey": "YOUR_DROIDGRAVITY_API_KEY_HERE",
"displayName": "Kiro Auto (Smart Router)",
"maxOutputTokens": 32000,
"noImageSupport": false,
"provider": "anthropic"
},
{
"model": "deepseek-3",
"id": "custom:Kiro-DeepSeek-3-16",
"index": 16,
"baseUrl": "http://127.0.0.1:8045",
"apiKey": "YOUR_DROIDGRAVITY_API_KEY_HERE",
"displayName": "Kiro DeepSeek 3 (0.25x credits, Agentic)",
"maxOutputTokens": 32000,
"noImageSupport": false,
"provider": "anthropic"
}
]
}Important Configuration Notes:
- All models: Use
"provider": "anthropic"for compatibility - Model IDs: Must include
custom:prefix (e.g.,custom:Kiro-Auto-10) - Gemini models: Use
"baseUrl": "http://127.0.0.1:8045/"(with trailing slash) - Claude/Kiro models: Use
"baseUrl": "http://127.0.0.1:8045"(no trailing slash)
- In your Factory Droid CLI, type:
/model - Select one of your custom models:
- Gemini: "Gemini 3 Flash", "Gemini 2.5 Pro", etc.
- Claude: "Claude 4.5 Sonnet", "Claude 4.6 Opus", etc.
- Kiro: "Kiro Auto", "Kiro DeepSeek 3", "Kiro Qwen3 Coder Next", etc.
- Start chatting! DroidGravity will automatically manage account rotation and quotas
- Automatic Rotation: Switches accounts when hitting rate limits (429/403 errors)
- Quota Tracking: Real-time monitoring of API quotas per account
- OAuth Integration: Easy account addition via Google/Anthropic OAuth flow
- Smart Routing: Routes requests to accounts with available quotas
Google Gemini:
- Gemini 3 Flash
- Gemini 3 Pro High
- Gemini 3 Pro Low
- Gemini 2.5 Flash
- Gemini 2.5 Flash Lite
- Gemini 2.5 Pro
- Gemini 2.5 Flash (Thinking)
Anthropic Claude:
- Claude 4.5 Sonnet
- Claude 4.5 Sonnet (Thinking)
- Claude 4.6 Opus (Thinking) [Recommended]
- Claude 3.5 Sonnet & Haiku (Via Legacy IDs)
Kiro AI Platform:
- Auto (Smart Router) [Recommended]
- Claude Sonnet 4.0/4.5/4.6 (Latest: 4.6 with 1.3x credits)
- Claude Haiku 4.5 (Fast)
- Claude Opus 4.5/4.6 (Powerful)
- DeepSeek 3 (0.25x credits, Agentic)
- Minimax 2.1 (0.15x credits, Multilingual)
- Qwen3 Coder Next (0.05x credits, 256K context)
DroidGravity automatically converts Factory Droid's proprietary request format:
{
"model": "gemini-3-flash",
"input": [
{
"role": "user",
"content": [
{"type": "input_text", "text": "Your message"}
]
}
]
}Into standard OpenAI format:
{
"model": "gemini-3-flash",
"messages": [
{
"role": "user",
"content": "Your message"
}
]
}Access Model Mapping in the UI to create custom route mappings:
- Map custom model names to upstream models
- Create aliases for easier access
- Route specific requests to specific account types
Default port is 8045. To change:
- Open DroidGravity settings
- Navigate to API Proxy β Settings
- Update port and restart proxy
- π Kiro Platform Support: Full integration with Kiro AI platform
- π OAuth Authentication: AWS Cognito-based authentication with PKCE security
- π― All Kiro Models: Support for Claude models + Open Weight models (DeepSeek, Minimax, Qwen)
- π Individual Proxies: Per-account HTTP/SOCKS5 proxy support for enhanced privacy
- π° Cost Optimization: Open Weight models with reduced credit multipliers
- π Provider Selection: UI support for choosing between Gemini and Kiro providers
- π Enhanced Monitoring: Full Kiro API monitoring and quota tracking
- β‘ Smart Routing: Automatic account rotation across multiple providers
- π οΈ Backend Architecture: Complete OAuth module, token management, and proxy handlers
- π Factory Integration: Pre-configured Kiro models in factory-droid-settings.json
- β¨ Account Rotation Fix: Added 404 NOT_FOUND error detection to
should_rotate_accountlogic. - π Opus 4.6 Migration: Full support for native
claude-opus-4-6-thinking. - β¨ UI Updates: All references updated from Claude 4.5 to Claude 4.6 Opus.
- π©Ή Heal Session Logic: Enhanced recovery for interrupted thinking/tool streams.
- β‘ Prompt Caching: Restored
cache_controlintegration. - π Monitor Dashboard: Restored Payloads and fixed token usage UI crashes.
- β‘ Synchronized rate limiting logic across Gemini, Claude, and OpenAI handlers.
- π οΈ Fixed missing rate limit marking in Audio transcription handler.
- π Enhanced proxy database with support for client IP tracking and token reasoning metadata.
- π Optimized
TokenManagerto handle concurrent account reloads more efficiently. - π Resolved various "unresolved name" errors and improved type safety in handlers.
- π¨ Rebranded UI from "Antigravity Tools" to "DroidGravity Manager"
- π Update checker now points to this repository
- π Fixed 429 rate limit errors by replacing
gemini-2.5-flash-litewithgemini-2.5-flash - β¨ Added multi-wildcard pattern support in model routing (e.g.,
claude-*-sonnet-*) - β¨ Added specificity-based priority for wildcard rules
- π§ͺ Added unit tests for wildcard matching
Initial DroidGravity Release:
- β¨ Added Factory Droid request format support
- β¨ Automatic conversion of
inputβmessagesformat - β¨ Support for
type: "input_text"content blocks - β¨ Pre-configured model settings for easy setup
- π English documentation and setup guide
- π§ Optimized for Factory Droid CLI integration
This project is a fork of the excellent Antigravity-Manager by @lbjlaq.
Original Project: https://github.com/lbjlaq/Antigravity-Manager
DroidGravity builds on top of Antigravity's solid foundation to add Factory Droid compatibility.
Inherits the license from Antigravity-Manager.
- Check API Key: Ensure the API key in
settings.jsonmatches the one shown in DroidGravity Manager - Verify Provider: Gemini models need
"provider": "openai", Claude needs"provider": "anthropic" - Check Base URL: Gemini uses
/v1suffix, Claude doesn't
- Type
/modelin Factory Droid - If models don't show, restart Factory Droid CLI
- Verify
customModelsarray is properly formatted in~/.factory/settings.json
- Verify accounts are properly authorized (green status in UI)
- Check that accounts have available quota
- Review logs in Settings β Logs for error details
Happy coding with DroidGravity! π