diff --git a/.agent/skills/project_overview/SKILL.md b/.agent/skills/project_overview/SKILL.md
index 7538977..3815f10 100644
--- a/.agent/skills/project_overview/SKILL.md
+++ b/.agent/skills/project_overview/SKILL.md
@@ -1,13 +1,13 @@
---
-name: antigravity-manager
-description: Comprehensive guide to Antigravity Manager architecture, workflows, and development. Use this to understand how to work on the project.
+name: geminiNexus-manager
+description: Comprehensive guide to Gemini Nexus Manager architecture, workflows, and development. Use this to understand how to work on the project.
---
-# Antigravity Manager Developer Guide
+# Gemini Nexus Manager Developer Guide
## 🏗️ Architecture Overview
-Antigravity Manager is a hybrid Desktop Application built with Electron, React, and NestJS. It follows a modular architecture where the frontend (Renderer) communicates with the backend (Main) via type-safe IPC (ORPC).
+Gemini Nexus Manager is a hybrid Desktop Application built with Electron, React, and NestJS. It follows a modular architecture where the frontend (Renderer) communicates with the backend (Main) via type-safe IPC (ORPC).
```mermaid
graph TD
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b9bae69..ce59cff 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -301,7 +301,7 @@
### Added
-- Initial release of Antigravity Manager
+- Initial release of Gemini Nexus
- Multi-account management for Google Gemini and Claude
- Real-time quota monitoring
- Intelligent auto-switching capabilities
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e729381..abf658f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,8 +1,8 @@
-# Contributing to Antigravity Manager
+# Contributing to Gemini Nexus
-First off, thank you for considering contributing to Antigravity Manager! 🎉
+First off, thank you for considering contributing to Gemini Nexus! 🎉
-It's people like you that make Antigravity Manager such a great tool. We welcome contributions from everyone, whether it's a bug report, feature suggestion, documentation improvement, or code contribution.
+It's people like you that make Gemini Nexus such a great tool. We welcome contributions from everyone, whether it's a bug report, feature suggestion, documentation improvement, or code contribution.
## 📋 Table of Contents
@@ -24,8 +24,8 @@ This project and everyone participating in it is governed by our [Code of Conduc
1. **Fork the repository** on GitHub
2. **Clone your fork** locally:
```bash
- git clone https://github.com/YOUR_USERNAME/AntigravityManager.git
- cd AntigravityManager
+ git clone https://github.com/YOUR_USERNAME/GeminiNexusManager.git
+ cd Gemini NexusManager
```
3. **Add the upstream remote**:
```bash
@@ -178,7 +178,7 @@ Have an idea? Please [create an issue](https://github.com/Draculabo/AntigravityM
## 🙏 Thank You
-Your contributions help make Antigravity Manager better for everyone. Thank you for taking the time to contribute!
+Your contributions help make Gemini Nexus better for everyone. Thank you for taking the time to contribute!
---
diff --git a/README.md b/README.md
index a5c50a9..d0f2699 100644
--- a/README.md
+++ b/README.md
@@ -1,50 +1,41 @@
-
+
-
Antigravity Manager
+
Gemini Nexus
🚀 Professional multi-account manager for Google Gemini & Claude AI
---
## 📖 Table of Contents
-- [Why Antigravity Manager?](#-why-antigravity-manager)
+- [Why Gemini Nexus?](#-why-gemini-nexus)
+- [Improvements over Base Project](#-improvements-over-base-project)
- [Features](#-features)
- [Screenshots](#-screenshots)
- [Quick Start](#-quick-start)
@@ -57,9 +48,9 @@
---
-## ✨ Why Antigravity Manager?
+## ✨ Why Gemini Nexus?
-When using Antigravity IDE, have you ever encountered these problems?
+When using your favorite IDEs, have you ever encountered these problems?
- 😫 Single account quota runs out quickly, requiring frequent manual switching
- 🔄 Managing multiple Google/Claude accounts is cumbersome
@@ -67,7 +58,7 @@ When using Antigravity IDE, have you ever encountered these problems?
- ⏰ 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:
+**Gemini Nexus** 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
@@ -77,6 +68,19 @@ When using Antigravity IDE, have you ever encountered these problems?
---
+## 🌟 Improvements over Base Project
+
+This project contains significant development improvements, bug fixes, and configuration enhancements compared to the original base project.
+
+Key improvements include:
+- **Enhanced API Management UI:** Implemented dynamic model selectors and "Copy API Name" features to streamline integration with other tools.
+- **Robust SSE Streaming:** Fixed critical Server-Sent Events (SSE) streaming bugs in the `/v1/chat/completions` proxy endpoint to perfectly support IDEs like Cursor, OpenCode, and Windsurf.
+- **Rebranding and Localization:** Complete rebranding to Gemini Nexus with improved Portuguese (Brazil) localization and English defaults.
+- **Agentic Capabilities:** Integration of advanced AI developer agents and skill frameworks (GSD, AutoResearch, Superpowers) directly into the project ecosystem for rapid autonomous development.
+- **Build & Dev Env:** Better cross-platform build configurations, updated schemas, and automated toolchain processes.
+
+---
+
## 🎯 Features
@@ -116,24 +120,6 @@ When using Antigravity IDE, have you ever encountered these problems?
-
-
-
💾 Account Backup
-
-
Capture snapshots of account state
-
Fast switching between saved accounts
-
View, organize, and delete snapshots
-
-
-
-
⚙️ Process Control
-
-
Auto-detect if Antigravity is running
-
Launch via URI protocol or executable
-
Graceful close or force kill
-
-
-
🔌 Local API Proxy
@@ -154,19 +140,6 @@ When using Antigravity IDE, have you ever encountered these problems?
-### 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
-- **📤 JSON Export/Import** - Export and import account pools with schema validation and deduplication
-- **🔔 Desktop Notifications** - Configurable alerts when model quota drops below your threshold
-- **🌐 Per-Account Proxy** - Route individual accounts through their own HTTP/SOCKS5 proxy
-- **📊 Smart Sorting** - Sort accounts by recently used, overall quota, or specific model groups
-- **📋 Compact Layout** - Dense horizontal view to maximize visible accounts
-- **🌏 Internationalization** - Multi-language support (English / 中文 / Русский)
-- **🎨 Modern UI** - Built with React, TailwindCSS, and Shadcn UI
-
---
## 📸 Screenshots
@@ -175,86 +148,23 @@ When using Antigravity IDE, have you ever encountered these problems?
-
-
-
-
-
-
---
-## � Quick Start
-
-### Download
-
-Download the latest release for your platform from the [Releases](https://github.com/Draculabo/AntigravityManager/releases) page.
-
-| Platform | Download |
-|----------|----------|
-| Windows (x64/ARM64) | [.exe installer](https://github.com/Draculabo/AntigravityManager/releases/latest) |
-| macOS | [.dmg installer](https://github.com/Draculabo/AntigravityManager/releases/latest) |
-| Linux | [.deb / .rpm](https://github.com/Draculabo/AntigravityManager/releases/latest) |
-| NixOS / Nix | `nix run github:Draculabo/AntigravityManager` |
-
-### ❄️ Nix Integration
-
-You can integrate Antigravity Manager into your Nix configuration using the provided flake.
-
-#### 🛠️ NixOS / Home Manager
-
-Add the flake to your `flake.nix` inputs:
-
-```nix
-inputs = {
- nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
- antigravity-manager.url = "github:Draculabo/AntigravityManager";
-};
-```
-
-To integrate with your system, add `antigravity-manager.overlays.default` to your `nixpkgs.overlays`. This ensures the package is correctly built against your own `nixpkgs` instance and respects your global configuration.
-
-```nix
-# Add to your NixOS/Home Manager configuration
-{
- nixpkgs.overlays = [ inputs.antigravity-manager.overlays.default ];
-
- # Antigravity Manager has an unfree license (cc-by-nc-sa-40)
- nixpkgs.config.allowUnfree = true;
-
- environment.systemPackages = [
- pkgs.antigravity-manager
- ];
-}
-```
-
-#### 💻 Development Shell
-
-If you're using the overlay above, you can simply add it to your `devShell`:
-
-```nix
-devShells.default = pkgs.mkShell {
- packages = [
- pkgs.antigravity-manager
- ];
-};
-```
-
-> [!NOTE]
-> Since the package is unfree, you **must** have `allowUnfree = true;` enabled in your `nixpkgs` configuration for it to evaluate correctly.
+## ⚡ Quick Start
### Build from Source
#### Prerequisites
- Node.js v18 or higher
-- npm or yarn
+- npm or pnpm
#### Steps
```bash
# Clone the repository
-git clone https://github.com/Draculabo/AntigravityManager.git
-cd AntigravityManager
+git clone https://github.com/Draculabo/GeminiNexus.git
+cd GeminiNexus
# Install dependencies
npm install
@@ -268,56 +178,15 @@ npm run make
---
-## �🛠️ Tech Stack
+## 🛠️ Tech Stack
| Category | Technologies |
|----------|-------------|
| **Core** | [Electron](https://www.electronjs.org/), [React](https://react.dev/), [TypeScript](https://www.typescriptlang.org/) |
| **Build Tool** | [Vite](https://vitejs.dev/) |
| **Styling** | [TailwindCSS](https://tailwindcss.com/), [Shadcn UI](https://ui.shadcn.com/) |
-| **State** | [TanStack Query](https://tanstack.com/query/latest), [TanStack Router](https://tanstack.com/router/latest) |
+| **State** | [TanStack Query](https://tanstack.com/query/latest) |
| **Database** | [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) |
-| **Testing** | [Vitest](https://vitest.dev/), [Playwright](https://playwright.dev/) |
-
----
-
-## � 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
-```
-
----
-
-## 🔍 Debugging Docs
-
-If you want to inspect Antigravity or Antigravity Manager traffic with Proxyman, start here:
-
-- [Proxyman Installation and Basic Setup on Windows](docs/proxyman-install.md)
-- [Proxyman Debugging Guide for Antigravity and Antigravity Manager](docs/proxyman-debugging.md)
---
@@ -342,50 +211,11 @@ Please check:
-
-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:
-
-1. Move the app to `/Applications`
-2. Run the following commands in Terminal (repeat after every update)
-
-```plaintext
-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](https://github.com/Draculabo/AntigravityManager/issues).
-
-
-
----
-
-## 🌟 Star History
-
-
-
-
-
-
-
-
-
---
## 🤝 Contributing
-Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details.
-
-We follow the [Contributor Covenant](CODE_OF_CONDUCT.md) Code of Conduct.
+Contributions are welcome! Please read `CONTRIBUTING.md` for details.
---
@@ -406,6 +236,6 @@ We follow the [Contributor Covenant](CODE_OF_CONDUCT.md) Code of Conduct.
---
-
- If this project helps you, please give it a ⭐ Star!
-
+## 🙏 Credits
+
+**Gemini Nexus** is a significantly enhanced and expanded version of the original project [AntigravityManager](https://github.com/Draculabo/AntigravityManager) created by [Draculabo](https://github.com/Draculabo). All fundamental architecture and design were made by the original author.
diff --git a/README.pt-BR.md b/README.pt-BR.md
new file mode 100644
index 0000000..fb237bf
--- /dev/null
+++ b/README.pt-BR.md
@@ -0,0 +1,145 @@
+
+
+
+
+
Gemini Nexus
+
+
+ 🚀 Gerenciador multi-contas profissional para Google Gemini & Claude AI
+
+
+---
+
+## ✨ Por que o Gemini Nexus?
+
+Quando você usa suas IDEs favoritas, já encontrou estes problemas?
+
+- 😫 A cota da sua única conta acaba rápido, exigindo trocas manuais frequentes
+- 🔄 Gerenciar múltiplas contas do Google/Claude é cansativo
+- 📊 Você não sabe quanta cota resta na conta atual
+- 🔌 Precisa de um proxy local e confiável para suas ferramentas de desenvolvimento
+
+**Gemini Nexus** está aqui para resolver tudo isso! Ele é um app desktop profissional construído em Electron que te ajuda a:
+
+- ✅ **Contas Ilimitadas** - Adicione quantas contas Google Gemini / Claude quiser
+- ✅ **Troca Automática** - Troca inteligentemente para a próxima conta disponível quando o limite é atingido
+- ✅ **Monitoramento em Tempo Real** - Visualize o uso de cota de todas as contas
+- ✅ **Proxy de API Local** - Servidor proxy integrado compatível com OpenAI/Anthropic
+- ✅ **Criptografia Segura** - Criptografia AES-256-GCM para seus dados sensíveis
+
+---
+
+## 🌟 Melhorias sobre o Projeto Base
+
+Este projeto contém melhorias significativas de desenvolvimento, correção de erros e melhorias de configuração em relação ao projeto original base.
+
+Principais melhorias incluem:
+- **Interface de Gerenciamento de API Aprimorada:** Seletores dinâmicos de modelos e recursos de "Copiar Nome da API" implementados para facilitar a integração com outras ferramentas.
+- **Streaming Robusto (SSE):** Correção de bugs críticos no streaming via Server-Sent Events (SSE) no endpoint proxy `/v1/chat/completions` para suportar perfeitamente IDEs como Cursor, OpenCode e Windsurf.
+- **Rebranding e Localização:** Rebranding completo para Gemini Nexus com traduções melhoradas em Português (Brasil) e padrões em Inglês.
+- **Capacidades de Agentes:** Integração direta de frameworks avançados de agentes desenvolvedores de IA e skills (GSD, AutoResearch, Superpowers) no ecossistema do projeto para desenvolvimento autônomo rápido.
+- **Ambiente de Build e Dev:** Melhores configurações de build cross-platform, schemas atualizados e processos de toolchain automatizados.
+
+---
+
+## 🎯 Funcionalidades
+
+
+
+
+
☁️ Pool de Contas na Nuvem
+
+
Adicione contas via OAuth do Google e Anthropic
+
Mostra avatar, e-mail, status e último horário de uso
+
+
+
+
📊 Monitoramento de Cota
+
+
Suporte multi-modelo: gemini-pro, claude-3-5-sonnet, etc.
+
Barras de progresso visuais com indicadores de cores
+
+
+
+
+
+
🔄 Troca Automática
+
+
Modo de pool ilimitado com seleção inteligente
+
Monitoramento a cada 5 minutos em segundo plano
+
+
+
+
🔌 Proxy Local
+
+
Compatível com API da OpenAI & Anthropic
+
Mapeamento de modelos customizável (ex: Claude → Gemini)
+
+
+
+
+
+---
+
+## ⚡ Começo Rápido
+
+### Construindo pelo Código Fonte
+
+#### Pré-requisitos
+
+- Node.js v18 ou superior
+- npm
+
+#### Passos
+
+```bash
+# Clone o repositório
+git clone https://github.com/Draculabo/GeminiNexus.git
+cd GeminiNexus
+
+# Instale as dependências
+npm install
+
+# Inicie o modo de desenvolvimento
+npm start
+
+# Construa para produção
+npm run make
+```
+
+---
+
+## 📄 Licença
+
+[CC BY-NC-SA 4.0](LICENSE)
+
+---
+
+## ⚠️ Aviso Legal
+
+> [!WARNING]
+> **Apenas para Fins Educacionais**
+>
+> Este projeto destina-se exclusivamente a fins de pesquisa e educação. Ele é fornecido "como está" sem qualquer garantia. **O uso comercial é estritamente proibido.**
+
+---
+
+## 🙏 Créditos
+
+**Gemini Nexus** é uma versão significativamente aprimorada e expandida baseada no projeto original [AntigravityManager](https://github.com/Draculabo/AntigravityManager) criado por [Draculabo](https://github.com/Draculabo). Toda a arquitetura fundamental e design do projeto foram criados pelo autor original.
diff --git a/README.zh-CN.md b/README.zh-CN.md
deleted file mode 100644
index 77789fe..0000000
--- a/README.zh-CN.md
+++ /dev/null
@@ -1,411 +0,0 @@
-
diff --git a/SECURITY.md b/SECURITY.md
index 9b0133a..43ebf37 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -2,7 +2,7 @@
## 🔒 Security Features
-Antigravity Manager takes security seriously. Here are the security measures we've implemented:
+Gemini Nexus takes security seriously. Here are the security measures we've implemented:
### Encryption
@@ -35,7 +35,7 @@ We only provide security updates for the latest version. Please ensure you're ru
## 🚨 Reporting a Vulnerability
-We take all security vulnerabilities seriously. Thank you for helping to improve the security of Antigravity Manager.
+We take all security vulnerabilities seriously. Thank you for helping to improve the security of Gemini Nexus.
### How to Report
@@ -75,7 +75,7 @@ Please include the following information in your report:
To ensure the security of your data:
-1. **Keep Updated**: Always use the latest version of Antigravity Manager
+1. **Keep Updated**: Always use the latest version of Gemini Nexus
2. **System Security**: Keep your operating system updated
3. **Secure Environment**: Use the application on trusted devices only
4. **Backup**: Regularly backup your account data using the built-in backup feature
@@ -90,4 +90,4 @@ When we receive a security bug report, we will:
3. Prepare fixes for all supported versions
4. Release new versions as soon as possible
-Thank you for helping keep Antigravity Manager and its users safe!
+Thank you for helping keep Gemini Nexus and its users safe!
diff --git a/cli/README.md b/cli/README.md
index d4578b0..894db94 100644
--- a/cli/README.md
+++ b/cli/README.md
@@ -1,4 +1,4 @@
-# Antigravity Manager CLI
+# Gemini Nexus CLI
A powerful command-line interface for managing multiple Google Cloud AI accounts in Antigravity IDE. Supports account switching, quota monitoring, token validation, and more.
@@ -147,7 +147,7 @@ agm doctor
## How It Works
-The CLI interacts directly with the Antigravity Manager's encrypted database:
+The CLI interacts directly with the Gemini Nexus's encrypted database:
1. **Database Location**: Auto-discovers the database in `%APPDATA%\AntigravityManager` or IDE installation directory
2. **Encryption**: Uses Windows DPAPI + AES-256-GCM to decrypt account tokens (same as the IDE)
@@ -157,7 +157,7 @@ The CLI interacts directly with the Antigravity Manager's encrypted database:
## Troubleshooting
**"Database not found" error:**
-- Ensure Antigravity Manager has been run at least once
+- Ensure Gemini Nexus has been run at least once
- Check if accounts exist in the GUI first
**"Failed to decrypt" error:**
@@ -175,7 +175,7 @@ The CLI interacts directly with the Antigravity Manager's encrypted database:
- Windows 10/11
- Python 3.8+
-- Antigravity Manager (for database access)
+- Gemini Nexus (for database access)
## Development
diff --git a/docs/assets/logo.png b/docs/assets/logo.png
index 5922c51..50d3365 100644
Binary files a/docs/assets/logo.png and b/docs/assets/logo.png differ
diff --git a/docs/cloud_features.md b/docs/cloud_features.md
index 96d2253..a4a3c4b 100644
--- a/docs/cloud_features.md
+++ b/docs/cloud_features.md
@@ -1,6 +1,6 @@
# Cloud Account Management and Intelligent Switching
-This document explains the cloud AI account management and switching capabilities in Antigravity Manager. The feature allows users to manage multiple Google accounts, monitor API quotas, and seamlessly switch the active IDE account with one click.
+This document explains the cloud AI account management and switching capabilities in Gemini Nexus. The feature allows users to manage multiple Google accounts, monitor API quotas, and seamlessly switch the active IDE account with one click.
## 1. Core Features
diff --git a/docs/proxyman-debugging.md b/docs/proxyman-debugging.md
index 5644dcf..5504b98 100644
--- a/docs/proxyman-debugging.md
+++ b/docs/proxyman-debugging.md
@@ -1,9 +1,9 @@
-# Proxyman Debugging Guide for Antigravity and Antigravity Manager
+# Proxyman Debugging Guide for Antigravity and Gemini Nexus
This guide explains how to use Proxyman for two debugging targets:
1. The installed official `Antigravity` desktop client
-2. The `Antigravity Manager` development build from this repository
+2. The `Gemini Nexus` development build from this repository
Before you start, complete [Proxyman Installation and Basic Setup on Windows](./proxyman-install.md).
@@ -12,7 +12,7 @@ Before you start, complete [Proxyman Installation and Basic Setup on Windows](./
Use this guide when you want to:
- inspect login, quota, project context, or model-list requests from `Antigravity`
-- inspect OAuth, quota refresh, or proxy traffic from `Antigravity Manager`
+- inspect OAuth, quota refresh, or proxy traffic from `Gemini Nexus`
- compare requests from the official client with requests produced by this project
## Understand the Two Traffic Paths
@@ -24,7 +24,7 @@ Use this guide when you want to:
- Chromium or renderer-side requests
- Electron or Node-side requests
-### `Antigravity Manager` in This Repository
+### `Gemini Nexus` in This Repository
This project is also an Electron app, but it additionally includes Node, Undici, and internal proxy flows. You may need to inspect:
@@ -68,7 +68,7 @@ powershell -ExecutionPolicy Bypass -File .\scripts\start-antigravity-with-proxym
Notes:
- This script targets the installed official `Antigravity` client.
-- It does not launch this repository's `Antigravity Manager` development build.
+- It does not launch this repository's `Gemini Nexus` development build.
- Override `-AppPath`, `-CaPath`, `-ProxyHost`, or `-NoProxy` if your local environment differs.
### Suggested Flow
@@ -111,7 +111,7 @@ If system proxy behavior is unreliable, you can launch the installed client with
Use this as a fallback, not the default path.
-## Debug Antigravity Manager From This Repository
+## Debug Gemini Nexus From This Repository
This project has more layers than the official client. The script above is not the general launcher for this repository's development app.
@@ -227,7 +227,7 @@ powershell -ExecutionPolicy Bypass -File .\scripts\start-antigravity-with-proxym
4. Trigger login, quota, or model-list traffic.
-### Antigravity Manager in This Repository
+### Gemini Nexus in This Repository
1. Complete [Proxyman Installation and Basic Setup on Windows](./proxyman-install.md).
2. Open PowerShell.
diff --git a/fix-ts.js b/fix-ts.js
new file mode 100644
index 0000000..4d49829
--- /dev/null
+++ b/fix-ts.js
@@ -0,0 +1,43 @@
+const fs = require('fs');
+const path = require('path');
+
+const projectRoot = process.cwd();
+
+// Extensões permitidas
+const allowedExtensions = /\.(ts|tsx)$/;
+
+function walkAndFix(dir) {
+ const files = fs.readdirSync(dir);
+
+ for (const file of files) {
+ if (['node_modules', '.git', 'dist', 'out'].includes(file)) continue;
+
+ const fullPath = path.join(dir, file);
+ const stat = fs.statSync(fullPath);
+
+ if (stat.isDirectory()) {
+ walkAndFix(fullPath);
+ } else if (allowedExtensions.test(file)) {
+ let content = fs.readFileSync(fullPath, 'utf-8');
+ const original = content;
+
+ // Fix specific known broken identifiers
+ content = content.replace(/closeGemini Nexus/g, 'closeGeminiNexus');
+ content = content.replace(/startGemini Nexus/g, 'startGeminiNexus');
+ content = content.replace(/Gemini NexusVersion/g, 'GeminiNexusVersion');
+ content = content.replace(/Gemini NexusDb/g, 'GeminiNexusDb');
+ content = content.replace(/Gemini NexusStorage/g, 'GeminiNexusStorage');
+ content = content.replace(/Gemini NexusExecutable/g, 'GeminiNexusExecutable');
+ content = content.replace(/Gemini NexusCoreFeatures/g, 'GeminiNexusCoreFeatures');
+ content = content.replace(/getGemini Nexus/g, 'getGeminiNexus');
+
+ if (content !== original) {
+ fs.writeFileSync(fullPath, content, 'utf-8');
+ console.log(`Fixed TS errors in: ${fullPath}`);
+ }
+ }
+ }
+}
+
+walkAndFix(projectRoot);
+console.log('Fix complete.');
diff --git a/forge.config.ts b/forge.config.ts
index e22c826..5c861e1 100644
--- a/forge.config.ts
+++ b/forge.config.ts
@@ -25,7 +25,7 @@ import { stringify as yamlStringify } from 'yaml';
const nativeModules = ['better-sqlite3', 'keytar', 'bindings', 'file-uri-to-path'];
const ResolvedMakerAppImage = MakerAppImage;
const keepLanguages = new Set(['en', 'en-US', 'zh-CN', 'ru']);
-const windowsExecutableName = 'antigravity-manager';
+const windowsExecutableName = 'gemini-nexus';
const isStartCommand = process.argv.some((arg) => arg.includes('start'));
@@ -204,7 +204,7 @@ const config: ForgeConfig = {
asar: {
unpack: '**/{better-sqlite3,keytar}/**/*',
},
- name: 'Antigravity Manager',
+ name: 'Gemini Nexus',
executableName: windowsExecutableName,
icon: 'images/icon', // Electron Forge automatically adds .icns/.ico
extraResource: ['src/assets'], // Copy assets folder to resources/assets
diff --git a/images/app.icns b/images/app.icns
index 08b50a0..461580e 100644
Binary files a/images/app.icns and b/images/app.icns differ
diff --git a/images/app.ico b/images/app.ico
index 2d0ebbc..090edcc 100644
Binary files a/images/app.ico and b/images/app.ico differ
diff --git a/images/favicon-120.png b/images/favicon-120.png
index 0a6de8c..00d7084 100644
Binary files a/images/favicon-120.png and b/images/favicon-120.png differ
diff --git a/images/favicon-128.png b/images/favicon-128.png
index 266ed89..7671d19 100644
Binary files a/images/favicon-128.png and b/images/favicon-128.png differ
diff --git a/images/favicon-144.png b/images/favicon-144.png
index c3998f7..3c8c9bd 100644
Binary files a/images/favicon-144.png and b/images/favicon-144.png differ
diff --git a/images/favicon-152.png b/images/favicon-152.png
index 3fc8efc..d95c646 100644
Binary files a/images/favicon-152.png and b/images/favicon-152.png differ
diff --git a/images/favicon-195.png b/images/favicon-195.png
index 096bf41..3e2a020 100644
Binary files a/images/favicon-195.png and b/images/favicon-195.png differ
diff --git a/images/favicon-228.png b/images/favicon-228.png
index f7b94b5..3d940b8 100644
Binary files a/images/favicon-228.png and b/images/favicon-228.png differ
diff --git a/images/favicon-32.png b/images/favicon-32.png
index ad478c6..c4ec3e9 100644
Binary files a/images/favicon-32.png and b/images/favicon-32.png differ
diff --git a/images/favicon-57.png b/images/favicon-57.png
index 69c1584..0f74fa5 100644
Binary files a/images/favicon-57.png and b/images/favicon-57.png differ
diff --git a/images/favicon-72.png b/images/favicon-72.png
index 6561ddc..55b4feb 100644
Binary files a/images/favicon-72.png and b/images/favicon-72.png differ
diff --git a/images/favicon-96.png b/images/favicon-96.png
index caac485..801a843 100644
Binary files a/images/favicon-96.png and b/images/favicon-96.png differ
diff --git a/images/favicon.ico b/images/favicon.ico
index 419e4e8..8913624 100644
Binary files a/images/favicon.ico and b/images/favicon.ico differ
diff --git a/images/icon.png b/images/icon.png
index ceb4935..50d3365 100644
Binary files a/images/icon.png and b/images/icon.png differ
diff --git a/index.html b/index.html
index 6bf0dfb..017ee8d 100644
--- a/index.html
+++ b/index.html
@@ -2,7 +2,7 @@
- Antigravity Manager
+ Gemini Nexus
diff --git a/openspec/changes/improve-cross-platform-stability/proposal.md b/openspec/changes/improve-cross-platform-stability/proposal.md
index f73fb2c..bacae75 100644
--- a/openspec/changes/improve-cross-platform-stability/proposal.md
+++ b/openspec/changes/improve-cross-platform-stability/proposal.md
@@ -20,7 +20,7 @@
- Affected code:
- `src/ipc/database/cloudHandler.ts`
- `src/ipc/database/handler.ts`
- - `src/utils/antigravityVersion.ts`
+ - `src/utils/geminiNexusVersion.ts`
- `src/utils/paths.ts` (this stage covers default runtime configuration path only)
- `src/types/db.ts`
diff --git a/openspec/changes/improve-cross-platform-stability/specs/ide-auth-compat/spec.md b/openspec/changes/improve-cross-platform-stability/specs/ide-auth-compat/spec.md
index a4bfaf6..c091121 100644
--- a/openspec/changes/improve-cross-platform-stability/specs/ide-auth-compat/spec.md
+++ b/openspec/changes/improve-cross-platform-stability/specs/ide-auth-compat/spec.md
@@ -38,5 +38,5 @@ The system SHALL use a strategy pattern to split new/legacy/dual-write injection
The system SHALL prefer new-format injection when new-format keys are detected.
#### Scenario: New-format key exists
-- **WHEN** `antigravityUnifiedStateSync.oauthToken` exists
+- **WHEN** `geminiNexusUnifiedStateSync.oauthToken` exists
- **THEN** injection uses new format with higher priority
diff --git a/openspec/changes/localize-app-chinese-default/proposal.md b/openspec/changes/localize-app-chinese-default/proposal.md
index 034d835..7862296 100644
--- a/openspec/changes/localize-app-chinese-default/proposal.md
+++ b/openspec/changes/localize-app-chinese-default/proposal.md
@@ -4,7 +4,7 @@
## Summary
-Add multilingual support to Antigravity Manager and automatically set the default UI language based on the user's OS language. If the OS language is unsupported, fall back to English. This includes updating i18n configuration, adding Chinese translation resources, and integrating a language detection plugin.
+Add multilingual support to Gemini Nexus and automatically set the default UI language based on the user's OS language. If the OS language is unsupported, fall back to English. This includes updating i18n configuration, adding Chinese translation resources, and integrating a language detection plugin.
## Motivation
diff --git a/openspec/changes/support-wsl-environment/proposal.md b/openspec/changes/support-wsl-environment/proposal.md
index b876674..32a7328 100644
--- a/openspec/changes/support-wsl-environment/proposal.md
+++ b/openspec/changes/support-wsl-environment/proposal.md
@@ -2,32 +2,32 @@
## Summary
-Enable Antigravity Manager running in WSL (Windows Subsystem for Linux) to manage the Antigravity application installed on the Windows host.
+Enable Gemini Nexus running in WSL (Windows Subsystem for Linux) to manage the Gemini Nexus application installed on the Windows host.
## Motivation
-Users running the manager in a WSL development environment need to interact with the actual Antigravity instance running on Windows, as Antigravity is a Windows application.
+Users running the manager in a WSL development environment need to interact with the actual Gemini Nexus instance running on Windows, as Gemini Nexus is a Windows application.
## Proposed Changes
### 1. Path Resolution (`src/utils/paths.ts`)
* Implement `isWsl()` utility function.
-* In `getAppDataDir()`: If WSL, return the Windows AppData path (e.g., `/mnt/c/Users//AppData/Roaming/Antigravity`).
-* In `getAntigravityExecutablePath()`: If WSL, return the Windows executable path (e.g., `/mnt/c/Users//AppData/Local/Programs/Antigravity/Antigravity.exe`).
+* In `getAppDataDir()`: If WSL, return the Windows AppData path (e.g., `/mnt/c/Users//AppData/Roaming/GeminiNexus`).
+* In `getGeminiNexusExecutablePath()`: If WSL, return the Windows executable path (e.g., `/mnt/c/Users//AppData/Local/Programs/GeminiNexus/GeminiNexus.exe`).
* **Challenge:** Determining the correct Windows username.
* **Strategy:** Assume Windows username matches WSL username, or scan `/mnt/c/Users` for a likely candidate (excluding Public, Default, etc.).
### 2. Process Management (`src/ipc/process/handler.ts`)
-* In `isProcessRunning()`: If WSL, execute `tasklist.exe` (via `/mnt/c/Windows/System32/tasklist.exe`) to check for `Antigravity.exe`.
-* In `startAntigravity()`: If WSL, execute the Windows executable directly.
-* In `closeAntigravity()`: If WSL, use `taskkill.exe` (via `/mnt/c/Windows/System32/taskkill.exe`).
+* In `isProcessRunning()`: If WSL, execute `tasklist.exe` (via `/mnt/c/Windows/System32/tasklist.exe`) to check for `GeminiNexus.exe`.
+* In `startGeminiNexus()`: If WSL, execute the Windows executable directly.
+* In `closeGeminiNexus()`: If WSL, use `taskkill.exe` (via `/mnt/c/Windows/System32/taskkill.exe`).
## Acceptance Criteria
* \[ ] Application detects it is running in WSL.
* \[ ] Database file is correctly located on the Windows file system.
-* \[ ] "Start" button successfully launches Antigravity on Windows.
-* \[ ] "Stop" button successfully terminates Antigravity on Windows.
+* \[ ] "Start" button successfully launches Gemini Nexus on Windows.
+* \[ ] "Stop" button successfully terminates Gemini Nexus on Windows.
* \[ ] Process status (Running/Stopped) is correctly reflected in the UI.
diff --git a/openspec/changes/update-ide-auth-compat-1165/specs/ide-auth-compat/spec.md b/openspec/changes/update-ide-auth-compat-1165/specs/ide-auth-compat/spec.md
index 61c3932..605ef2f 100644
--- a/openspec/changes/update-ide-auth-compat-1165/specs/ide-auth-compat/spec.md
+++ b/openspec/changes/update-ide-auth-compat-1165/specs/ide-auth-compat/spec.md
@@ -1,6 +1,6 @@
## ADDED Requirements
### Requirement: New-Format Injection for 1.16.5+
-The system SHALL write only the new format `antigravityUnifiedStateSync.oauthToken` when IDE version is >= 1.16.5.
+The system SHALL write only the new format `geminiNexusUnifiedStateSync.oauthToken` when IDE version is >= 1.16.5.
#### Scenario: New-version injection
- **WHEN** IDE version is 1.16.5 or above
diff --git a/openspec/project.md b/openspec/project.md
index 9886932..a3f1d58 100644
--- a/openspec/project.md
+++ b/openspec/project.md
@@ -2,11 +2,11 @@
## Purpose
-Antigravity Manager is a comprehensive enhancement tool for Antigravity, designed to remove AI development resource limits. It not only solves the lack of native multi-account switching in Antigravity IDE, but also introduces enterprise-grade AI account pool management. By taking control of app configuration state and cloud API resources, it allows users to switch seamlessly between unlimited local accounts and cloud AI services for an effectively "unlimited" AI usage experience.
+Gemini Nexus is a comprehensive enhancement tool for Gemini Nexus, designed to remove AI development resource limits. It not only solves the lack of native multi-account switching in Gemini Nexus IDE, but also introduces enterprise-grade AI account pool management. By taking control of app configuration state and cloud API resources, it allows users to switch seamlessly between unlimited local accounts and cloud AI services for an effectively "unlimited" AI usage experience.
**Core goals:**
-* **Local multi-account switching**: Seamlessly switch Antigravity IDE local user state while protecting data integrity (automatic backup).
+* **Local multi-account switching**: Seamlessly switch Gemini Nexus IDE local user state while protecting data integrity (automatic backup).
* **AI resource pool management (new)**: Centrally manage account pools for Google Gemini, Claude 3.5, and similar services.
* **Intelligent quota monitoring (new)**: Monitor API quota and health in real time with a visual dashboard.
* **Automatic resource scheduling (new)**: Automatically switch to the best available account when the current one runs out of quota (token keepalive + polling).
@@ -88,17 +88,17 @@ src/
## Domain Context
-### 1. Antigravity IDE Data Structure (Local)
+### 1. Gemini Nexus IDE Data Structure (Local)
**Database locations:**
-* macOS: `~/Library/Application Support/Antigravity/User/globalStorage/state.vscdb`
-* Windows: `%APPDATA%/Antigravity/User/globalStorage/state.vscdb`
-* Linux: `~/.config/Antigravity/User/globalStorage/state.vscdb`
+* macOS: `~/Library/Application Support/GeminiNexus/User/globalStorage/state.vscdb`
+* Windows: `%APPDATA%/GeminiNexus/User/globalStorage/state.vscdb`
+* Linux: `~/.config/GeminiNexus/User/globalStorage/state.vscdb`
**Key database fields:**
-* `antigravityAuthStatus`: Authentication status and user information.
+* `geminiNexusAuthStatus`: Authentication status and user information.
### 2. AI Service Resource Structure (Cloud / New)
@@ -141,7 +141,7 @@ src/
### System Dependencies
-* **Antigravity IDE**: Local target to manage.
+* **Gemini Nexus IDE**: Local target to manage.
* **SQLite**: Local data reads.
### Node.js Dependencies (Key)
@@ -159,7 +159,7 @@ src/
### Filesystem Dependencies
-* `~/.antigravity-agent/`
+* `~/.geminiNexus-agent/`
* `accounts.json`: Local IDE account index.
* `cloud_accounts.db`: (new) Cloud account pool database (SQLite).
* `backups/`: Backup files.
diff --git a/package-lock.json b/package-lock.json
index 35fad9e..bc034a2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,11 +1,11 @@
{
- "name": "antigravity-manager",
+ "name": "gemini-nexus",
"version": "0.11.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "antigravity-manager",
+ "name": "gemini-nexus",
"version": "0.11.1",
"license": "CC-BY-NC-SA-4.0",
"dependencies": {
diff --git a/package.json b/package.json
index d643337..3337bb3 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,8 @@
{
- "name": "antigravity-manager",
- "productName": "Antigravity Manager",
+ "name": "gemini-nexus",
+ "productName": "Gemini Nexus",
"version": "0.11.1",
- "description": "Antigravity Manager - Electron App",
+ "description": "Gemini Nexus - Electron App",
"main": ".vite/build/main.js",
"private": true,
"scripts": {
diff --git a/rename-deep.js b/rename-deep.js
new file mode 100644
index 0000000..500c3d0
--- /dev/null
+++ b/rename-deep.js
@@ -0,0 +1,94 @@
+const fs = require('fs');
+const path = require('path');
+
+const projectRoot = process.cwd();
+
+// Extensões permitidas
+const allowedExtensions = /\.(ts|tsx|js|jsx|json|md|html|jsonc|yml|yaml|css)$/;
+
+// Arquivos/Pastas a ignorar (já curados ou irrelevantes)
+const ignoreDirs = ['node_modules', '.git', '.gemini', 'dist', 'out', 'build', 'images', 'docs', '.planning'];
+const ignoreFiles = ['README.md', 'README.pt-BR.md', 'CHANGELOG.md', 'forge.config.ts', 'package.json', 'rename.js', 'rename-deep.js', 'task.md', 'walkthrough.md'];
+
+function walkAndReplace(dir) {
+ const files = fs.readdirSync(dir);
+
+ for (const file of files) {
+ if (ignoreDirs.includes(file)) continue;
+
+ const fullPath = path.join(dir, file);
+ const stat = fs.statSync(fullPath);
+
+ if (stat.isDirectory()) {
+ walkAndReplace(fullPath);
+
+ // Rename directory if it contains 'antigravity'
+ if (file.toLowerCase().includes('antigravity')) {
+ const newName = file.replace(/antigravity/gi, (match) => {
+ if (match === 'antigravity') return 'geminiNexus';
+ if (match === 'Antigravity') return 'GeminiNexus';
+ return 'geminiNexus';
+ });
+ const newPath = path.join(dir, newName);
+ fs.renameSync(fullPath, newPath);
+ console.log(`Renamed directory: ${fullPath} -> ${newPath}`);
+ }
+ } else {
+ if (ignoreFiles.includes(file)) continue;
+
+ if (allowedExtensions.test(file)) {
+ let content = fs.readFileSync(fullPath, 'utf-8');
+ const originalContent = content;
+
+ // Save original GitHub links
+ const repoUrlRegex = /github\.com\/Draculabo\/AntigravityManager/gi;
+ const tempUrlMarker = '___TEMP_GITHUB_URL___';
+ content = content.replace(repoUrlRegex, tempUrlMarker);
+
+ // 1. Strings exact match "Antigravity" -> "Gemini Nexus"
+ content = content.replace(/['"]Antigravity['"]/g, (match) => {
+ return match[0] + 'Gemini Nexus' + match[0];
+ });
+
+ // 2. String "Antigravity " -> "Gemini Nexus "
+ content = content.replace(/Antigravity /g, 'Gemini Nexus ');
+
+ // 3. String " Antigravity" -> " Gemini Nexus"
+ content = content.replace(/ Antigravity/g, ' Gemini Nexus');
+
+ // 4. Identifiers Antigravity -> GeminiNexus
+ content = content.replace(/Antigravity/g, 'GeminiNexus');
+
+ // 5. Identifiers antigravity -> geminiNexus
+ content = content.replace(/antigravity/g, 'geminiNexus');
+
+ // Restore GitHub links
+ content = content.replace(new RegExp(tempUrlMarker, 'g'), 'github.com/Draculabo/AntigravityManager');
+
+ // Cleanup any double replacements
+ content = content.replace(/GeminiNexus Nexus/g, 'Gemini Nexus');
+
+ if (content !== originalContent) {
+ fs.writeFileSync(fullPath, content, 'utf-8');
+ console.log(`Updated file content: ${fullPath}`);
+ }
+
+ // Rename file if it contains 'antigravity'
+ if (file.toLowerCase().includes('antigravity')) {
+ const newName = file.replace(/antigravity/gi, (match) => {
+ if (match === 'antigravity') return 'geminiNexus'; // For files like antigravityVersion.ts -> geminiNexusVersion.ts
+ if (match === 'Antigravity') return 'GeminiNexus';
+ return 'geminiNexus';
+ });
+ const newPath = path.join(dir, newName);
+ fs.renameSync(fullPath, newPath);
+ console.log(`Renamed file: ${fullPath} -> ${newPath}`);
+ }
+ }
+ }
+ }
+}
+
+console.log('Starting global deep rename of Antigravity to GeminiNexus...');
+walkAndReplace(projectRoot);
+console.log('Rename complete.');
diff --git a/src/actions/process.ts b/src/actions/process.ts
index 38386c3..08dc67b 100644
--- a/src/actions/process.ts
+++ b/src/actions/process.ts
@@ -4,10 +4,10 @@ export function isProcessRunning() {
return ipc.client.proc.isProcessRunning();
}
-export function closeAntigravity() {
- return ipc.client.proc.closeAntigravity();
+export function closeGeminiNexus() {
+ return ipc.client.proc.closeGeminiNexus();
}
-export function startAntigravity() {
- return ipc.client.proc.startAntigravity();
+export function startGeminiNexus() {
+ return ipc.client.proc.startGeminiNexus();
}
diff --git a/src/assets/icon.png b/src/assets/icon.png
index ceb4935..50d3365 100644
Binary files a/src/assets/icon.png and b/src/assets/icon.png differ
diff --git a/src/components/AccountProxySettings.tsx b/src/components/AccountProxySettings.tsx
new file mode 100644
index 0000000..d1a7aec
--- /dev/null
+++ b/src/components/AccountProxySettings.tsx
@@ -0,0 +1,113 @@
+import React, { useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { useCloudAccounts, useSetAccountProxy } from '@/hooks/useCloudAccounts';
+import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
+import { Input } from '@/components/ui/input';
+import { isValidProxyUrl } from '@/utils/url';
+import { Loader2 } from 'lucide-react';
+import { CloudAccount } from '@/types/cloudAccount';
+
+function AccountProxyItem({ account }: { account: CloudAccount }) {
+ const { t } = useTranslation();
+ const setAccountProxy = useSetAccountProxy();
+ const [proxyUrl, setProxyUrl] = useState(account.proxy_url || '');
+ const [proxySaved, setProxySaved] = useState(false);
+
+ return (
+