Другое

Бесплатный Gemini 2.5 Pro в CLI: лучший ИИ для вайбкодинга

FulcrumLab 30.09.2025 14 мин чтения
Бесплатный Gemini 2.5 Pro в CLI: лучший ИИ для вайбкодинга
Полное руководство по Gemini CLI от Google — бесплатному инструменту командной строки с ии-помощником. 1000 запросов в день, интеграция с VS Code и практические примеры использования для разработчиков.

Gemini CLI — это open-source консольный AI-агент от Google, который работает прямо в терминале. Инструмент дает доступ к Gemini 2.5 Pro с контекстным окном в 1 миллион токенов и позволяет получать помощь с кодом, генерировать решения и автоматизировать задачи без переключения между приложениями.

Разработчики Google создали инструмент специально для тех, кто большую часть времени проводит в командной строке. Вместо того чтобы открывать браузер, искать ответы и копировать код, можно получить готовое решение за несколько секунд прямо в терминале.

Главное Преимущество: Никакого API Ключа и бесплатный тариф

Gemini CLI не требует API ключа для работы. Достаточно залогиниться через личный Google аккаунт и получить доступ к бесплатному тарифу:

  • 1000 запросов в день
  • 60 запросов в минуту
  • Доступ к Gemini 2.5 Pro
  • Контекстное окно 1 миллион токенов

Для большинства разработчиков этого более чем достаточно для повседневной работы. Лимит обновляется каждые 24 часа, так что даже при активном использовании запросы снова станут доступны на следующий день.

Установка и Первый Запуск

Gemini CLI устанавливается через npm и требует Node.js версии 20 или выше:

npm install -g @google/gemini-cli

Для пользователей macOS также доступна установка через Homebrew:

brew install gemini-cli 

Если нужно запустить без установки, используйте npx:

 npx https://github.com/google-gemini/gemini-cli

Первый Запуск и Аутентификация

После установки просто запустите команду:

gemini

При первом запуске инструмент предложит выбрать цветовую тему и метод аутентификации. Выберите "Login with Google" — это откроет браузер для авторизации через ваш Google аккаунт.

После успешной авторизации учетные данные сохраняются локально в файле ~/.gemini/oauth_creds.json, и повторная авторизация не требуется. Теперь можно сразу начинать работу:

> Как отсортировать список в Python?

Ответ появляется через 2-3 секунды с готовым примером кода и объяснениями.

Альтернативные Способы Аутентификации

Хотя OAuth логин через Google — рекомендуемый способ, Gemini CLI поддерживает и другие методы:

Gemini API Key (для тех, кому нужен контроль над моделью):

 export GEMINI_API_KEY="YOUR_API_KEY"
gemini

Бесплатный тир API ключа дает 100 запросов в день, что меньше чем при OAuth логине.

Vertex AI (для корпоративных команд):

export GOOGLE_API_KEY="YOUR_API_KEY"
export GOOGLE_GENAI_USE_VERTEXAI=true
gemini

Интеграция с VS Code: Полное Руководство

Главная особенность Gemini CLI — прямая интеграция с VS Code через официальное расширение Gemini CLI VS Code IDE Companion. Это превращает редактор в полноценную среду разработки с AI-помощником, использующим тот же бесплатный лимит в 1000 запросов в день.

Установка Расширения

Установить расширение можно тремя способами:

Через маркетплейс VS Code:

  1. Откройте VS Code
  2. Нажмите Ctrl+Shift+X (Cmd+Shift+X на macOS)
  3. Введите "Gemini CLI" в поиск
  4. Нажмите Install на расширении Google.gemini-cli-vscode-ide-companion

Через командную строку:

code --install-extension Google.gemini-cli-vscode-ide-companion

Через браузер:

Перейдите по прямой ссылке Gemini CLI VS Code IDE Companion, нажмите Install и подтвердите открытие в VS Code. 

Настройка Расширения

После установки расширение автоматически обнаружит установленный Gemini CLI и использует те же учетные данные OAuth из файла ~/.gemini/oauth_creds.json. Дополнительная настройка не требуется — если вы уже залогинились через терминал, расширение сразу заработает.

Если вы еще не авторизовались, расширение предложит выбрать метод аутентификации при первом использовании. Рекомендуется выбрать "Login with Google" для получения максимального бесплатного лимита.

Функции Расширения в Действии

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

Напишите комментарий с описанием нужной функции:

# функция для валидации российского номера телефона с поддержкой разных форматов

Выделите комментарий, нажмите правую кнопку мыши и выберите "Gemini: Generate Code". Через пару секунд появится готовая функция:

import re

def validate_russian_phone(phone: str) -> bool:
    """Проверяет российский номер телефона в форматах +7, 8, без кода"""
    pattern = r'^(\+7|8)?[\s\-]?\(?[489][0-9]{2}\)?[\s\-]?[0-9]{3}[\s\-]?[0-9]{2}[\s\-]?[0-9]{2}$'
    return bool(re.match(pattern, phone))

Объяснение сложного кода

Выделите непонятный фрагмент legacy-кода и выберите "Gemini: Explain Code". В боковой панели откроется объяснение каждой строки на простом языке. Это особенно полезно при работе с чужим кодом или при изучении новых библиотек.

Рефакторинг и оптимизация

Выделите функцию, которую нужно улучшить, и выберите "Gemini: Refactor". Расширение предложит несколько вариантов улучшений:

  • Упрощение логики и удаление дублирования
  • Улучшение производительности
  • Добавление type hints для Python
  • Разбиение на меньшие функции

Можно выбрать конкретный вариант или попросить показать все сразу.

Автодополнение с контекстом проекта

Расширение анализирует открытый файл и весь проект, предлагая умные подсказки при написании кода. В отличие от стандартного IntelliSense, Gemini понимает контекст всего проекта и предлагает решения с учетом уже используемых паттернов и библиотек.

Генерация тестов

Выделите функцию и выберите "Gemini: Generate Tests". Расширение создаст набор unit-тестов с разными сценариями, включая граничные случаи:

 def test_validate_russian_phone():
    # Валидные номера
    assert validate_russian_phone("+79991234567") == True
    assert validate_russian_phone("89991234567") == True
    assert validate_russian_phone("9991234567") == True
    
    # Невалидные номера
    assert validate_russian_phone("invalid") == False
    assert validate_russian_phone("") == False
    assert validate_russian_phone("+79") == False

Создание документации

Команда "Gemini: Document Code" автоматически генерирует docstrings для функций и классов в соответствии с принятыми стандартами:

 def validate_russian_phone(phone: str) -> bool:
    """
    Проверяет корректность российского номера телефона.
    
    Функция поддерживает различные форматы записи номеров:
    - С префиксом +7 или 8
    - С пробелами, дефисами или без разделителей
    - С круглыми скобками для кода оператора
    
    Args:
        phone: Строка с номером телефона для проверки
        
    Returns:
        True если номер соответствует формату российского номера,
        False в противном случае
        
    Examples:
        >>> validate_russian_phone("+7 999 123-45-67")
        True
        >>> validate_russian_phone("invalid")
        False
    """

Горячие Клавиши

Расширение добавляет несколько горячих клавиш для быстрого доступа:

  • Ctrl+Alt+G — открыть чат с Gemini

  • Ctrl+Alt+E — объяснить выделенный код

  • Ctrl+Alt+R — рефакторить выделенный код

  • Ctrl+Alt+T — сгенерировать тесты для выделенного кода

Все горячие клавиши можно переназначить через настройки VS Code (File → Preferences → Keyboard Shortcuts).

Боковая Панель Gemini

Расширение добавляет отдельную панель слева в VS Code с удобными функциями:

История запросов
Все предыдущие обращения к Gemini сохраняются и остаются доступными. Можно вернуться к старому ответу или продолжить предыдущий диалог без потери контекста.

Избранные фрагменты
Полезные ответы можно сохранять в избранное для быстрого доступа. Это удобно для часто используемых шаблонов кода или сложных решений, к которым нужно возвращаться.

Настройки поведения
Можно настроить:

  • Язык ответов (русский, английский или другие)
  • Стиль кода (PEP8, Google Style Guide, etc.)
  • Длину ответов (краткие или подробные)
  • Автоматическое форматирование сгенерированного кода

Работа с Выделенным Кодом

Расширение умеет работать с выделенным текстом как с контекстом. Выделите фрагмент кода и задайте вопрос через панель Gemini — инструмент будет использовать выделение для понимания вашего запроса:

# Выделите эту функцию
def process_data(data):
    result = []
    for item in data:
        if item > 0:
            result.append(item * 2)
    return result

Вопрос: "как переписать это с использованием list comprehension и сделать более питоническим?"

Gemini вернет оптимизированную версию с сохранением логики исходной функции.

Мультифайловый Контекст

Расширение анализирует не только текущий файл, но и другие открытые файлы в редакторе. Это позволяет давать более точные ответы с учетом структуры проекта.

Например, если у вас открыты models.py и views.py в Django-проекте, Gemini поймет связи между моделями и представлениями и предложит корректный код для обеих частей с учетом их взаимодействия.

Файл GEMINI.md для Контекста Проекта

Создайте файл GEMINI.md в корне проекта с описанием его особенностей:

 # Проект: E-commerce API

## Технологии
- FastAPI
- PostgreSQL с asyncpg
- Pydantic V2
- Poetry для зависимостей

## Стандарты кода
- Все endpoints используют async/await
- Валидация через Pydantic models
- Обработка ошибок через HTTPException

## Структура
- `/api/v1/` - все endpoints
- `/models/` - SQLAlchemy модели
- `/schemas/` - Pydantic схемы

Gemini CLI автоматически учитывает этот файл при генерации кода, делая ответы более релевантными проекту.

Практические Сценарии Использования

Отладка и Исправление Ошибок

Когда возникает ошибка, скопируйте весь traceback и получите объяснение:

 gemini "объясни ошибку: TypeError: 'NoneType' object is not subscriptable в контексте работы с JSON и предложи несколько вариантов исправления"

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

Генерация Шаблонов Проектов

Создание базовых структур занимает секунды:

 gemini "создай FastAPI приложение с endpoints для CRUD операций, JWT аутентификацией, интеграцией PostgreSQL и структурированным логированием"

Gemini вернет полную структуру проекта с несколькими файлами, готовую к запуску. Можно попросить добавить Docker-конфигурацию:

gemini "добавь Dockerfile и docker-compose.yml для предыдущего приложения с Redis для кеширования" 

Изучение Новых Технологий

Вместо поиска в документации спросите напрямую:

 gemini "покажи примеры использования async/await в Python для параллельных запросов к нескольким API с обработкой таймаутов и ошибок"

Инструмент вернет рабочие примеры с подробными комментариями.

Миграция Между Языками

Если нужно переписать код с одного языка на другой:

 gemini "переведи эту JavaScript функцию в Python с использованием идиом языка" < function.js

Работа с Google Search

Gemini CLI имеет встроенную интеграцию с Google Search для получения актуальной информации:

 gemini "найди в интернете последние breaking changes в Python 3.13 и покажи как обновить код"

Работа с Контекстом и Диалогами

Gemini CLI запоминает предыдущие сообщения в рамках сессии. Это позволяет задавать уточняющие вопросы:

 gemini "напиши функцию для парсинга JSON из файла"
gemini "добавь обработку ошибок для невалидного JSON"
gemini "оптимизируй для потоковой обработки файлов больше 100MB"
gemini "добавь асинхронную версию функции"
gemini "напиши unit-тесты для всех вариантов"

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

Сохранение Сессий (Checkpointing)

Чтобы сохранить текущую сессию для последующего использования:

# Сохранить текущую сессию
/checkpoint save my-api-project

# Восстановить сессию позже
/checkpoint load my-api-project

Встроенные Инструменты Gemini

CLI включает несколько встроенных инструментов:

Операции с Файлами

 > Прочитай файл config.json и объясни настройки
> Создай новый файл README.md с документацией проекта
> Отредактируй package.json и добавь новые зависимости

Выполнение Shell Команд

> Запусти тесты командой pytest
> Покажи статус git репозитория
> Установи зависимости из requirements.txt

Веб-поиск

> Загрузи содержимое страницы https://example.com/api/docs и проанализируй API
> Проверь доступность всех внешних ссылок в README.md

Сравнение Gemini CLI с Другими Инструментами

Преимущества перед GitHub Copilot

  • Работает в терминале, не только в редакторе
  • Бесплатный лимит выше (1000 vs 50 запросов в день)
  • Можно использовать в bash-скриптах и автоматизации
  • Не требует платной подписки для полноценного использования
  • Контекстное окно 1 миллион токенов

Преимущества перед ChatGPT

  • Специализация на коде и технических задачах
  • Прямая интеграция с инструментами разработки
  • Встроенный Google Search для актуальной информации
  • Выполнение shell команд и работа с файлами
  • Контекст проекта через GEMINI.md файлы

Преимущества перед Claude или другими LLM

  • Официальная поддержка от Google
  • Прямая интеграция с VS Code без сторонних решений
  • Open-source под лицензией Apache 2.0
  • Регулярные обновления и улучшения модели
  • Бесплатный доступ к Gemini 2.5 Pro

Советы по Использованию Gemini

Формулирование Запросов

Чтобы получать лучшие результаты, формулируйте запросы конкретно:

Плохо: "помоги с кодом"

Хорошо: "напиши асинхронную Python функцию для валидации email с использованием регулярных выражений, поддержкой unicode-доменов и обработкой всех граничных случаев"

Указывайте детали:

  • Язык программирования и версию
  • Конкретные требования (производительность, безопасность)
  • Ограничения (нельзя использовать библиотеку X)
  • Примеры входных и выходных данных

Использование Примеров

Добавляйте примеры для точности:

 gemini "напиши функцию которая преобразует 'hello_world_example' в 'helloWorldExample' (camelCase)"

Интеграция Gemini с MCP Серверами

Gemini CLI поддерживает Model Context Protocol (MCP) для расширения возможностей:

Настройте MCP серверы в ~/.gemini/settings.json:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"]
    },
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"]
    }
  }

Использование:

> @github список моих открытых pull requests
> @slack отправь summary коммитов в канал #dev
> @database запрос для поиска неактивных пользователей 

Полезные Команды Gemini CLI

Внутри Gemini CLI доступны slash-команды:

  • /help — справка по всем командам
  • /chat — начать новый чат
  • /checkpoint save <name> — сохранить сессию
  • /checkpoint load <name> — загрузить сессию
  • /mcp — управление MCP серверами
  • /auth — переключение метода аутентификации
  • /bug — сообщить о проблеме напрямую в GitHub

Используйте ! для выполнения shell команд:

 > !git status
> !pytest tests/
> !docker-compose up -d

Готовы внедрить ИИ в свой бизнес?

Превратите идеи в действия. Получите персональные рекомендации по внедрению искусственного интеллекта и начните трансформацию уже сегодня.