MQL5-Google-Onedrive/docs/GEMINI_CLI_INTEGRATION.md
copilot-swe-agent[bot] 0cd9766170 Add comprehensive Gemini CLI integration guide
Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-02-17 15:53:51 +00:00

283 lines
5.8 KiB
Markdown

# Gemini CLI Integration Guide
## Overview
This project now includes Google Gemini CLI as a local npm dependency, providing AI capabilities for market analysis, trade confirmation, and code upgrades.
## What's New
### Version Integrated
- **Package**: `@google/gemini-cli`
- **Version**: `0.30.0-nightly.20260212.207ac6f2d`
- **Includes**: Commit `6a2f2d3a91380985c9ada6d39219fb353b4291b2` with headless mode fixes
### Key Improvements
1. **Better Headless Mode Detection**: Fixed detection for non-interactive environments
2. **CI Environment Support**: Automatic detection of CI/GitHub Actions environments
3. **Query Option Support**: Added support for `query` parameter
4. **Command-line Flag Detection**: Fallback checking for `-p`, `--prompt`, `-y`, and `--yolo` flags
## Installation
### First Time Setup
```bash
# Clone the repository
git clone https://github.com/A6-9V/MQL5-Google-Onedrive.git
cd MQL5-Google-Onedrive
# Install all dependencies including Gemini CLI
npm install
# Or use the setup script
bash setup.sh
# Then select option 2: Install npm dependencies
```
### Verify Installation
```bash
# Check version
npx gemini --version
# Should output: 0.30.0-nightly.20260212.207ac6f2d
# View help
npx gemini --help
```
## Usage
### Interactive Mode (Terminal Chat)
```bash
npx gemini
```
This starts an interactive chat session with Gemini.
### Non-Interactive Mode (Headless)
```bash
# Single prompt
npx gemini --prompt "Analyze the EURUSD market trend"
# With specific model
npx gemini --model gemini-2.0-flash --prompt "Review this trading strategy"
# YOLO mode (auto-approve all actions)
npx gemini --yolo --prompt "Generate a market report"
```
### Integration with Trading System
The Gemini CLI is used in several places:
1. **Trade Confirmation** (via EA):
- Set `UseGeminiFilter = true`
- Set `AiProvider = PROVIDER_GEMINI`
- Add your API key to `GeminiApiKey`
2. **Market Research** (automated scripts):
```bash
python scripts/market_research.py
```
3. **Code Upgrades** (automated suggestions):
```bash
python scripts/upgrade_repo.py
```
## Configuration
### API Key Setup
You need a Google AI API key from [Google AI Studio](https://aistudio.google.com/).
#### Option 1: Environment Variable (Recommended)
Add to your shell profile or `.env` file:
```bash
export GEMINI_API_KEY="your_api_key_here"
```
#### Option 2: Settings File
Create `~/.gemini/settings.json`:
```json
{
"auth": {
"apiKey": "your_api_key_here"
}
}
```
### MT5 WebRequest Setup
For EA integration, enable WebRequests in MT5:
1. Open MT5 → **Tools → Options → Expert Advisors**
2. Check **"Allow WebRequest for listed URL"**
3. Add: `https://generativelanguage.googleapis.com`
## Testing the Integration
### Basic Test
```bash
# Test version
npx gemini --version
# Test non-interactive mode
npx gemini --prompt "Hello, Gemini!"
```
### Full Setup Test
```bash
# Run full validation
bash setup.sh --ci
# Or interactive menu
bash setup.sh
# Select option 1: Run full validation
```
## Troubleshooting
### "gemini: command not found"
If you see this error, use `npx`:
```bash
npx gemini --version
```
Or install globally:
```bash
npm install -g @google/gemini-cli
```
### API Key Issues
If you get authentication errors:
1. Verify your API key at [Google AI Studio](https://aistudio.google.com/)
2. Check the key is set in environment or settings file
3. Test with: `npx gemini --prompt "test"`
### WebRequest Errors in MT5
If the EA can't connect to Gemini:
1. Check MT5 allowed URLs (Tools → Options → Expert Advisors)
2. Add `https://generativelanguage.googleapis.com`
3. Restart MT5 terminal
## Features Enabled by Gemini CLI
### 1. AI Trade Confirmation
The EA can ask Gemini to confirm trades before execution:
```mql5
// In EA settings
input bool UseGeminiFilter = true;
input ENUM_AI_PROVIDER AiProvider = PROVIDER_GEMINI;
input string GeminiApiKey = "your_key_here";
```
### 2. Market Research Automation
Automated market analysis reports:
```bash
./scripts/setup_research.sh # First-time setup
python scripts/market_research.py # Run analysis
```
Generates: `docs/market_research_report.md`
### 3. Code Upgrade Suggestions
AI-powered code improvement suggestions:
```bash
python scripts/upgrade_repo.py
```
Generates: `docs/upgrade_suggestions.md`
### 4. Scheduled Research
Automatic research every 4 hours:
```bash
python scripts/schedule_research.py
```
## Advanced Usage
### Custom Models
```bash
# Use specific model
npx gemini --model gemini-2.0-flash-exp --prompt "Analyze..."
# Use preview model
npx gemini --model gemini-1.5-pro-preview --prompt "Analyze..."
```
### Approval Modes
```bash
# Default mode (prompt for approval)
npx gemini --prompt "Analyze..."
# Auto-edit mode (auto-approve edit tools)
npx gemini --approval-mode auto_edit --prompt "Fix..."
# YOLO mode (auto-approve all)
npx gemini --approval-mode yolo --prompt "Do everything..."
# Plan mode (read-only)
npx gemini --approval-mode plan --prompt "Plan..."
```
### Session Management
```bash
# List sessions
npx gemini --list-sessions
# Resume session
npx gemini --resume latest
# Delete session
npx gemini --delete-session 5
```
## Security Notes
1. **Never commit API keys** to the repository
2. Use `.env` file for local development (already in `.gitignore`)
3. Use GitHub Secrets for CI/CD workflows
4. Rotate API keys regularly
5. Monitor API usage at Google AI Studio
## Resources
- [Gemini CLI Documentation](https://github.com/google-gemini/gemini-cli)
- [Google AI Studio](https://aistudio.google.com/)
- [Gemini API Documentation](https://ai.google.dev/docs)
- [Local Setup Guide](./Gemini_CLI_setup.md)
## Support
For issues with:
- **Gemini CLI itself**: https://github.com/google-gemini/gemini-cli/issues
- **This integration**: Open an issue in this repository
- **MT5 EA integration**: See [EA documentation](../mt5/MQL5/Experts/README.md)