# Gemini CLI — Пропатченный Пропатченный Gemini CLI для работы с кастомными API endpoints. Последняя версия: **v0.29.5** (6 патчей). ## Установка через npm (Рекомендуется) **Шаг 1 — Установить патченный 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. Установить: https://nodejs.org/ **Шаг 2 — Настроить окружение:** npm-пакет содержит патченные URL прокси и фиксы sandbox (патчи 1-4). Авторизацию и переменные окружения нужно настроить вручную (патчи 5-6): **Linux / macOS:** ```bash # Переменные окружения echo 'export GEMINI_API_KEY="ClauderAPI2"' >> ~/.bashrc echo 'export GOOGLE_GEMINI_BASE_URL="https://ai.37-187-136-86.sslip.io"' >> ~/.bashrc source ~/.bashrc # Настройка авторизации (переключить с OAuth на 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 # Переменные окружения [System.Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "ClauderAPI2", "User") [System.Environment]::SetEnvironmentVariable("GOOGLE_GEMINI_BASE_URL", "https://ai.37-187-136-86.sslip.io", "User") # Настройка авторизации $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 ``` **Шаг 3 — Проверить:** ```bash gemini -p "Привет" ``` ### Что входит в npm-пакет, а что нужно настроить вручную | Патч | Что | Входит в npm? | |------|-----|:-:| | 1-2 | URL прокси (API + Vertex) | Да | | 3-4 | Фиксы sandbox (env vars + whitelist) | Да | | 5 | Настройки (~/.gemini/settings.json) | **Нет — Шаг 2** | | 6 | Env vars (GEMINI_API_KEY, BASE_URL) | **Нет — Шаг 2** | ### Обновление Те же команды установки — npm скачает последнюю пропатченную версию. Настройки и env vars сохраняются при обновлении. ## Установка одной командой (Альтернатива) ```bash curl -fsSL https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.sh | sudo bash ``` Скрипт автоматически: 1. Проверит Node.js >= 20 и Python3 2. Установит `@google/gemini-cli` если нужно 3. Скачает и применит 6 патчей 4. Настроит авторизацию и env vars 5. Проверит тестовым запросом ## Ручная установка ```bash # 1. Установить Gemini CLI npm install -g @google/gemini-cli # 2. Скачать патчер 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. Применить патчи sudo python3 /tmp/gemini_patcher.py --apply --config /tmp/gemini_config.json # 4. Проверить gemini -p "Привет" ``` ## Что патчится | # | Цель | Описание | |---|------|----------| | 1 | `gemini_base_url` | API через прокси | | 2 | `vertex_base_url` | Vertex AI через прокси | | 3 | `sanitize_env_url` | Поддержка URL в .env | | 4 | `auth_env_whitelist` | URL прокси в sandbox | | 5 | `user_settings` | API key авторизация, отключение телеметрии | | 6 | `system_env` | Системные переменные окружения | ## Доступные модели - `gemini-2.5-pro` — Основная модель - `gemini-2.5-flash` — Быстрая (по умолчанию) - `gemini-2.5-flash-lite` — Самая быстрая - `gemini-3-pro-preview` — Следующее поколение (preview) - `gemini-3-flash-preview` — Flash нового поколения (preview) ## Решение проблем **"GEMINI_API_KEY not set"** ```bash export GEMINI_API_KEY="ClauderAPI2" export GOOGLE_GEMINI_BASE_URL="https://ai.37-187-136-86.sslip.io" ``` **"IneligibleTierError"** ```bash python3 gemini_patcher.py --settings-only ``` **Откат** ```bash sudo python3 gemini_patcher.py --rollback ```