Как подключить бесплатную Gemini 2.5 Flash к терминалу Linux

Недавно решил поэкспериментировать с AI-помощниками в командной строке. Перепробовал кучу разных вариантов — от GitHub Copilot CLI до всяких экзотических решений. Но больше всего понравился Shell-GPT с новой моделью Gemini 2.5 Flash. Поделюсь опытом настройки, потому что с документацией там не всё так просто.

Зачем это вообще нужно?

Честно говоря, поначалу скептически относился к идее AI в терминале. Думал — ну зачем, когда есть man pages и Google? Но оказалось довольно удобно, особенно когда нужно быстро склеить какую-то сложную команду или вспомнить синтаксис ffmpeg (который я постоянно забываю).

Например, недавно нужно было склеить несколько видео и ускорить результат. Вместо того чтобы лазить по Stack Overflow, просто спросил у AI:

  • «склей три видео в ffmpeg»
  • «ускорь получившееся видео на 20%»

И сразу получил готовые команды. Удобно, особенно когда торопишься.

Почему именно Gemini 2.5 Flash?

Попробовал разные модели. GPT через OpenAI API работает хорошо, но платный. Claude тоже неплохо, но тарифы кусаются. А вот Gemini 2.5 Flash оказался отличным компромиссом:

  • Бесплатный (с щедрыми лимитами)
  • Быстрый отклик
  • Хорошо понимает технические команды
  • Свежая модель с актуальными знаниями

Установка Shell-GPT

Сначала ставим сам Shell-GPT. У меня Debian, но на Ubuntu и других дистрибутивах процесс аналогичный:

pip3 install --user shell-gpt

После установки исполняемый файл окажется в ~/.local/bin/sgpt. Если команда sgpt не работает, добавьте этот путь в PATH:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Проверить установку:

sgpt --version

Получение API-ключа Gemini

Идём на Google AI Studio и создаём бесплатный API-ключ. Процедура простая — логинимся через Google аккаунт, жмём «Create API Key», копируем результат.

Важный момент: ключ бесплатный, но есть лимиты по запросам. Для обычного использования в терминале их более чем хватает.

Настройка конфигурации

Тут началось самое интересное. В документации Shell-GPT про Gemini написано не очень понятно, а в интернете полно устаревших инструкций. Пришлось методом проб и ошибок выяснять правильную конфигурацию.

Создаём конфиг:

sgpt --create-config

Файл конфигурации создастся в ~/.config/shell_gpt/.sgptrc. Открываем его любым редактором:

nano ~/.config/shell_gpt/.sgptrc

И вот тут важно! Многие гайды предлагают использовать USE_LITELLM=true, но с Gemini это приводит к проблемам с аутентификацией. Рабочая конфигурация выглядит так:

CHAT_CACHE_PATH=/tmp/chat_cache
CACHE_PATH=/tmp/cache
CHAT_CACHE_LENGTH=100
CACHE_LENGTH=100
REQUEST_TIMEOUT=60
DEFAULT_MODEL=gemini-2.5-flash-preview-05-20
DEFAULT_COLOR=magenta
ROLE_STORAGE_PATH=/home/your_username/.config/shell_gpt/roles
DEFAULT_EXECUTE_SHELL_CMD=false
DISABLE_STREAMING=false
CODE_THEME=dracula
OPENAI_FUNCTIONS_PATH=/home/your_username/.config/shell_gpt/functions
OPENAI_USE_FUNCTIONS=true
SHOW_FUNCTIONS_OUTPUT=false
API_BASE_URL=https://generativelanguage.googleapis.com/v1beta
PRETTIFY_MARKDOWN=true
USE_LITELLM=false
SHELL_INTERACTION=true
OS_NAME=auto
SHELL_NAME=auto
OPENAI_API_KEY=ваш_api_ключ_gemini

Ключевые моменты:

  • DEFAULT_MODEL=gemini-2.5-flash-preview-05-20 — актуальная версия модели
  • USE_LITELLM=false — отключаем LiteLLM, иначе проблемы с авторизацией
  • API_BASE_URL=https://generativelanguage.googleapis.com/v1beta — правильный endpoint для Gemini
  • В OPENAI_API_KEY вставляем ключ от Gemini (да, переменная называется OPENAI_API_KEY, но работает с разными провайдерами)

Проверка работоспособности

Тестируем настройку:

sgpt "test connection"

Если всё настроено правильно, получите ответ от Gemini. У меня с первого раза не заработало — пришлось повозиться с зависимостями Python, но в итоге всё встало.

Основные режимы работы

Обычные запросы

Просто задаёте вопрос:

sgpt "как найти файлы больше 100MB"

Генерация команд

Для генерации shell-команд используйте флаг --shell:

sgpt --shell "найди все видеофайлы в текущей папке"

Shell-GPT покажет команду и спросит, выполнить ли её.

Режим чата

Очень удобен для последовательного решения задач:

sgpt --repl --shell

В этом режиме можете вести диалог, и контекст сохраняется между вопросами.

Практические примеры использования

За пару недель использования накопилось много полезных сценариев:

Работа с ffmpeg:

sgpt --shell "склей видео file1.mp4 file2.mp4 file3.mp4"
sgpt --shell "ускорь video.mp4 в полтора раза"

Поиск файлов:

sgpt --shell "найди все конфиги nginx"
sgpt --shell "покажи самые большие файлы в /var/log"

Работа с архивами:

sgpt --shell "распакуй archive.tar.gz в папку extracted"
sgpt --shell "создай архив из папки documents"

Системное администрирование:

sgpt --shell "покажи процессы которые используют больше всего памяти"
sgpt --shell "найди открытые порты на этой машине"

Подводные камни и решения

Проблема с зависимостями

Если получаете ошибку «No module named ‘litellm'», установите:

pip3 install --user litellm google-generativeai

Проблемы с аутентификацией

Главная засада — Shell-GPT может пытаться использовать Google Cloud credentials вместо API-ключа AI Studio. Поэтому важно ставить USE_LITELLM=false и правильный API_BASE_URL.

Лимиты API

У бесплатной Gemini есть лимиты, но для персонального использования их хватает с головой. Если превысите лимит, просто подождите до следующего дня.

Сравнение с альтернативами

Пробовал разные решения:

GitHub Copilot CLI — работает хорошо, но платный и требует подписку GitHub Copilot.

Warp Terminal — красивый терминал со встроенным AI, но пока только для macOS (хотя обещают Linux версию).

tldr — не AI, но полезная утилита с примерами команд. Работает офлайн.

Shell-GPT с OpenAI — отличное качество ответов, но нужно платить за API.

По соотношению цена/качество Gemini через Shell-GPT оказался оптимальным вариантом.

Итоги

Настройка заняла больше времени чем ожидалось — в основном из-за проблем с документацией и зависимостями. Но результат стоил усилий. Теперь в терминале есть умный помощник, который знает Linux команды лучше меня самого.

Особенно ценю возможность работы в режиме чата — можно пошагово решать сложные задачи, уточнять детали, модифицировать команды. Это намного удобнее чем искать информацию в браузере.

Если у вас есть опыт использования других AI-помощников в терминале, поделитесь в комментариях. Интересно сравнить подходы и узнать о новых решениях.

P.S. Кстати, эту статью я писал не спрашивая у AI про каждое предложение, хотя идею проверить конфигурацию Gemini с Shell-GPT подсказал именно он 😄

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *