* chore: mark peer dependencies in package-lock.json * docs: add comprehensive developer guide for antigravity-manager * build: add @radix-ui/react-tooltip dependency The tooltip component is needed for future UI enhancements to provide better user guidance and information display. * feat(StatusBar): add collapsed view with toggle button - Introduce `isCollapsed` prop to support both expanded and compact layouts - Collapsed view shows a single icon button with status tooltip - Enhanced visual styling with shadows, borders, and improved spacing - Use Tooltip component to display status in collapsed mode * feat(ui): add Radix UI tooltip component wrapper Create a reusable tooltip component using Radix UI primitives. The wrapper provides styled content with animations and integrates with the project's class name utility for consistent theming. * feat(layout): add collapsible sidebar with persistent state - Add toggle button to collapse/expand sidebar with smooth animations - Persist sidebar state in localStorage to maintain user preference - Show tooltips for navigation items when sidebar is collapsed - Adjust StatusBar component to support collapsed state * chore: remove "peer": true flags from package-lock.json * build: mark peer dependencies in package-lock.json * build: add yaml v2.8.2 dependency and update package-lock * docs(project_overview): update skill documentation formatting * docs: remove extra blank line in AGENTS.md * docs: update changelog formatting to use hyphens * docs: improve readability of OpenSpec workflow files * chore: standardize YAML string quotes in GitHub configs * style(StatusBar): reformat JSX for consistency and readability - Simplify className expres * style(ui): standardize quotes and class order in tooltip component - Use single quotes consistently across imports and strings - Reorder Tailwind CSS classes to follow recommended conventions * style(ipc): remove unnecessary parentheses in debug log statement * style(MainLayout): improve code formatting and consistency - Reformat multi-line import for better readability - Normalize Tailwind CSS class ordering - Remove unnecessary whitespace and ensure consistent quotes - Maintain all functionality while improving code style * style(i18n): format long translation strings for better readability * style: remove unnecessary line break in logger.info call The logger.info call had an unnecessary line break that made the code less readable. The line has been consolidated to improve code style consistency. * chore: disable several ESLint rules for development flexibility Disable TypeScript ESLint rules and other linting rules that are too restrictive during active development. This allows faster iteration without constant linting errors for common patterns like `any` types, unused variables, and inline comments. * refactor: use const for immutable variables in request mapper - Change `let` to `const` for variables that are not reassigned - Improves code clarity and prevents accidental reassignment * refactor: replace direct hasOwnProperty calls with safe variant Use Object.prototype.hasOwnProperty.call to avoid issues when objects have overridden hasOwnProperty method. This ensures consistent behavior across all object types. * fix: disable eslint for intentional assignment in useEffect The eslint warning was triggered by directly using setProxyConfig with config.proxy inside useEffect without including it in the dependency array. This assignment is intentional and only needs to run when config changes, not when setProxyConfig changes. Adding the eslint-disable comment prevents the warning while maintaining correct behavior. * chore: disable react-hooks/exhaustive-deps rule This rule was already disabled; the change only adds a trailing comma to the ESLint configuration for consistency. * fix(eslint): re-enable lint rules for hooks and case-declarations --------- Co-authored-by: Draculabo <[email protected]>
Antigravity Manager
🚀 Professional multi-account manager for Google Gemini & Claude AI
English | 简体中文
📖 Table of Contents
- Why Antigravity Manager?
- Features
- Screenshots
- Quick Start
- Tech Stack
- Development
- FAQ
- Contributing
- License
✨ Why Antigravity Manager?
When using Antigravity IDE, have you ever encountered these problems?
- 😫 Single account quota runs out quickly, requiring frequent manual switching
- 🔄 Managing multiple Google/Claude accounts is cumbersome
- 📊 Don't know how much quota is left on the current account
- ⏰ Worried about missing quota reset times
- 🔌 Need a reliable local API proxy for development tools
Antigravity Manager is here to solve these problems! It's a professional Electron desktop app that helps you:
- ✅ Unlimited Account Pool - Add any number of Google Gemini / Claude accounts
- ✅ Smart Auto-Switching - Automatically switch to the next available account when quota is low or rate-limited
- ✅ Real-time Monitoring - Visualize quota usage for all accounts
- ✅ Local API Proxy - Built-in OpenAI/Anthropic compatible proxy server
- ✅ Secure Encryption - AES-256-GCM encryption for sensitive data
🎯 Features
☁️ Cloud Account Pool
|
📊 Real-time Quota Monitoring
|
🔄 Intelligent Auto-Switching
|
🔐 Security First
|
💾 Account Backup
|
⚙️ Process Control
|
🔌 Local API Proxy
|
🛠️ Developer Tools
|
Additional Features
- 🖥️ System Tray - Background mode with tray icon and right-click menu
- 🔗 IDE Sync - Automatically scan and import accounts from IDE's
state.vscdb - 📦 Batch Operations - Batch refresh and delete multiple accounts
- 🌏 Internationalization - Multi-language support (English / 中文)
- 🎨 Modern UI - Built with React, TailwindCSS, and Shadcn UI
📸 Screenshots
� Quick Start
Download
Download the latest release for your platform from the Releases page.
| Platform | Download |
|---|---|
| Windows | .exe installer |
| macOS | .dmg installer |
| Linux | .deb / .rpm |
Build from Source
Prerequisites
- Node.js v18 or higher
- npm or yarn
Steps
# Clone the repository
git clone https://github.com/Draculabo/AntigravityManager.git
cd AntigravityManager
# Install dependencies
npm install
# Start development
npm start
# Build for production
npm run make
�🛠️ Tech Stack
| Category | Technologies |
|---|---|
| Core | Electron, React, TypeScript |
| Build Tool | Vite |
| Styling | TailwindCSS, Shadcn UI |
| State | TanStack Query, TanStack Router |
| Database | Better-SQLite3 |
| Testing | Vitest, Playwright |
� Development
Available Scripts
| Command | Description |
|---|---|
npm start |
Start the app in development mode |
npm run lint |
Run ESLint to check for code issues |
npm run format:write |
Format code with Prettier |
npm run test:unit |
Run unit tests with Vitest |
npm run test:e2e |
Run E2E tests with Playwright |
npm run test:all |
Run all tests |
npm run type-check |
Run TypeScript type checking |
npm run make |
Build production packages |
Project Structure
AntigravityManager/
├── src/
│ ├── main.ts # Electron main process
│ ├── preload.ts # Preload script
│ ├── renderer/ # React renderer process
│ ├── ipc/ # IPC communication handlers
│ └── server/ # Built-in server
├── docs/ # Documentation and assets
└── .github/ # GitHub configuration
❓ FAQ
Q: The app won't start?
Please check:
- Make sure all dependencies are installed:
npm install - Check if Node.js version is >= 18
- Try deleting
node_modulesand reinstalling
Q: Account login failed?
- Ensure network connection is working
- Try clearing app data and logging in again
- Check if the account is restricted by Google/Claude
Q: macOS shows Keychain/Credential error and OAuth cannot be saved?
This is a common macOS security behavior, usually when the app is unsigned or run directly from Downloads. This is a temporary workaround for personal use:
- Move the app to
/Applications - Run the following commands in Terminal (repeat after every update)
sudo xattr -dr com.apple.quarantine "/Applications/Antigravity Manager 2.app"
codesign --force --deep --sign - "/Applications/Antigravity Manager 2.app"
Reopen the app and allow Keychain access if prompted.
Q: How to report issues or suggestions?
Please submit issues or suggestions via GitHub Issues.
🌟 Star History
🤝 Contributing
Contributions are welcome! Please read CONTRIBUTING.md for details.
We follow the Contributor Covenant Code of Conduct.
📄 License
⚠️ Disclaimer
Warning
For Educational Purposes Only
This project is intended solely for educational and research purposes. It is provided "as-is" without any warranty. Commercial use is strictly prohibited.
By using this software, you agree that you will not use it for any commercial purposes, and you are solely responsible for ensuring your use complies with all applicable laws and regulations. The authors and contributors are not responsible for any misuse or damages arising from the use of this software.
If this project helps you, please give it a ⭐ Star!



