Spaces:
Running
Running
| # Advanced Configuration | |
| While most users can use the default settings, you can tune the proxy behavior via the **Settings → Server** tab in the WebUI or by creating a `config.json` file. | |
| ## Environment Variables | |
| The proxy supports the following environment variables: | |
| | Variable | Description | Default | | |
| |----------|-------------|---------| | |
| | `PORT` | Server port | `8080` | | |
| | `HOST` | Bind address | `0.0.0.0` | | |
| | `HTTP_PROXY` | Route outbound requests through a proxy | - | | |
| | `HTTPS_PROXY` | Same as HTTP_PROXY (for HTTPS requests) | - | | |
| | `API_KEY` | Protect `/v1/*` API endpoints | - | | |
| | `WEBUI_PASSWORD` | Password-protect the web dashboard | - | | |
| | `DEBUG` | Enable debug logging (`true`/`false`) | `false` | | |
| | `DEV_MODE` | Enable developer mode (`true`/`false`) | `false` | | |
| | `FALLBACK` | Enable model fallback (`true`/`false`) | `false` | | |
| | `FALLBACK_ANTIGRAVITY_VERSION` | Override the User-Agent version string (useful when Google APIs reject old versions) | `1.23.2` | | |
| | `ANTIGRAVITY_CLIENT_VERSION` | Override the X-Client-Version header sent to the API (prevents "no longer supported" errors) | Auto-detected from product.json | | |
| | `ANTIGRAVITY_CLIENT_VERSION_FALLBACK` | Override the fallback X-Client-Version (used when product.json is not found) | `1.110.0` | | |
| | `CLAUDE_CONFIG_PATH` | Path to `.claude` directory for CLI settings (for systemd/service deployments) | `~/.claude` | | |
| ### Setting Environment Variables | |
| #### Inline (single command) | |
| Set variables for just one command. Works on macOS, Linux, and Windows with Git Bash/WSL: | |
| ```bash | |
| PORT=3000 HTTP_PROXY=http://proxy:8080 npm start | |
| ``` | |
| #### macOS / Linux (persistent) | |
| Add to your shell profile (`~/.zshrc` or `~/.bashrc`): | |
| ```bash | |
| export PORT=3000 | |
| export HTTP_PROXY=http://proxy:8080 | |
| ``` | |
| Then reload: `source ~/.zshrc` | |
| #### Windows Command Prompt (persistent) | |
| ```cmd | |
| setx PORT 3000 | |
| setx HTTP_PROXY http://proxy:8080 | |
| ``` | |
| Restart your terminal for changes to take effect. | |
| #### Windows PowerShell (persistent) | |
| ```powershell | |
| [Environment]::SetEnvironmentVariable("PORT", "3000", "User") | |
| [Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://proxy:8080", "User") | |
| ``` | |
| Restart your terminal for changes to take effect. | |
| ### HTTP Proxy Support | |
| If you're behind a corporate firewall or VPN, you can route all outbound API requests through a proxy server: | |
| ```bash | |
| # Route through a local proxy (e.g., for debugging with mitmproxy) | |
| HTTP_PROXY=http://127.0.0.1:8888 npm start | |
| # Route through a corporate proxy | |
| HTTP_PROXY=http://proxy.company.com:3128 npm start | |
| # With authentication | |
| HTTP_PROXY=http://user:password@proxy.company.com:3128 npm start | |
| ``` | |
| The proxy supports `http_proxy`, `HTTP_PROXY`, `https_proxy`, and `HTTPS_PROXY` (case-insensitive). | |
| ## Configurable Options | |
| - **API Key Authentication**: Protect `/v1/*` API endpoints with `API_KEY` env var or `apiKey` in config. | |
| - **WebUI Password**: Secure your dashboard with `WEBUI_PASSWORD` env var or in config. | |
| - **Custom Port**: Change the default `8080` port. | |
| - **Retry Logic**: Configure `maxRetries`, `retryBaseMs`, and `retryMaxMs`. | |
| - **Rate Limit Handling**: Comprehensive rate limit detection from headers and error messages with intelligent retry-after parsing. | |
| - **Load Balancing**: Adjust `defaultCooldownMs` and `maxWaitBeforeErrorMs`. | |
| - **Persistence**: Enable `persistTokenCache` to save OAuth sessions across restarts. | |
| - **Max Accounts**: Set `maxAccounts` (1-100) to limit the number of Google accounts. Default: 10. | |
| - **Quota Threshold**: Set `globalQuotaThreshold` (0-0.99) to switch accounts before quota drops below a minimum level. Supports per-account and per-model overrides. | |
| - **Endpoint Fallback**: Automatic 403/404 endpoint fallback for API compatibility. | |
| Refer to `config.example.json` for a complete list of fields and documentation. | |