Files
unlimitedcoding/gemini/README_ru.md
2026-04-26 06:13:25 +00:00

9.2 KiB
Executable File
Raw Blame History

Gemini CLI — Пропатченный

Пропатченный Gemini CLI для работы с кастомными API endpoints. Последняя версия: v0.35.3 (13 патчей).

Требуется Node.js v20+. Установщик подтянет Node.js если его нет.

Установка одной командой (рекомендуется)

Установщик ставит Node.js (если нет), npm-пакет, env vars и ~/.gemini/settings.json. Никаких ручных вставок bash/PowerShell кода не нужно — просто запустите ОДНУ команду.

Linux (Debian/Ubuntu/RHEL/Fedora):

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.sh \
  -o /tmp/ugemini.sh && sudo bash /tmp/ugemini.sh

macOS (Intel & Apple Silicon):

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.sh \
  -o /tmp/ugemini.sh && sudo bash /tmp/ugemini.sh

macOS: env vars (GEMINI_API_KEY, GOOGLE_GEMINI_BASE_URL) добавляются в ~/.zshrc.

Windows (PowerShell от имени администратора):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.ps1" -OutFile "$env:TEMP\ugemini_install.ps1" -Headers $h
. "$env:TEMP\ugemini_install.ps1"

Windows (CMD от имени администратора):

powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.ps1' -OutFile \"$env:TEMP\ugemini_install.ps1\" -Headers $h; & \"$env:TEMP\ugemini_install.ps1\""

Windows: после установки перезапустите CMD/PowerShell для подхвата env vars и PATH.

Установщик выполнит:

  1. Проверит prerequisites (Node.js >= 20, Python3)
  2. Установит @google/gemini-cli если нет
  3. Скачает и применит 13 патчей
  4. Настроит auth и env vars
  5. Проверит тестовым промптом

Проверка

gemini -p "Привет"

Альтернатива — установка через npm (вручную)

Если установщик не подходит — можно вручную через npm registry:

Linux / macOS:

npm config set @google:registry https://npm.sensey24.ru/
npm install -g @google/gemini-cli

Windows (PowerShell):

npm config set "@google:registry" "https://npm.sensey24.ru/"
npm install -g @google/gemini-cli

После npm-установки нужно вручную настроить auth и env vars — см. ниже.

Ручная настройка (после npm install)

npm-пакет содержит все 13 патчей (proxy URLs, model defaults, UI, compression). Нужно лишь настроить auth и env vars.

Linux:

echo 'export GEMINI_API_KEY="YOUR_API_KEY"' >> ~/.bashrc
echo 'export GOOGLE_GEMINI_BASE_URL="https://ai.37-187-136-86.sslip.io"' >> ~/.bashrc
source ~/.bashrc

mkdir -p ~/.gemini
cat > ~/.gemini/settings.json << 'EOF'
{
  "security": {
    "auth": { "selectedType": "gemini-api-key" },
    "folderTrust": { "enabled": false }
  },
  "telemetry": { "enabled": false, "logPrompts": false },
  "general": { "defaultApprovalMode": "yolo" }
}
EOF

macOS (zsh — default):

echo 'export GEMINI_API_KEY="YOUR_API_KEY"' >> ~/.zshrc
echo 'export GOOGLE_GEMINI_BASE_URL="https://ai.37-187-136-86.sslip.io"' >> ~/.zshrc
source ~/.zshrc
mkdir -p ~/.gemini
cat > ~/.gemini/settings.json << 'EOF'
{
  "security": {
    "auth": { "selectedType": "gemini-api-key" },
    "folderTrust": { "enabled": false }
  },
  "telemetry": { "enabled": false, "logPrompts": false },
  "general": { "defaultApprovalMode": "yolo" }
}
EOF

Windows (PowerShell):

[System.Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "YOUR_API_KEY", "User")
[System.Environment]::SetEnvironmentVariable("GOOGLE_GEMINI_BASE_URL", "https://ai.37-187-136-86.sslip.io", "User")
$env:GEMINI_API_KEY = "YOUR_API_KEY"
$env:GOOGLE_GEMINI_BASE_URL = "https://ai.37-187-136-86.sslip.io"
$d = "$env:USERPROFILE\.gemini"
New-Item -ItemType Directory -Force -Path $d | Out-Null
[System.IO.File]::WriteAllText("$d\settings.json", '{"security":{"auth":{"selectedType":"gemini-api-key"},"folderTrust":{"enabled":false}},"telemetry":{"enabled":false,"logPrompts":false},"general":{"defaultApprovalMode":"yolo"}}')

Windows (CMD):

setx GEMINI_API_KEY "YOUR_API_KEY"
setx GOOGLE_GEMINI_BASE_URL "https://ai.37-187-136-86.sslip.io"
if not exist "%USERPROFILE%\.gemini" mkdir "%USERPROFILE%\.gemini"
> "%USERPROFILE%\.gemini\settings.json" echo {"security":{"auth":{"selectedType":"gemini-api-key"},"folderTrust":{"enabled":false}},"telemetry":{"enabled":false,"logPrompts":false},"general":{"defaultApprovalMode":"yolo"}}

Обновление

Linux / macOS:

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_update.sh \
  -o /tmp/ugemini_update.sh && sudo bash /tmp/ugemini_update.sh

Windows (PowerShell от имени администратора):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_update.ps1" -OutFile "$env:TEMP\ugemini_update.ps1" -Headers $h
. "$env:TEMP\ugemini_update.ps1"

Удаление

Linux / macOS:

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_uninstall.sh \
  -o /tmp/ugemini_uninstall.sh && sudo bash /tmp/ugemini_uninstall.sh

Windows (PowerShell от имени администратора):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_uninstall.ps1" -OutFile "$env:TEMP\ugemini_uninstall.ps1" -Headers $h
. "$env:TEMP\ugemini_uninstall.ps1"

Удаляются: npm-пакет, ~/.gemini/, env vars, npm registry config.

Что патчится (13 целей)

# Цель Что
1 gemini_base_url Маршрутизация API через прокси
2 vertex_base_url_regional Vertex AI (regional) через прокси
3 vertex_base_url_global Vertex AI (global) через прокси
4 sanitize_env_url Поддержка URL в .env файлах
5 auth_env_whitelist URL прокси в sandbox
6 user_settings API key auth, отключение телеметрии
7 auto_update_registry Перенаправление npm registry на прокси
8 auto_update_commands Добавление --registry в команды update
9 auto_permissions YOLO-mode из настроек
10 default_models Дефолтные модели → 3.x
11 model_dialog_desc Названия моделей в UI picker
12 compression_aliases Алиасы для compression config
13 agent_config_desc Пример модели в agent config

Доступные модели

  • gemini-3.1-pro-preview — Основная (default)
  • gemini-3.1-pro-high — High quality
  • gemini-3.1-pro-low — Fast
  • gemini-3-pro-preview — Gemini 3.0 Pro
  • gemini-3-flash-preview — Fast model
  • gemini-2.5-pro — Legacy
  • gemini-2.5-flash — Legacy fast

Решение проблем

"GEMINI_API_KEY not set"

Linux / macOS:

export GEMINI_API_KEY="YOUR_API_KEY"
export GOOGLE_GEMINI_BASE_URL="https://ai.37-187-136-86.sslip.io"

Windows (PowerShell):

[System.Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "YOUR_API_KEY", "User")
[System.Environment]::SetEnvironmentVariable("GOOGLE_GEMINI_BASE_URL", "https://ai.37-187-136-86.sslip.io", "User")
# Перезапустите PowerShell

Windows (CMD):

setx GEMINI_API_KEY "YOUR_API_KEY"
setx GOOGLE_GEMINI_BASE_URL "https://ai.37-187-136-86.sslip.io"

"IneligibleTierError"

python3 gemini_patcher.py --settings-only

Windows: "gemini не распознается"

Перезапустите CMD/PowerShell. Либо вручную обновите PATH:

$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")

Откат

sudo python3 gemini_patcher.py --rollback