
Действие GitHub, запускающее Gemini CLI.
run-gemini-cli — это GitHub Action, который интегрирует Gemini в ваш рабочий процесс разработки через Gemini CLI. Он выступает как автономный агент для критических рутинных задач кодирования, а также как коллаборатор по запросу, которому можно быстро делегировать работу.
Используйте его для проведения ревью пулл-реквестов GitHub, триажа задач, анализа и модификации кода и многого другого с помощью Gemini в диалоговом режиме (например, @gemini-cli fix this issue) прямо внутри ваших репозиториев GitHub.
@gemini-cli /review).gh).GEMINI.md в вашем репозитории для предоставления проектных инструкций и контекста Gemini CLI.Начните работу с Gemini CLI в вашем репозитории всего за несколько минут:
Получите свой ключ API в Google AI Studio с щедрыми бесплатными квотами.
Сохраните свой ключ API как секрет с именем GEMINI_API_KEY в вашем репозитории:
GEMINI_API_KEY, Значение: ваш ключ API.Добавьте следующие записи в файл .gitignore:
# gemini-cli settings
.gemini/
# GitHub App credentials
gha-creds-*.json
У вас есть два варианта настройки рабочего процесса:
Вариант A: Использовать команду настройки (рекомендуется)
Запустите Gemini CLI в вашем терминале:
gemini
В Gemini CLI в вашем терминале введите:
/setup-github
Вариант B: Вручную скопировать рабочие процессы
examples/workflows в каталог .github/workflows вашего репозитория. Примечание: рабочий процесс gemini-dispatch.yml также необходимо скопировать, так как он запускает выполнение остальных рабочих процессов.Ревью пулл-реквестов:
@gemini-cli /review на существующем пулл-реквесте, чтобы запустить ревью вручную.Триаж задач:
@gemini-cli /triage на существующих задачах, чтобы запустить триаж вручную.Общая помощь AI:
@gemini-cli, а затем ваш запрос.@gemini-cli explain this code change@gemini-cli suggest improvements for this function@gemini-cli help me debug this error@gemini-cli write unit tests for this componentЭтот action предоставляет несколько готовых рабочих процессов для различных сценариев использования. Каждый рабочий процесс можно скопировать в каталог .github/workflows вашего репозитория и настроить по своему усмотрению.
Этот рабочий процесс выступает в роли центрального диспетчера для Gemini CLI, направляя запросы в соответствующий рабочий процесс в зависимости от триггерного события и команды, указанной в комментарии. Подробное руководство по настройке рабочего процесса диспетчера см. в документации по рабочему процессу Gemini Dispatch.
Этот action можно использовать для автоматического триажа задач GitHub или по расписанию. Подробное руководство по настройке системы триажа задач см. в документации по рабочему процессу GitHub Issue Triage.
Этот action можно использовать для автоматического ревью пулл-реквестов при их открытии. Подробное руководство по настройке системы ревью пулл-реквестов см. в документации по рабочему процессу GitHub PR Review.
Этот action можно использовать для вызова универсального, диалогового AI-ассистента Gemini внутри пулл-реквестов и задач для выполнения широкого круга задач. Подробное руководство по настройке универсального рабочего процесса Gemini CLI см. в документации по рабочему процессу Gemini Assistant.
gcp_location: (Опционально) Местоположение Google Cloud.
gcp_project_id: (Опционально) Идентификатор проекта Google Cloud.
gcp_service_account: (Опционально) Адрес электронной почты сервисного аккаунта Google Cloud.
gcp_workload_identity_provider: (Опционально) Провайдер удостоверений рабочей нагрузки Google Cloud.
gcp_token_format: (Опционально, по умолчанию: access_token) Формат токена для аутентификации. Установите "access_token" для генерации токенов доступа (требует сервисный аккаунт) или оставьте пустой строкой для прямого WIF. Может принимать значения "access_token" или "id_token".
gcp_access_token_scopes: (Опционально, по умолчанию: https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile) Области токена доступа при использовании token_format "access_token". Список областей OAuth 2.0, разделённых запятыми.
summary: Суммированный вывод выполнения Gemini CLI.
error: Вывод ошибки выполнения Gemini CLI, если таковая имеется.
Рекомендуется задать следующие значения как переменные репозитория, чтобы их можно было повторно использовать во всех рабочих процессах. Альтернативно, их можно задать напрямую как входные данные action в отдельных рабочих процессах или для переопределения значений уровня репозитория.
[!WARNING] Не используйте переменную окружения
DEBUG, так как она вызывает зависание Gemini CLI в ожидании подключения отладчика Node.
Чтобы добавить переменную репозитория:
Подробнее о переменных репозитория см. в документации GitHub по переменным.
Вы можете задать следующие секреты в вашем репозитории:
Чтобы добавить секрет:
Дополнительную информацию см. в официальной документации GitHub по созданию и использованию зашифрованных секретов.
Этот action требует аутентификации как в сервисах Google (для Gemini AI), так и в API GitHub.
Выберите метод аутентификации, который лучше всего подходит для вашего случая:
Вы можете аутентифицироваться в GitHub двумя способами:
GITHUB_TOKEN: Для простых случаев action может использовать стандартный GITHUB_TOKEN, предоставляемый рабочим процессом.Подробные инструкции по настройке аутентификации Google и GitHub см. в документации по аутентификации.
Этот action можно настроить на отправку данных телеметрии (трассировок, метрик и логов) в ваш собственный проект Google Cloud. Это позволяет отслеживать производительность и поведение Gemini CLI в ваших рабочих процессах, предоставляя ценную информацию для отладки и оптимизации.
Подробные инструкции по настройке наблюдаемости см. в документации по наблюдаемости.
Gemini CLI можно расширить дополнительной функциональностью с помощью расширений. Эти расширения устанавливаются из исходников с их репозиториев GitHub.
Подробные инструкции по настройке расширений см. в документации по расширениям.
Чтобы обеспечить безопасность, надёжность и эффективность ваших автоматизированных рабочих процессов, мы настоятельно рекомендуем следовать нашим лучшим практикам. Эти рекомендации охватывают ключевые области, такие как безопасность репозитория, конфигурация рабочих процессов и мониторинг.
Ключевые рекомендации:
Полное руководство по обеспечению безопасности репозитория и рабочих процессов см. в нашей документации по лучшим практикам.
Создайте файл GEMINI.md в корне вашего репозитория, чтобы предоставить проектно-специфичный контекст и инструкции Gemini CLI. Это полезно для определения соглашений по кодированию, архитектурных паттернов или других правил, которым модель должна следовать для данного репозитория.
Вклад приветствуется! Ознакомьтесь с Руководством по участию Gemini CLI для получения более подробной информации о том, как начать.
gemini_api_key: (Опционально) Ключ API для Gemini API.
gemini_cli_version: (Опционально, по умолчанию: latest) Версия Gemini CLI для установки. Может быть "latest", "preview", "nightly", конкретным номером версии или git-веткой, тегом или коммитом. Дополнительную информацию см. в релизах Gemini CLI.
gemini_debug: (Опционально) Включает отладочное логирование и потоковый вывод.
gemini_model: (Опционально) Модель для использования с Gemini.
google_api_key: (Опционально) Ключ API Vertex AI для использования с Gemini.
prompt: (Опционально, по умолчанию: You are a helpful assistant.) Строка, передаваемая в аргумент --prompt Gemini CLI.
settings: (Опционально) Строка JSON, записываемая в .gemini/settings.json для настройки проектных параметров CLI.
Дополнительные сведения см. в документации по файлам настроек.
use_gemini_code_assist: (Опционально, по умолчанию: false) Использовать ли Code Assist для доступа к модели Gemini вместо стандартного ключа API Gemini.
Дополнительную информацию см. в документации Gemini CLI.
use_vertex_ai: (Опционально, по умолчанию: false) Использовать ли Vertex AI для доступа к модели Gemini вместо стандартного ключа API Gemini.
Дополнительную информацию см. в документации Gemini CLI.
extensions: (Опционально) Список расширений Gemini CLI для установки.
upload_artifacts: (Опционально, по умолчанию: false) Загружать ли артефакты в GitHub Action.
use_pnpm: (Опционально, по умолчанию: false) Использовать ли pnpm вместо npm для установки gemini-cli.
workflow_name: (Опционально, по умолчанию: ${{ github.workflow }}) Имя рабочего процесса GitHub, используется для телеметрии.
github_pr_number: (Опционально, по умолчанию: ${{ github.event.pull_request.number }}) Номер пулл-реквеста, с которым работает CLI. По умолчанию берётся из события.
github_issue_number: (Опционально, по умолчанию: ${{ github.event.issue.number }}) Номер задачи (или список номеров задач, разделённых запятыми), с которой работает CLI. По умолчанию берётся из события.
| Имя | Описание | Тип | Обязательно | Когда обязательно |
|---|
GEMINI_DEBUG | Включает отладочное логирование для Gemini CLI. | Variable | Нет | Никогда |
GEMINI_CLI_VERSION | Управляет тем, какая версия Gemini CLI устанавливается. | Variable | Нет | При фиксации версии CLI |
GCP_WIF_PROVIDER | Полное имя ресурса провайдера удостоверений рабочей нагрузки. | Variable | Нет | При использовании Google Cloud |
GOOGLE_CLOUD_PROJECT | Проект Google Cloud для инференса и наблюдаемости. | Variable | Нет | При использовании Google Cloud |
SERVICE_ACCOUNT_EMAIL | Адрес электронной почты сервисного аккаунта Google Cloud. Опционально — требуется только для WIF с сервисным аккаунтом (не требуется для прямого WIF). | Variable | Нет | При использовании WIF с сервисным аккаунтом |
GOOGLE_CLOUD_LOCATION | Регион проекта Google Cloud. | Variable | Нет | При использовании Google Cloud |
GOOGLE_GENAI_USE_VERTEXAI | Установите true для использования Vertex AI | Variable | Нет | При использовании Vertex AI |
GOOGLE_GENAI_USE_GCA | Установите true для использования Gemini Code Assist | Variable | Нет | При использовании Gemini Code Assist |
APP_ID | Идентификатор GitHub App для пользовательской аутентификации. | Variable | Нет | При использовании собственного GitHub App |
| Имя | Описание | Обязательно | Когда обязательно |
|---|
GEMINI_API_KEY | Ваш ключ API Gemini из Google AI Studio. | Нет | У вас нет проекта GCP. |
APP_PRIVATE_KEY | Приватный ключ вашего GitHub App (в формате PEM). | Нет | При использовании собственного GitHub App. |
GOOGLE_API_KEY | Ваш ключ API Google для использования с Vertex AI. | Нет | У вас есть express-аккаунт Vertex AI. |