Перейти к содержимому
davidka.net > 💻 🧠 Код 1001 > Gemini CLI > Google Gemini CLI — шпаргалка

Google Gemini CLI — шпаргалка

  • автор:

🚀 Начало работы

Установка

  • Установить глобально: npm install -g @google/gemini-cli
  • Запустить без установки: npx @google/gemini-cli

(Philschmid)


Аутентификация с помощью API-ключа Gemini

Убедитесь, что аутентификацию с ключом прошли перед первым использованием. (Philschmid)

  1. Получите ключ: получите API-ключ через Google AI Studio. (Philschmid)
  2. Установите ключ одним из следующих способов: Метод 1: Переменная окружения shell Добавьте в профиль shell (например, ~/.bashrc или ~/.zshrc): export GEMINI_API_KEY="ВАШ_GEMINI_API_KEY" Метод 2: Файл окружения (.env) Создайте файл .env в ~/.gemini/ для глобального применения или в проекте ./.gemini/. CLI автоматически его подхватит. Пример содержимого: GEMINI_API_KEY="ВАШ_GEMINI_API_KEY"

(Philschmid)


🔧 Базовое использование

  • Интерактивный режим (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 чтобы восстановиться.

(Philschmid)


⚙️ Конфигурация

Файлы настроек (settings.json)

Настройки CLI можно настраивать через файл settings.json. Порядок применения (чем выше — выше приоритет):

  1. Проект: .gemini/settings.json — переопределяет пользовательские настройки. (Philschmid)
  2. Пользователь: ~/.gemini/settings.json — применяется, если нет проектных. (Philschmid)
  3. Система: /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"
    }
  }
}

(Philschmid)


⚡ Основные команды

Полезные 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.

(Philschmid)


Команды контекста (@)

Используйте @, чтобы включить файлы или директории в запрос (CLI учитывает .gitignore и .geminiignore). Можно подключать отдельные файлы, изображения, PDF, аудио, видео.

  • Подключить один файл: > Объясни этот код. @./src/main.js
  • Подключить изображение: > Опиши, что ты видишь на этом скриншоте. @./ux-mockup.png
  • Подключить всю директорию рекурсивно: > Переформатируй код в этой директории, используя async/await. @./src/

(Philschmid)


Shell-команды (!)

Команды оболочки можно выполнять прямо внутри CLI:

  • Выполнить одну команду: > !git status
  • Переключиться в режим постоянной оболочки: ввод ! отдельно переключает режим shell, ещё раз — выходит из него. (Philschmid)

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

КомбинацияОписание
Ctrl+LОчистить экран.
Ctrl+VВставить текст или изображение из буфера обмена.
Ctrl+YПереключить режим YOLO (автоодобрение всех вызовов инструментов).
Ctrl+XОткрыть текущий запрос в внешнем редакторе.

(Philschmid)


✨ Расширенные возможности

Интеграция с 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, чтобы можно было сразу использовать в репозитории.

Метки:

Добавить комментарий

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