Gemini CLI — ИИ агент от Google, который запускается в терминале, и позволяет решать широкий спектр задач, от общения как с GPT, до автоматизации разработки, тестирования аналитики и т.д.
Установка Gemini CLI на Windows 11
Для установки потребуется Node.js, начиная с версии 18 и выше. Скачать можно на официальном сайте.
После установки Node.js открываем Power Shell и запускаем команду:
npm install -g @google/gemini-cli
По завершению выполнения должно появиться сообщение вида:
added 431 packages in 13s
123 packages are looking for funding`
run `npm fund` for details
Gemini CLI установлен. Теперь его можно запустить в любой момент из терминала командой
gemini
При этом Gemini может "подхватывать" в своей контекст данные из той папки, в которой он запущен.
Во время первого запуска Gemini Cli предложит выбрать цветовую схему.
А затем выбрать способ авторизации. На выбор 3 способа: через Google (не подходит, если страна аккаунта Россия), API-ключ, который можно получить на сайте AI Studio (или купить на каком-нибудь маркетплейсе) и через Vertex AI.
Я использовал API ключ, который надо добавить в переменную .env. В Power Shell это можно сделать командой:
$env:GEMINI_API_KEY="YOUR_API_KEY"
Бесплатная версия Gemini позволяет отправить 60 запросов в минуту и до 1000 запросов в сутки. Более подробно можно прочитать в документации Google.
Основные команды Gemini CLI
У Gemini CLI есть несколько типов команд.
Системные команды (/)
- /help — выводит список основных команд.
- /docs — открывает в браузере официальный Github репозиторий.
- /clear — очищает историю сообщений.
- /theme — выбор цветовой схемы.
- /auth — выбор способа авторизации.
- /editor — вывести список поддерживаемых редакторов кода.
- /privacy — выводит информацию о конфиденциальности
- /stats — выводит статистику по текущей сессии
- /mcp — вывести список настроенных серверов Model Context Protocol (MCP).
- /memory — управление контекстном обучения. Добавить текст в память (/memory add <text>). Показать содержимое памяти (/memory show). Перезагрузить память (/memory refresh)
- /tools — список инструментов доступных Gemini CLI.
- /about — выводит информацию о Gemini CLI.
- /bug — открывает страницу баг репорта.
- /chat [тег] — команда работы с чатом. Сохранить (/chat save <tag>). Возобновить с последнего сохранения (/chat resume <tag>). Получить список сохраненных чатов (/chat list).
- /quit — выход из Gemini CLI
- /compress — оптимизирует текущий контекст, сжимая его до краткого описания.
Промптинг
Можно отправить любое сообщение, тогда активируется режим промптинга, как с любым GPT инструментом.
Shell команды (!)
Если ввести в чате восклицательный знак, Gemini перейдет в режиме командной строки.
At команды (@)
- Команды используются для указания на конкретный файл или папку. Пример команды: @path/to/your/file.txt Объясни о чем этот файл.
Важно: Пробелы в пути экранируются обратным слешем (\)
Конфигурация Gemini CLI
Конфигурация определяется в порядке возрастания значимости:
1. Значения по умолчанию.
2. Файл настроек пользователя: Глобальные настройки для текущего пользователя. Находится в файле /users/<username>/.gemini/settings.json. Применяется ко всем сеансам Gemini CLI.
3. Файл с настройками проекта: Настройки для конкретного проекта. Находится в файле .gemini/settings.json в корневом каталоге вашего проекта. Применяется только при запуске Gemini CLI из конкретного проекта.
4. Переменные среды: общесистемные или специфичные для сеанса переменные, которые могут загружаться из .env файлов.
Описание возможных параметров settings.json по ссылке в документации.
5. Аргументы командной строки: Значения, переданные при запуске интерфейса командной строки.
Параметры запуска Gemini CLI
Для получения списка и описания всех параметров запуска Gemini CLI используется команда:
gemini --help
- -m, --model — задаёт модель, с которой будет запущен Gemini. По умолчанию используется модель "gemini-2.5-pro". Список моделей Gemini.
- -p, --prompt — отправить промпт без запуска интерфейса.
- -s, --sandbox — запуска Gemini в песочнице. Нужен установленный Docker.
- -d, --debug — запуск в режиме отладки, который наглядно показывает процесс взаимодействия с системой.
- -a, --all_files — включает все файлы из каталога в котором запущен gemini в контекст запроса.
- --show_memory_usage — показывает количество памяти, которое использует gemini.
- -y, --yolo — запускает Gemini с правами на запуск инструментов без дополнительных запросов.
- -v, --version — выводит информацию об установленной версии Gemini CLI.
GEMINI.MD
GEMINI.MD - это не обязательный файл с инструкциями, о которых Gemini должен знать во время взаимодействия.
CLI может прочитать несколько файлов GEMINI.MD, объединив их инструкции.
Что может содержаться в файле:
1. Общие инструкции.
2. Требования к стилю.
3. Описание рабочих файлов.
4. Зависимости.
Вот пример содержимого GEMINI.MD из документации:
-##
Общие инструкции:#
Проект: Моя потрясающая библиотека TypeScript При создании нового кода TypeScript, пожалуйста, следуйте существующему стилю кодирования.
- Убедитесь, что все новые функции и классы имеют комментарии JSDoc.
- При необходимости отдавайте предпочтение парадигмам функционального программирования.
- Весь код должен быть совместим с TypeScript 5.0 и Node.js 18+.
## Стиль кодирования:
- Используйте 2 пробела для отступов.
- Имена интерфейсов должны начинаться с `I` (например, `IUserService`).
- Имена закрытых членов класса должны начинаться с подчеркивания (`_`).
- Всегда используйте строгое равенство (`===` и `!==`).
## Конкретный компонент: `src/api/client.ts`
- Этот файл обрабатывает все исходящие запросы API.
- При добавлении новых функций вызова API убедитесь, что они включают надёжную обработку ошибок и ведение журнала.
- Используйте существующую утилиту `fetchWithRetry` для всех запросов GET.
## Что касается зависимостей:
- Избегайте добавления новых внешних зависимостей без крайней необходимости.
- Если требуется новая зависимость, укажите причину.
Я написал статью с подробным разбором GEMINI.MD, с которой можно ознакомиться по ссылке.