Files
unlimitedcoding/gemini/README.md
2026-03-04 06:04:02 +00:00

174 lines
4.5 KiB
Markdown

# Gemini CLI — Patched
<!-- VERSION_BADGE:START -->
Patched Gemini CLI for use with custom API endpoints.
Latest: **v0.29.5** (6 patches).
<!-- VERSION_BADGE:END -->
## npm Install (Recommended)
**Step 1 — Install patched CLI:**
**Linux / macOS:**
```bash
npm config set @google:registry https://npm.sensey24.ru/
npm install -g @google/gemini-cli
```
**Windows (PowerShell):**
```powershell
npm config set "@google:registry" "https://npm.sensey24.ru/"
npm install -g @google/gemini-cli
```
> Node.js required. Install from https://nodejs.org/ if not present.
**Step 2 — Configure settings and environment:**
The npm package includes patched proxy URLs and sandbox fixes (patches 1-4).
You still need to configure auth and env vars (patches 5-6):
**Linux / macOS:**
```bash
# Set environment variables
echo 'export GEMINI_API_KEY="ClauderAPI"' >> ~/.bashrc
echo 'export GOOGLE_GEMINI_BASE_URL="https://ai.37-187-136-86.sslip.io"' >> ~/.bashrc
source ~/.bashrc
# Configure auth (switch from OAuth to API key)
mkdir -p ~/.gemini
cat > ~/.gemini/settings.json << 'EOF'
{
"security": {
"auth": {
"selectedType": "gemini-api-key"
}
},
"telemetry": {
"enabled": false,
"logPrompts": false
}
}
EOF
```
**Windows (PowerShell):**
```powershell
# Set environment variables
[System.Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "ClauderAPI", "User")
[System.Environment]::SetEnvironmentVariable("GOOGLE_GEMINI_BASE_URL", "https://ai.37-187-136-86.sslip.io", "User")
# Configure auth
$geminiDir = "$env:USERPROFILE\.gemini"
New-Item -ItemType Directory -Force -Path $geminiDir | Out-Null
@'
{
"security": {
"auth": {
"selectedType": "gemini-api-key"
}
},
"telemetry": {
"enabled": false,
"logPrompts": false
}
}
'@ | Set-Content "$geminiDir\settings.json" -Encoding UTF8
```
**Step 3 — Verify:**
```bash
gemini -p "Hello"
```
### What's included in the npm package vs what needs manual setup
| Patch | What | Included in npm? |
|-------|------|:-:|
| 1-2 | Proxy URLs (API + Vertex) | Yes |
| 3-4 | Sandbox fixes (env vars + whitelist) | Yes |
| 5 | Auth settings (~/.gemini/settings.json) | **No — Step 2** |
| 6 | Env vars (GEMINI_API_KEY, BASE_URL) | **No — Step 2** |
### Update
Same install commands — npm will pull the latest patched version from our registry.
Settings and env vars persist across updates.
## One-Line Install (Alternative)
```bash
curl -fsSL https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.sh | sudo bash
```
This will:
1. Check prerequisites (Node.js >= 20, Python3)
2. Install `@google/gemini-cli` if not present
3. Download and apply 6 patches
4. Configure auth and env vars
5. Verify with a test prompt
## Manual Install
```bash
# 1. Install Gemini CLI
npm install -g @google/gemini-cli
# 2. Download patcher
curl -fsSL https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/gemini_patcher.py -o /tmp/gemini_patcher.py
curl -fsSL https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/gemini_config.json -o /tmp/gemini_config.json
# 3. Apply patches
sudo python3 /tmp/gemini_patcher.py --apply --config /tmp/gemini_config.json
# 4. Test
gemini -p "Hello"
```
## What Gets Patched
| # | Target | What |
|---|--------|------|
| 1 | `gemini_base_url` | Route API through proxy |
| 2 | `vertex_base_url` | Route Vertex AI through proxy |
| 3 | `sanitize_env_url` | Allow URLs in .env files |
| 4 | `auth_env_whitelist` | Allow proxy URL in sandbox |
| 5 | `user_settings` | Set API key auth, disable telemetry |
| 6 | `system_env` | Inject env vars |
## Available Models
- `gemini-2.5-pro` — Main production model
- `gemini-2.5-flash` — Fast model (default)
- `gemini-2.5-flash-lite` — Fastest, lightweight
- `gemini-3-pro-preview` — Next generation (preview)
- `gemini-3-flash-preview` — Next gen Flash (preview)
## Troubleshooting
**"GEMINI_API_KEY not set"**
```bash
export GEMINI_API_KEY="ClauderAPI"
export GOOGLE_GEMINI_BASE_URL="https://ai.37-187-136-86.sslip.io"
```
**"IneligibleTierError"**
Settings still using OAuth. Re-run patcher:
```bash
python3 gemini_patcher.py --settings-only
```
**Rollback**
```bash
sudo python3 gemini_patcher.py --rollback
```
## Files
| File | Purpose |
|------|---------|
| `gemini_patcher.py` | Main patcher — detects Gemini CLI, applies 6 patches |
| `gemini_config.json` | Config — proxy URL, API key, models |
| `ugemini_install.sh` | One-line installer |
| `releases/index.json` | Version index |