docs: redesign do README (padrão TwitterBR-MOD) — dados atualizados
Release / Semantic Release (push) Successful in 10m24s
Tests / Unit Tests (push) Successful in 10m51s
Tests / Type Check (push) Successful in 10m25s

This commit is contained in:
evandro committed 2026-10-13 21:45:12 -03:00
1 parent 42466c274b
commit 9d1ce44ea3
1 file changed
+178 -319
+178 -319
View File
@@ -1,366 +1,225 @@
<p align="center">
<img src="docs/assets/logo.png" alt="Gemini Nexus" width="128" height="128" />
</p>
<div align="center">
<h1 align="center">Gemini Nexus</h1>
<img src="docs/assets/logo.png" width="110" alt="Gemini Nexus logo">
<p align="center">
<strong>🚀 Professional multi-account AI gateway for Google Gemini & Claude</strong>
</p>
# Gemini Nexus
<p align="center">
English | <a href="README.pt-BR.md">Português</a> | <a href="README.zh-CN.md">中文</a> | <a href="README.es.md">Español</a>
</p>
**A desktop gateway that pools your Google Gemini and Claude accounts behind one
local OpenAI- and Anthropic-compatible API — with automatic account switching,
usage analytics and full traffic inspection.**
<p align="center">
<a href="https://github.com/evandrodevbr/GeminiNexus/releases">
<img src="https://img.shields.io/github/v/release/evandrodevbr/GeminiNexus?style=flat-square" alt="Release" />
</a>
<a href="https://github.com/evandrodevbr/GeminiNexus/releases">
<img src="https://img.shields.io/github/downloads/evandrodevbr/GeminiNexus/total?style=flat-square&color=blue" alt="Downloads" />
</a>
<a href="https://github.com/evandrodevbr/GeminiNexus/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/evandrodevbr/GeminiNexus?style=flat-square" alt="License" />
</a>
<img src="https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-informational?style=flat-square" alt="Platform" />
<img src="https://img.shields.io/badge/electron-latest-47848F?style=flat-square&logo=electron&logoColor=white" alt="Electron" />
</p>
![Version](https://img.shields.io/badge/version-0.15.3-informational)
![Stack](https://img.shields.io/badge/Electron_41-React_19_%C2%B7_TypeScript-informational)
![License](https://img.shields.io/badge/license-CC_BY--NC--SA_4.0_%2B_MIT-informational)
English | [Português](README.pt-BR.md) | [中文](README.zh-CN.md) | [Español](README.es.md)
[Install](#installation) · [Features](#features) · [How it works](#how-it-works) · [Build from source](#build-from-source) · [CI/CD](#cicd)
</div>
> [!NOTE]
> **Project status:** actively released — current version is **0.15.3** (2026-05-02),
> versioned automatically by semantic-release from Conventional Commits (see
> [`CHANGELOG.md`](CHANGELOG.md)). The app started as a fork of
> [AntigravityManager](https://github.com/Draculabo/AntigravityManager); most of the
> code has since been rewritten (see [Licensing and credits](#licensing-and-credits)).
> [!IMPORTANT]
> **Windows Users:** If you see a **"Windows protected your PC"** (SmartScreen) warning during installation, click **"More info"** and then **"Run anyway"**. This is an expected security prompt for new, unsigned applications.
> **Mixed licensing.** Code inherited from AntigravityManager is under
> **CC BY-NC-SA 4.0** ([`LICENSE`](LICENSE) — non-commercial, share-alike); all new
> code is under **MIT** ([`LICENSE-MIT`](LICENSE-MIT)). The project is being migrated
> to MIT as the remaining original code is rewritten. Check both files before any
> commercial use.
---
## Why Gemini Nexus
## 📖 Table of Contents
Working with AI-powered IDEs and coding tools on a single account means quota that
runs out, manual account switching, no idea how many tokens you spent, and no view
of what the proxy actually sends. Gemini Nexus puts all of that in one desktop app:
- [✨ Why Gemini Nexus?](#-why-gemini-nexus)
- [🎯 Features](#-features)
- [📸 Screenshots](#-screenshots)
- [⚡ Installation & Quick Start](#-installation--quick-start)
- [🛠️ Tech Stack](#️-tech-stack)
- [💻 Development](#-development)
- [❓ FAQ](#-faq)
- [🤝 Contributing](#-contributing)
- [📄 License](#-license)
- **Account pool** — add as many Google accounts as you need via OAuth.
- **Smart auto-switching** — rotates to the next available account when quota is low or rate-limited.
- **Drop-in local proxy** — speaks the OpenAI and Anthropic protocols, so Cursor, Windsurf, OpenCode and any compatible tool can point at it.
- **Observability** — live traffic monitor, request replay and per-model capability inspector.
- **Usage analytics** — token charts, trends and cost tracking.
---
## Features
## ✨ Why Gemini Nexus?
| Area | What you get |
|---|---|
| **Cloud account pool** | OAuth sign-in; avatar, email, status (Active / Rate Limited / Expired) and last-used time; per-account proxy URL; device identity profiles with history |
| **Local API gateway** | `POST /v1/chat/completions` (OpenAI), `POST /v1/messages` (Anthropic), `GET /v1/models` and `GET /v1/models/capabilities`; SSE streaming; model mapping (e.g. `claude-sonnet-4-6` → `gemini-3-flash`); configurable port, timeout (default 120 s) and API key; per-model visibility |
| **Auto-switching** | Switches when an account's quota drops below 5 % or it is rate-limited; background quota monitor every 5 minutes; scheduling modes `cache-first`, `balance` and `performance-first`; circuit breaker with 60 s → 5 min → 30 min → 2 h backoff |
| **Usage analytics** | Token consumption charts (daily/hourly, prompt vs. completion), trend indicators, model ranking, cost tracking with custom model pricing |
| **Proxy observability** | Traffic monitor (latency, status, model), request replay, model capabilities (vision, thinking, streaming, JSON mode), cURL and Python snippets, IDE Quick Setup (OpenCode, Cursor, VS Code, Claude Code) |
| **Security** | AES-256-GCM for sensitive data, OS credential storage (Keytar + Electron SafeStorage), automatic migration of legacy plaintext data |
| **Desktop experience** | System tray, dark / light / system theme, collapsible sidebar, status bar with live proxy indicators, UI in English, 简体中文, Русский and Tiếng Việt |
When using AI-powered IDEs and coding tools, have you ever run into these problems?
The account-pool and auto-switching design is written up in
[`docs/cloud_features.md`](docs/cloud_features.md).
- 😫 **Quota limits:** Single account quotas run out quickly, requiring frequent manual switching.
- 🔄 **Account management:** Managing multiple Google/Claude accounts is cumbersome.
- 📊 **Blind usage:** You don't know how much quota or how many tokens you've actually consumed.
- 🔌 **Integration issues:** You need a reliable local API proxy that speaks OpenAI/Anthropic protocols natively.
- 🔍 **Lack of transparency:** You can't see what's actually being sent or received by the proxy under the hood.
<details>
<summary>Screenshots</summary>
**Gemini Nexus** solves all of these issues. It's a professional Electron desktop application that acts as an intelligent gateway between your development tools and Google Gemini / Claude AI.
<p align="center"><img src="docs/assets/main.png" alt="Main dashboard" width="80%"></p>
<p align="center"><img src="docs/assets/2usage.png" alt="Usage analytics" width="80%"></p>
<p align="center"><img src="docs/assets/3proxy.png" alt="Proxy monitor" width="80%"></p>
<p align="center"><img src="docs/assets/4routing.png" alt="Routing config" width="80%"></p>
<p align="center"><img src="docs/assets/5docs.png" alt="Documentation" width="80%"></p>
<p align="center"><img src="docs/assets/6connections.png" alt="Active connections" width="80%"></p>
<p align="center"><img src="docs/assets/7config.png" alt="Settings" width="80%"></p>
### Key Value Proposition
</details>
- ✅ **Unlimited Account Pool** — Add any number of Google Gemini & Claude accounts.
- ✅ **Smart Auto-Switching** — Automatically rotates to the next available account when quota is low or rate-limited.
- ✅ **Real-time Usage Analytics** — SaaS-grade dashboard with area charts, trend indicators, and model distribution.
- ✅ **Full Proxy Observability** — Live traffic monitor, request replay, and model capabilities inspector.
- ✅ **OpenAI & Anthropic Compatible** — Drop-in replacement proxy for Cursor, Windsurf, OpenCode, and any OpenAI-compatible tool.
- ✅ **Secure by Default** — AES-256-GCM encryption with OS-native credential management.
## Installation
---
1. Download the build for your platform from [**Releases**](https://git.evandro.dev.br/evandro/gemini-nexus/releases).
The CI build matrix covers Windows (x64, arm64), macOS (x64, arm64) and Linux
(x64, arm64); the configured makers produce MSI (Windows x64, only when WiX is
available) and ZIP (Windows/macOS), DMG (macOS), AppImage, `.deb` and `.rpm` (Linux).
2. Open the app and add at least one account.
3. Enable the proxy and point your IDE at it:
## 🎯 Features
<table>
<tr>
<td width="50%">
<h3>☁️ Cloud Account Pool</h3>
<ul>
<li>Add unlimited Google Gemini / Claude accounts via OAuth</li>
<li>Display avatar, email, status, and last used time</li>
<li>Real-time status monitoring (Active, Rate Limited, Expired)</li>
<li>Per-account proxy URL configuration</li>
<li>Device identity profile management with history</li>
</ul>
</td>
<td width="50%">
<h3>📊 Usage Analytics Dashboard</h3>
<ul>
<li>Real-time token consumption with 15s auto-refresh</li>
<li>Area charts for daily/hourly prompt & completion tokens</li>
<li>Trend indicators (% change vs previous period)</li>
<li>Inline sparklines on stat cards</li>
<li>Model distribution ranking with horizontal bar charts</li>
<li>Prompt/Completion ratio visualization</li>
</ul>
</td>
</tr>
<tr>
<td width="50%">
<h3>🔌 Local API Proxy (Gateway)</h3>
<ul>
<li>OpenAI <code>/v1/chat/completions</code> compatible endpoint</li>
<li>Anthropic <code>/v1/messages</code> compatible endpoint</li>
<li>Full SSE streaming support (tested with Cursor, Windsurf, OpenCode)</li>
<li>Model mapping (e.g. <code>claude-sonnet-4-6</code> → <code>gemini-3-flash</code>)</li>
<li>Configurable port, timeout, and API key</li>
<li>Model visibility control (show/hide specific models)</li>
</ul>
</td>
<td width="50%">
<h3>🔄 Intelligent Auto-Switching</h3>
<ul>
<li>Unlimited pool mode with smart backup selection</li>
<li>Auto-switch when quota < 5% or rate-limited</li>
<li>Background monitoring every 5 minutes</li>
<li>Graceful fallback with status reason tracking</li>
</ul>
</td>
</tr>
<tr>
<td width="50%">
<h3>🔍 Proxy Observability (Advanced)</h3>
<ul>
<li><strong>Traffic Monitor</strong> — Live request/response log with latency, status, and model info</li>
<li><strong>Request Replay</strong> — Replay any recorded request for debugging</li>
<li><strong>Model Capabilities</strong> — Inspect vision, thinking, streaming, JSON mode support per model</li>
<li><strong>Developer Tools</strong> — cURL & Python code generation, one-click copy</li>
</ul>
</td>
<td width="50%">
<h3>🔐 Security & Encryption</h3>
<ul>
<li>AES-256-GCM encryption for all sensitive data</li>
<li>OS native credential manager integration (Keytar + SafeStorage)</li>
<li>Auto migration of legacy plaintext data</li>
<li>Encrypted token & quota storage per account</li>
</ul>
</td>
</tr>
<tr>
<td width="50%">
<h3>⚙️ Settings & Customization</h3>
<ul>
<li>Dark / Light / System theme support</li>
<li>Multi-language: English & Português (Brasil)</li>
<li>Per-account proxy URL override</li>
<li>Model visibility toggles</li>
<li>Log directory access</li>
</ul>
</td>
<td width="50%">
<h3>🖥️ Desktop Experience</h3>
<ul>
<li>Native Electron app with system tray integration</li>
<li>Collapsible sidebar with persistent state</li>
<li>Responsive layouts across all views</li>
<li>Status bar with live proxy and connection indicators</li>
<li>Error boundaries with user-friendly fallbacks</li>
</ul>
</td>
</tr>
</table>
---
## 📸 Screenshots
<p align="center">
<img src="docs/assets/main.png" alt="Main Dashboard" width="80%" />
</p>
<p align="center">
<img src="docs/assets/2usage.png" alt="Usage Analytics" width="80%" />
</p>
<p align="center">
<img src="docs/assets/3proxy.png" alt="Proxy Monitor" width="80%" />
</p>
<p align="center">
<img src="docs/assets/4routing.png" alt="Routing Config" width="80%" />
</p>
<p align="center">
<img src="docs/assets/5docs.png" alt="Documentation" width="80%" />
</p>
<p align="center">
<img src="docs/assets/6connections.png" alt="Active Connections" width="80%" />
</p>
<p align="center">
<img src="docs/assets/7config.png" alt="Settings Configuration" width="80%" />
</p>
---
## ⚡ Installation & Quick Start
### 📦 Download the App
You can download the latest pre-compiled binaries for Windows, macOS, and Linux from our [Releases page](https://github.com/evandrodevbr/GeminiNexus/releases).
*(Refer to the warning at the top of this page if you are using Windows and encounter the SmartScreen prompt).*
### 🔌 Using with AI IDEs
Once the application is running and you have added at least one account, configure your preferred IDE (Cursor, Windsurf, OpenCode, etc.):
```plaintext
API Base URL: http://localhost:10100/v1
API Key: (copy this from the Proxy page in the app)
Model: gemini-3-flash (or any mapped model of your choice)
```text
API Base URL: http://localhost:8045/v1 (default port; configurable on the Proxy page)
API Key: (copy it from the Proxy page in the app)
Model: gemini-3-flash (or any mapped model)
```
### 🛠️ Build from Source
> [!WARNING]
> **Windows SmartScreen.** The builds are not code-signed. If Windows shows
> **"Windows protected your PC"**, click **More info → Run anyway**. Separately, the
> proxy is disabled by default; once enabled it listens on `0.0.0.0`, and requests
> are only authenticated when an API key is configured (an empty key means open
> mode) — set one and keep it private.
#### Prerequisites
## How it works
- **Node.js** v20 or higher
- **npm** (this project uses `package-lock.json`)
#### Steps
```bash
# Clone the repository
git clone https://github.com/evandrodevbr/GeminiNexus.git
cd GeminiNexus
# Install dependencies
npm install
# Start the application in development mode
npm start
# Build for production (e.g., Windows installer)
npm run make
```mermaid
flowchart LR
IDE["Cursor · Windsurf · OpenCode<br/>Claude Code · any OpenAI/Anthropic client"] -->|"/v1/chat/completions<br/>/v1/messages"| P
subgraph APP["Gemini Nexus (Electron)"]
R["Renderer<br/>React 19 · TanStack Router/Query"] <-->|"oRPC over IPC"| M["Main process<br/>config · tray · services"]
M --> DB[("SQLite<br/>better-sqlite3 + Drizzle")]
M --> SEC["Encryption<br/>AES-256-GCM · Keytar/SafeStorage"]
M --> MON["CloudMonitor + AutoSwitch<br/>quota every 5 min"]
M --> P["NestJS proxy<br/>port 8045"]
P --> SCH["Account scheduler<br/>+ circuit breaker"]
end
SCH -->|"Google OAuth account"| UP["Google upstream APIs"]
MON --> UP
```
---
<details>
<summary>Stack and layout</summary>
## 🛠️ Tech Stack
| Layer | Technology |
|---|---|
| Shell / build | Electron 41, Electron Forge, Vite 8 |
| UI | React 19, TypeScript, Tailwind CSS 4, Radix UI, Nivo charts, react-i18next |
| State / routing | TanStack Query, TanStack Router |
| Backend | NestJS 11 (proxy gateway), oRPC (type-safe IPC) |
| Data | better-sqlite3, Drizzle ORM |
| Tests | Vitest (unit), Playwright (E2E) |
| Category | Technologies |
|----------|-------------|
| **Core** | [Electron](https://www.electronjs.org/), [React 19](https://react.dev/), [TypeScript](https://www.typescriptlang.org/) |
| **Build** | [Vite](https://vitejs.dev/), [Electron Forge](https://www.electronforge.io/) |
| **Styling** | [Tailwind CSS v4](https://tailwindcss.com/), [Radix UI](https://www.radix-ui.com/), [Lucide Icons](https://lucide.dev/) |
| **State** | [TanStack Query](https://tanstack.com/query/latest), [TanStack Router](https://tanstack.com/router/latest) |
| **Backend** | [NestJS](https://nestjs.com/) (internal gateway), [ORPC](https://orpc.unnoq.com/) (type-safe RPC) |
| **Database** | [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3), [Drizzle ORM](https://orm.drizzle.team/) |
| **Charts** | [Nivo](https://nivo.rocks/) (Line, Bar, Pie) |
| **i18n** | [react-i18next](https://react.i18next.com/) |
| **Testing** | [Vitest](https://vitest.dev/), [Playwright](https://playwright.dev/) |
---
## 💻 Development
```bash
# Start dev environment (Electron + Vite HMR)
npm start
# Run linting
npm run lint
# Type check
npm run type-check
# Format code
npm run format:write
# Run tests
npm test
```
### Project Structure
```plaintext
```text
src/
├── actions/ # App actions and flow orchestration
├── components/ # React UI components
│ ├── proxy/ # Proxy page components (advanced tabs)
│ ├── usage/ # Usage analytics components (StatCard, ChartCard)
│ └── ui/ # Base UI primitives (Radix-based)
├── hooks/ # Custom React hooks
├── ipc/ # Electron IPC + database handlers
├── layouts/ # Layout components (MainLayout + sidebar)
├── localization/ # i18n translation resources
├── routes/ # TanStack Router pages (index, usage, proxy, settings)
├── server/ # NestJS backend (proxy gateway service)
├── services/ # Service layer
├── types/ # TypeScript type definitions + Zod schemas
└── utils/ # Utility functions
├── components/ # UI (proxy/, usage/, ui/ primitives)
├── ipc/ # oRPC routers: account, cloud, config, gateway, usage, proxy-advanced…
├── server/ # NestJS proxy gateway (modules: proxy, usage)
├── services/ # AutoSwitchService, CloudMonitorService, GoogleAPIService
├── routes/ # index, usage, proxy, settings
├── localization/ # i18n resources
└── types/ # types + Zod schemas
```
---
The `cli/` folder holds a separate Python command-line tool (Typer + Rich) for
account switching and quota checks; see [`cli/README.md`](cli/README.md).
## ❓ FAQ
<details>
<summary><b>Q: "Windows protected your PC" (SmartScreen) warning during installation?</b></summary>
Yes, this is a common warning for new unsigned applications. Click **"More info"** and then **"Run anyway"**. See the warning at the top of the README for more details.
</details>
<details>
<summary><b>Q: The app won't start when building from source?</b></summary>
## Known limitations
1. Make sure all dependencies are installed: `npm install`
2. Check if your Node.js version is >= 20.
3. Try deleting `node_modules` and reinstalling.
4. On Windows, ensure the WiX Toolset is available for `npm run make`.
</details>
- Upstream access goes through Google's `v1internal` Cloud Code endpoints and OAuth scopes (see [`src/services/GoogleAPIService.ts`](src/services/GoogleAPIService.ts)). These are internal, undocumented APIs and may change without notice; the project is unofficial and not affiliated with Google or Anthropic.
- End-to-end tests are not run in CI (Electron needs a graphical environment); run `pnpm run test:e2e` locally.
- The Windows MSI is only produced when the WiX Toolset is available on the build machine; otherwise the Windows artifact is the ZIP.
- Builds are unsigned, so Windows and macOS may show security prompts on first launch.
## Build from source
Requirements: **Node.js ≥ 20** (`.nvmrc` pins 22.17.1) and **pnpm** (`packageManager: [email protected]`; the lockfile is `pnpm-lock.yaml`).
`pnpm install` runs [`scripts/setup-dev.js --check-only`](scripts/setup-dev.js), which
verifies the native toolchain needed by `better-sqlite3` and `keytar`: Visual Studio
2022 Build Tools (C++) on Windows, Xcode Command Line Tools on macOS, and
`build-essential`, `python3` and `libsecret-1-dev` on Ubuntu (`base-devel`, `python`,
`libsecret` on Arch).
```bash
git clone https://git.evandro.dev.br/evandro/gemini-nexus.git
cd gemini-nexus
pnpm install
pnpm start # dev mode (Electron + Vite HMR)
pnpm run make # build installers/packages for the current platform
pnpm run make:win # Windows build helper (extracts WiX from wix314-binaries.zip)
pnpm run lint # ESLint
pnpm run type-check # tsc --noEmit
pnpm run format:write
pnpm test # Vitest unit tests
pnpm run test:e2e # Playwright (local only)
```
<details>
<summary><b>Q: Account login failed?</b></summary>
<summary>FAQ</summary>
**My IDE can't connect to the proxy.** Check that the proxy is running (green
indicator in the status bar), that the port matches your IDE config (default `8045`),
that you pasted the API key from the Proxy page, and that at least one account is
active.
**Account login failed.** Verify your network connection, clear the app data and
sign in again, and check whether the account is restricted by the provider.
**The app won't start when building from source.** Reinstall dependencies with
`pnpm install`, confirm your Node.js version, and make sure the native toolchain
listed above is installed.
1. Ensure your network connection is working.
2. Try clearing the app data and logging in again.
3. Check if the account is restricted by Google/Claude.
</details>
<details>
<summary><b>Q: My IDE can't connect to the proxy?</b></summary>
## CI/CD
1. Make sure the proxy is actually running (look for the green indicator in the status bar).
2. Verify the port matches your IDE config (default is `10100`).
3. Copy the API key directly from the Proxy page and paste it into your IDE settings.
4. Check that at least one account is active in the Accounts page.
</details>
Workflows in [`.github/workflows/`](.github/workflows):
<details>
<summary><b>Q: Token counts are showing zero?</b></summary>
| Workflow | Trigger | What it does |
|---|---|---|
| [`format.yaml`](.github/workflows/format.yaml) | Pull request to `main` | Prettier check (`pnpm run format`) |
| [`lint.yaml`](.github/workflows/lint.yaml) | Pull request to `main` | ESLint (`pnpm run lint`) |
| [`testing.yaml`](.github/workflows/testing.yaml) | Push / PR to `main` | Unit tests (`pnpm test`) and type check (`pnpm run type-check`) |
| [`release.yml`](.github/workflows/release.yml) | Push to `main`, manual | Semantic-release on Node 22, driven by [`release.config.cjs`](release.config.cjs): `feat` → minor; `fix`, `perf`, `style`, `refactor`, `build` → patch; `docs`, `test`, `ci`, `chore` → no release |
| [`publish.yaml`](.github/workflows/publish.yaml) | After **Release** succeeds, manual (`dry_run` defaults to `true`) | Builds the 6-target matrix (Windows/macOS/Linux × x64/arm64) and uploads MSI, DMG, ZIP, AppImage, deb, rpm and update metadata to the release |
1. This was a known bug in earlier versions — please update to the latest release.
2. Token tracking now correctly handles streaming metadata and estimated counts.
3. Usage data refreshes every 15 seconds on the Usage Analytics page.
</details>
These workflows are written for GitHub: they call the `gh` CLI and the GitHub
release publisher.
---
## Licensing and credits
## 🤝 Contributing
- **Original code** from [AntigravityManager](https://github.com/Draculabo/AntigravityManager) by [Draculabo](https://github.com/Draculabo) — [CC BY-NC-SA 4.0](LICENSE).
- **All new code, features and architecture** by [evandrodevbr](https://git.evandro.dev.br/evandro) — [MIT](LICENSE-MIT).
Contributions are welcome! Please read `CONTRIBUTING.md` for details.
The initial proxy concept and early Electron scaffolding came from AntigravityManager.
Since the fork, the vast majority of the codebase has been rewritten, redesigned and
expanded, including the UI/UX redesign, the usage analytics dashboard with cost
tracking and OpenRouter pricing integration, the traffic monitor, dev/prod
environment isolation, the CI/CD pipeline and test infrastructure, IDE Quick Setup,
custom model pricing, and all documentation and its translations (EN, PT-BR, ES, ZH-CN).
---
Contributing: see [`CONTRIBUTING.md`](CONTRIBUTING.md), [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md)
and [`SECURITY.md`](SECURITY.md).
## 📄 License
## Notices
This project uses a dual-license structure:
- **Original code** from [AntigravityManager](https://github.com/Draculabo/AntigravityManager) by [Draculabo](https://github.com/Draculabo): Licensed under [CC BY-NC-SA 4.0](LICENSE).
- **All new code, features, and architecture** by [evandrodevbr](https://github.com/evandrodevbr): Licensed under the [MIT License](LICENSE-MIT).
> 🔄 **Migration Notice:** This project is actively being migrated to a fully open-source license (MIT). As the remaining original code is progressively rewritten, the entire project will transition to MIT. We are committed to making Gemini Nexus 100% open-source.
---
## 🙏 Credits
This project was originally forked from [AntigravityManager](https://github.com/Draculabo/AntigravityManager) created by [Draculabo](https://github.com/Draculabo). The initial proxy concept and early Electron scaffolding were based on his work.
Since the fork, **the vast majority of the codebase has been rewritten, redesigned, and expanded** by [evandrodevbr](https://github.com/evandrodevbr), including but not limited to:
- Complete UI/UX redesign (navigation, accounts, usage analytics, proxy management)
- Usage Analytics dashboard with cost tracking, token averages, and OpenRouter integration
- Traffic monitor with per-request token/cost inspection
- Environment isolation (dev/prod), CI/CD pipeline, and test infrastructure
- IDE Quick Setup (OpenCode, Cursor, VS Code, Claude Code)
- Custom model pricing configuration
- All documentation and internationalization (EN, PT-BR, ES, ZH-CN)
- Unofficial project; not affiliated with Google or Anthropic.
- Optional Sentry error reporting is controlled by the `error_reporting_enabled` setting; user paths are masked in reported events.
- Built with [Electron](https://www.electronjs.org/), [Electron Forge](https://www.electronforge.io/), [NestJS](https://nestjs.com/), [oRPC](https://orpc.unnoq.com/) and [Drizzle ORM](https://orm.drizzle.team/).