# lbjlaq/antigravity-manager architecture

> Architecture diagram of the GitHub repository lbjlaq/antigravity-manager, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-03). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/lbjlaq/antigravity-manager
- Repository: https://github.com/lbjlaq/antigravity-manager

## Overview

Antigravity Tools is a desktop account manager and local AI relay. Users add or authorize provider accounts, inspect quotas and switch accounts; API clients then send OpenAI-, Anthropic-, or Gemini-shaped requests to the relay, which maps and schedules requests against available accounts. The frontend’s router, account store, and account service are directly evidenced; relay internals and several settings capabilities are represented from README documentation and the source index. Unsampled server wiring is intentionally not inferred.

Main entry points: [`src-tauri/src/proxy/server.rs`](https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/proxy/server.rs) (Local proxy server), [`src/App.tsx`](https://github.com/lbjlaq/antigravity-manager/blob/main/src/App.tsx) (App router), [`src/pages/ApiProxy.tsx`](https://github.com/lbjlaq/antigravity-manager/blob/main/src/pages/ApiProxy.tsx) (Proxy controls), [`src-tauri/src/proxy/handlers`](https://github.com/lbjlaq/antigravity-manager/tree/main/src-tauri/src/proxy/handlers) (Protocol handlers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Desktop interface"]
  node_app["App router<br/>[App.tsx]"]
  node_dashboard["Account dashboard<br/>[Dashboard.tsx]"]
  node_accountspage["Accounts page<br/>[Accounts.tsx]"]
  node_proxyui["Proxy controls<br/>[ApiProxy.tsx]"]
end

subgraph group_accounts["Account operations"]
  node_accountstore["Account state<br/>[useAccountStore.ts]"]
  node_accountservice["Account commands<br/>[accountService.ts]"]
  node_oauth["OAuth and accounts<br/>[account.rs]"]
  node_quota["Quota models<br/>[quota.rs]"]
end

subgraph group_relay["AI relay"]
  node_proxyserver["Local proxy server<br/>[server.rs]"]
  node_middleware["Request middleware"]
  node_handlers["Protocol handlers"]
  node_mappers["Protocol mapping"]
  node_tokenmanager["Account scheduler<br/>[token_manager.rs]"]
  node_pipeline["Thinking and usage"]
  node_upstream["Upstream client<br/>[client.rs]"]
end

subgraph group_management["Configuration and operations"]
  node_configui["Settings page<br/>[Settings.tsx]"]
  node_configstore["Config state<br/>[useConfigStore.ts]"]
  node_monitor["Proxy monitoring<br/>[monitor.rs]"]
  node_security["Access controls<br/>[Security.tsx]"]
  node_integrations["CLI integrations<br/>[cli_sync.rs]"]
end

node_user(("Developer"))
node_client(("API client"))
node_provider(("AI providers"))

node_user -->|"opens"| node_app
node_app -->|"routes"| node_dashboard
node_app -->|"routes"| node_accountspage
node_app -->|"routes"| node_proxyui
node_accountspage -.->|"uses"| node_accountstore
node_dashboard -.->|"uses"| node_accountstore
node_accountstore -->|"calls"| node_accountservice
node_accountservice -.->|"invokes commands"| node_oauth
node_user -->|"configures"| node_client
node_client -->|"sends API requests"| node_proxyserver
node_proxyserver -.->|"filters requests"| node_middleware
node_proxyserver -->|"dispatches protocols"| node_handlers
node_handlers -.->|"maps formats"| node_mappers
node_handlers -.->|"uses thinking pipeline"| node_pipeline
node_proxyserver -.->|"selects accounts"| node_tokenmanager
node_proxyserver -.->|"sends upstream"| node_upstream
node_upstream -.->|"requests models"| node_provider
node_proxyui -.->|"updates settings"| node_configstore
node_configui -.->|"updates settings"| node_configstore
node_proxyui -->|"configures relay"| node_proxyserver
node_proxyserver -.->|"records activity"| node_monitor
node_proxyserver -->|"enforces access"| node_security
node_proxyui -.->|"configures clients"| node_integrations

click node_app "https://github.com/lbjlaq/antigravity-manager/blob/main/src/App.tsx"
click node_dashboard "https://github.com/lbjlaq/antigravity-manager/blob/main/src/pages/Dashboard.tsx"
click node_accountspage "https://github.com/lbjlaq/antigravity-manager/blob/main/src/pages/Accounts.tsx"
click node_proxyui "https://github.com/lbjlaq/antigravity-manager/blob/main/src/pages/ApiProxy.tsx"
click node_accountstore "https://github.com/lbjlaq/antigravity-manager/blob/main/src/stores/useAccountStore.ts"
click node_accountservice "https://github.com/lbjlaq/antigravity-manager/blob/main/src/services/accountService.ts"
click node_oauth "https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/modules/account.rs"
click node_quota "https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/models/quota.rs"
click node_proxyserver "https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/proxy/server.rs"
click node_middleware "https://github.com/lbjlaq/antigravity-manager/tree/main/src-tauri/src/proxy/middleware"
click node_handlers "https://github.com/lbjlaq/antigravity-manager/tree/main/src-tauri/src/proxy/handlers"
click node_mappers "https://github.com/lbjlaq/antigravity-manager/tree/main/src-tauri/src/proxy/mappers"
click node_tokenmanager "https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/proxy/token_manager.rs"
click node_pipeline "https://github.com/lbjlaq/antigravity-manager/tree/main/src-tauri/src/proxy/pipeline"
click node_upstream "https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/proxy/upstream/client.rs"
click node_configui "https://github.com/lbjlaq/antigravity-manager/blob/main/src/pages/Settings.tsx"
click node_configstore "https://github.com/lbjlaq/antigravity-manager/blob/main/src/stores/useConfigStore.ts"
click node_monitor "https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/proxy/monitor.rs"
click node_security "https://github.com/lbjlaq/antigravity-manager/blob/main/src/pages/Security.tsx"
click node_integrations "https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/proxy/cli_sync.rs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_dashboard,node_accountspage,node_proxyui,node_client toneBlue
class node_accountstore,node_accountservice,node_oauth,node_quota toneAmber
class node_proxyserver,node_middleware,node_handlers,node_mappers,node_tokenmanager,node_pipeline,node_upstream toneMint
class node_configui,node_configstore,node_monitor,node_security,node_integrations toneRose
class node_user,node_provider toneIndigo
```

## Components

### Desktop interface

- [App router](https://github.com/lbjlaq/antigravity-manager/blob/main/src/App.tsx): `src/App.tsx`
- [Account dashboard](https://github.com/lbjlaq/antigravity-manager/blob/main/src/pages/Dashboard.tsx): `src/pages/Dashboard.tsx`
- [Accounts page](https://github.com/lbjlaq/antigravity-manager/blob/main/src/pages/Accounts.tsx): `src/pages/Accounts.tsx`
- [Proxy controls](https://github.com/lbjlaq/antigravity-manager/blob/main/src/pages/ApiProxy.tsx): `src/pages/ApiProxy.tsx`

### Account operations

- [Account state](https://github.com/lbjlaq/antigravity-manager/blob/main/src/stores/useAccountStore.ts): `src/stores/useAccountStore.ts`
- [Account commands](https://github.com/lbjlaq/antigravity-manager/blob/main/src/services/accountService.ts): `src/services/accountService.ts`
- [OAuth and accounts](https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/modules/account.rs): `src-tauri/src/modules/account.rs`
- [Quota models](https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/models/quota.rs): `src-tauri/src/models/quota.rs`

### AI relay

- [Local proxy server](https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/proxy/server.rs): `src-tauri/src/proxy/server.rs`
- [Request middleware](https://github.com/lbjlaq/antigravity-manager/tree/main/src-tauri/src/proxy/middleware): `src-tauri/src/proxy/middleware`
- [Protocol handlers](https://github.com/lbjlaq/antigravity-manager/tree/main/src-tauri/src/proxy/handlers): `src-tauri/src/proxy/handlers`
- [Protocol mapping](https://github.com/lbjlaq/antigravity-manager/tree/main/src-tauri/src/proxy/mappers): `src-tauri/src/proxy/mappers`
- [Account scheduler](https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/proxy/token_manager.rs): `src-tauri/src/proxy/token_manager.rs`
- [Thinking and usage](https://github.com/lbjlaq/antigravity-manager/tree/main/src-tauri/src/proxy/pipeline): `src-tauri/src/proxy/pipeline`
- [Upstream client](https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/proxy/upstream/client.rs): `src-tauri/src/proxy/upstream/client.rs`

### Configuration and operations

- [Settings page](https://github.com/lbjlaq/antigravity-manager/blob/main/src/pages/Settings.tsx): `src/pages/Settings.tsx`
- [Config state](https://github.com/lbjlaq/antigravity-manager/blob/main/src/stores/useConfigStore.ts): `src/stores/useConfigStore.ts`
- [Proxy monitoring](https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/proxy/monitor.rs): `src-tauri/src/proxy/monitor.rs`
- [Access controls](https://github.com/lbjlaq/antigravity-manager/blob/main/src/pages/Security.tsx): `src/pages/Security.tsx`
- [CLI integrations](https://github.com/lbjlaq/antigravity-manager/blob/main/src-tauri/src/proxy/cli_sync.rs): `src-tauri/src/proxy/cli_sync.rs`

### Other components

- **Developer**
- **API client**
- **AI providers**

## Connections

- Developer → App router: opens (evidence: `src/App.tsx`)
- App router → Account dashboard: routes (evidence: `src/App.tsx`)
- App router → Accounts page: routes (evidence: `src/App.tsx`)
- App router → Proxy controls: routes (evidence: `src/App.tsx`)
- Accounts page → Account state: uses
- Account dashboard → Account state: uses
- Account state → Account commands: calls (evidence: `src/stores/useAccountStore.ts`)
- Account commands → OAuth and accounts: invokes commands
- Developer → API client: configures (evidence: `README.md`)
- API client → Local proxy server: sends API requests (evidence: `README.md`)
- Local proxy server → Request middleware: filters requests
- Local proxy server → Protocol handlers: dispatches protocols (evidence: `README.md`)
- Protocol handlers → Protocol mapping: maps formats
- Protocol handlers → Thinking and usage: uses thinking pipeline
- Local proxy server → Account scheduler: selects accounts (evidence: `src-tauri/src/proxy/token_manager.rs`)
- Local proxy server → Upstream client: sends upstream
- Upstream client → AI providers: requests models
- Proxy controls → Config state: updates settings
- Settings page → Config state: updates settings (evidence: `src/pages/Settings.tsx`)
- Proxy controls → Local proxy server: configures relay (evidence: `README.md`)
- Local proxy server → Proxy monitoring: records activity
- Local proxy server → Access controls: enforces access (evidence: `README.md`)
- Proxy controls → CLI integrations: configures clients
