9.2 KiB
Executable File
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.
Установщик выполнит:
- Проверит prerequisites (Node.js >= 20, Python3)
- Установит
@google/gemini-cliесли нет - Скачает и применит 13 патчей
- Настроит auth и env vars
- Проверит тестовым промптом
Проверка
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 qualitygemini-3.1-pro-low— Fastgemini-3-pro-preview— Gemini 3.0 Progemini-3-flash-preview— Fast modelgemini-2.5-pro— Legacygemini-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