Files
gemini-nexus/cli/README.md

198 lines
4.8 KiB
Markdown

# Gemini Nexus CLI
A powerful command-line interface for managing multiple Google Cloud AI accounts in Gemini Nexus IDE. Supports account switching, quota monitoring, token validation, and more.
## Features
- 📊 **Quota Management**: Real-time quota tracking for Gemini and Claude models
- 🔄 **Account Switching**: Seamless switching between multiple Google accounts
- ✅ **Token Validation**: Automatic token refresh and expiry detection
- 🎯 **Smart Auto-Switch**: Automatically select the best account based on quotas
- 🏷️ **Aliases**: Create shortcuts for your accounts (e.g., `work`, `personal`)
- 💾 **Backup/Restore**: Export and import account configurations
- 🔍 **Database Sync**: View sync status between CLI and IDE
- 🩺 **Diagnostics**: System health checks and troubleshooting
- 🎮 **Interactive Mode**: Beautiful keyboard-navigated menus
## Installation
1. **Install Python dependencies:**
```powershell
pip install -r requirements.txt
```
2. **(Optional) Add to PATH:**
```powershell
.\agm.bat setup-path
```
Restart your terminal after this.
## Quick Start
### Interactive Mode (Recommended for Beginners)
Simply run without arguments to get a menu:
```powershell
.\agm.bat
```
### Command Line (For Power Users)
**List all accounts:**
```powershell
agm list
```
**Switch accounts:**
```powershell
agm switch [email protected]
# or use partial match
agm switch aleks
```
**Refresh quotas:**
```powershell
agm refresh-all
# or single account
agm refresh [email protected]
```
**Validate tokens:**
```powershell
agm validate
```
**Quick status:**
```powershell
agm status
```
## Advanced Features
### Aliases
Create shortcuts for frequently used accounts:
```powershell
# Set alias
agm alias work [email protected]
# Use alias
agm switch work
agm refresh work
# View all aliases
agm alias
# Remove alias
agm unalias work
```
### Auto-Switch
Automatically switch to the account with the best quota:
```powershell
# Any model with at least 50% quota
agm auto-switch
# Prefer Claude models
agm auto-switch --model claude --min-quota 30
# Prefer Gemini models
agm auto-switch --model gemini --min-quota 60
```
### Backup & Restore
```powershell
# Export accounts
agm export my_accounts.json
# Import accounts
agm import-backup my_accounts.json
```
### Live Monitoring
Watch quota changes in real-time:
```powershell
# Refresh every 10 seconds (default)
agm watch
# Custom interval
agm watch --interval 30
```
### Diagnostics
Run system health checks:
```powershell
agm doctor
```
## All Commands
| Command | Description |
|---------|-------------|
| `agm list` | List all accounts with quota summary |
| `agm info <email>` | Show detailed quota for specific account |
| `agm switch <email>` | Switch to an account |
| `agm status` | Show active account and quotas |
| `agm refresh <email>` | Refresh quotas for one account |
| `agm refresh-all` | Refresh quotas for all accounts |
| `agm validate` | Check and refresh expired tokens |
| `agm sync` | Show CLI ↔ IDE sync status |
| `agm remove <email>` | Delete an account from database |
| `agm alias [name] [email]` | Manage account aliases |
| `agm unalias <name>` | Remove an alias |
| `agm export [file]` | Export accounts to JSON |
| `agm import-backup <file>` | Import accounts from backup |
| `agm auto-switch` | Switch to best account automatically |
| `agm watch [--interval N]` | Live quota monitoring |
| `agm doctor` | Run system diagnostics |
| `agm setup-path` | Add CLI to Windows PATH |
## How It Works
The CLI interacts directly with the Gemini Nexus's encrypted database:
1. **Database Location**: Auto-discovers the database in `%APPDATA%\GeminiNexus` or IDE installation directory
2. **Encryption**: Uses Windows DPAPI + AES-256-GCM to decrypt account tokens (same as the IDE)
3. **Quota API**: Fetches live quota data from Google Cloud AI REST API
4. **Process Control**: Can start/stop the IDE executable automatically
## Troubleshooting
**"Database not found" error:**
- Ensure Gemini Nexus has been run at least once
- Check if accounts exist in the GUI first
**"Failed to decrypt" error:**
- Run `agm doctor` to diagnose
- Ensure you're on the same Windows user account
**"Token expired" warnings:**
- Run `agm validate` to auto-refresh all tokens
**Quota not updating:**
- Run `agm refresh-all` to force update
- Check network connection
## Requirements
- Windows 10/11
- Python 3.8+
- Gemini Nexus (for database access)
## Development
The CLI is split into two main modules:
- **`core.py`**: Core functionality (database access, API calls, encryption)
- **`main.py`**: Command definitions and interactive UI
- **`proto_utils.py`**: Protobuf encoding helpers
## License
Same as parent project.
## Contributing
Pull requests welcome! Please ensure:
- Code follows existing style
- All commands have help text
- No hardcoded paths or credentials