CLI-агент Gemini — это open-source инструмент, который приносит возможности Gemini прямо в ваш терминал, позволяя выполнять широкий спектр задач: программирование, решение проблем, управление задачами — всё с помощью естественного языка. Эта шпаргалка — быстрый справочник по установке, настройке и использованию Gemini CLI, с акцентом на пользователей, аутентифицирующихся через API-ключ Gemini. (Philschmid)
🚀 Начало работы
Установка
- Установить глобально:
npm install -g @google/gemini-cli - Запустить без установки:
npx @google/gemini-cli
Аутентификация с помощью API-ключа Gemini
Убедитесь, что аутентификацию с ключом прошли перед первым использованием. (Philschmid)
- Получите ключ: получите API-ключ через Google AI Studio. (Philschmid)
- Установите ключ одним из следующих способов: Метод 1: Переменная окружения shell Добавьте в профиль shell (например,
~/.bashrcили~/.zshrc):export GEMINI_API_KEY="ВАШ_GEMINI_API_KEY"Метод 2: Файл окружения (.env) Создайте файл.envв~/.gemini/для глобального применения или в проекте./.gemini/. CLI автоматически его подхватит. Пример содержимого:GEMINI_API_KEY="ВАШ_GEMINI_API_KEY"
🔧 Базовое использование
- Интерактивный режим (REPL) — начать сеанс диалога:
gemini - Неинтерактивный режим — передать запрос и получить один ответ:
gemini -p "Подведи основные итоги приложения. @./summary.txt" - Пайпинг в CLI:
echo "Count to 10" | gemini - Режим песочницы (sandbox) — запуск инструментов в безопасной среде (требуется Docker или Podman):
gemini --sandbox -p "ваш запрос" - Другие флаги: Флаг Значение
-m, --model <model>Использовать указанный модель-i, --prompt-interactive <prompt>Запустить интерактивный сеанс с начальным запросом-d, --debugВключить режим отладки--yoloАвтоматически соглашаться на все вызовы инструментов--checkpointingСохранять снимок проекта перед изменениями файлов. Используйте/restoreчтобы восстановиться.
⚙️ Конфигурация
Файлы настроек (settings.json)
Настройки CLI можно настраивать через файл settings.json. Порядок применения (чем выше — выше приоритет):
- Проект:
.gemini/settings.json— переопределяет пользовательские настройки. (Philschmid) - Пользователь:
~/.gemini/settings.json— применяется, если нет проектных. (Philschmid) - Система:
/etc/gemini-cli/settings.json— наименьший приоритет. (Philschmid)
Пример settings.json:
{
"theme": "GitHub",
"autoAccept": false,
"sandbox": "docker",
"vimMode": true,
"checkpointing": { "enabled": true },
"fileFiltering": { "respectGitIgnore": true },
"usageStatisticsEnabled": true,
"includeDirectories": ["../shared-library", "~/common-utils"],
"chatCompression": { "contextPercentageThreshold": 0.6 },
"customThemes": {
"MyCustomTheme": {
"name": "MyCustomTheme",
"type": "custom",
"Background": "#181818",
"Foreground": "#F8F8F2",
"LightBlue": "#82AAFF",
"AccentBlue": "#61AFEF",
"AccentPurple": "#C678DD",
"AccentCyan": "#56B6C2",
"AccentGreen": "#98C379",
"AccentYellow": "#E5C07B",
"AccentRed": "#E06C75",
"Comment": "#5C6370",
"Gray": "#ABB2BF"
}
}
}
⚡ Основные команды
Полезные slash-команды (/)
| Команда | Описание |
|---|---|
/compress | Заменить весь контекст чата резюме, чтобы сэкономить токены. |
/copy | Копировать последний ответ в буфер обмена. |
/mcp | Показать настроенные MCP-сервера и их инструменты. |
/clear | Очистить экран и контекст (также работает Ctrl+L). |
/tools | Показать доступные инструменты. |
/extensions | Список активных расширений. |
/stats | Показать использование токенов и экономию. |
/memory show | Показать объединённый контекст из всех файлов GEMINI.md. |
/memory refresh | Перезагрузить все GEMINI.md. |
/chat save <tag> | Сохранить текущий разговор под тегом. |
/chat resume <tag> | Возобновить сохранённый разговор. |
/chat list | Список сохранённых тегов разговоров. |
/restore | Показать или восстановить состояние проекта (checkpoint). |
/auth | Изменить текущий метод аутентификации. |
/bug | Сообщить об ошибке или багах в Gemini CLI. |
/help | Показать справочную информацию и доступные команды. |
/theme | Изменить визуальную тему CLI. |
/quit | Выйти из Gemini CLI. |
/ide | Управлять интеграцией с IDE (например, install, enable). |
/settings | Открыть редактор для изменения settings.json. |
/vim | Включить/отключить Vim-режим ввода. |
/init | Сгенерировать стартовый файл GEMINI.md для проекта. |
/directory | Управление директориями в рабочей области, например add, show. |
Команды контекста (@)
Используйте @, чтобы включить файлы или директории в запрос (CLI учитывает .gitignore и .geminiignore). Можно подключать отдельные файлы, изображения, PDF, аудио, видео.
- Подключить один файл:
> Объясни этот код. @./src/main.js - Подключить изображение:
> Опиши, что ты видишь на этом скриншоте. @./ux-mockup.png - Подключить всю директорию рекурсивно:
> Переформатируй код в этой директории, используя async/await. @./src/
Shell-команды (!)
Команды оболочки можно выполнять прямо внутри CLI:
- Выполнить одну команду:
> !git status - Переключиться в режим постоянной оболочки: ввод
!отдельно переключает режим shell, ещё раз — выходит из него. (Philschmid)
Горячие клавиши
| Комбинация | Описание |
|---|---|
Ctrl+L | Очистить экран. |
Ctrl+V | Вставить текст или изображение из буфера обмена. |
Ctrl+Y | Переключить режим YOLO (автоодобрение всех вызовов инструментов). |
Ctrl+X | Открыть текущий запрос в внешнем редакторе. |
✨ Расширенные возможности
Интеграция с IDE (например, VS Code)
- Автоматически получает последние файлы, позицию курсора и выделенный текст.
- Нативная визуализация изменений: сравнение diff прямо в редакторе.
- Команды:
/ide installдля установки интеграции,/ide enableдля её включения. (Philschmid)
Пользовательские команды (Custom Commands)
Создайте собственные команды с помощью файлов TOML. Сохраняются глобально (~/.gemini/commands/) или на уровне проекта (<проект>/.gemini/commands/). Можно использовать часто используемые шаблоны запросов. (Philschmid)
Пример ~/.gemini/commands/test/gen.toml:
# Вызывается как: /test:gen "Создай тест для кнопки логина"
description = "Генерирует unit-тест на основе описания."
prompt = """
Ты — эксперт по тестированию. На основе следующего требования напиши полный unit-тест с использованием Jest.
Требование: {{args}}
"""
Расширения (Extensions)
Можно добавлять расширения — каталоги с gemini-extension.json, которые позволяют настраивать MCP-сервера, инструменты, и контекст. Располагаются в <workspace>/.gemini/extensions/ или ~/.gemini/extensions/. (Philschmid)
Если хочешь, могу отправить переведённую версию в виде Markdown, чтобы можно было сразу использовать в репозитории.