
Una acción de GitHub que invoca la CLI de Gemini.
run-gemini-cli es una acción de GitHub que integra Gemini en tu flujo de trabajo de desarrollo mediante la [CLI de Gemini]. Actúa tanto como un agente autónomo para tareas rutinarias de codificación críticas, como un colaborador bajo demanda al que puedes delegar trabajo rápidamente.
Úsala para realizar revisiones de pull requests de GitHub, clasificar issues, analizar y modificar código, y más usando Gemini de manera conversacional (p. ej., @gemini-cli arregla este issue) directamente dentro de tus repositorios de GitHub.
@gemini-cli /review).gh).GEMINI.md en tu repositorio para proporcionar instrucciones y contexto específicos del proyecto a la [CLI de Gemini].Comienza a usar la CLI de Gemini en tu repositorio en solo unos minutos:
Obtén tu clave de API desde Google AI Studio con cuotas gratuitas generosas.
Almacena tu clave de API como un secreto llamado GEMINI_API_KEY en tu repositorio:
GEMINI_API_KEY, Valor: tu clave de API.Agrega las siguientes entradas a tu archivo .gitignore:
# Configuración de gemini-cli
.gemini/
# Credenciales de la App de GitHub
gha-creds-*.json
Tienes dos opciones para configurar un flujo de trabajo:
Opción A: Usar el comando de configuración (Recomendado)
Inicia la CLI de Gemini en tu terminal:
gemini
En la CLI de Gemini en tu terminal, escribe:
/setup-github
Opción B: Copiar flujos de trabajo manualmente
examples/workflows al directorio .github/workflows de tu repositorio. Nota: también se debe copiar el flujo de trabajo gemini-dispatch.yml, que activa la ejecución de los flujos de trabajo.Revisión de Pull Requests:
@gemini-cli /review en un pull request existente para activar manualmente una revisión.Clasificación de Issues:
@gemini-cli /triage en issues existentes para activar manualmente la clasificación.Asistencia general de IA:
@gemini-cli seguido de tu solicitud.@gemini-cli explica este cambio de código@gemini-cli sugiere mejoras para esta función@gemini-cli ayúdame a depurar este error@gemini-cli escribe pruebas unitarias para este componenteEsta acción proporciona varios flujos de trabajo preconstruidos para diferentes casos de uso. Cada flujo de trabajo está diseñado para copiarse en el directorio .github/workflows de tu repositorio y personalizarse según sea necesario.
Este flujo de trabajo actúa como un despachador central para la CLI de Gemini, enrutando solicitudes al flujo de trabajo adecuado según el evento que lo activó y el comando proporcionado en el comentario. Para obtener una guía detallada sobre cómo configurar el flujo de trabajo de despacho, consulta la documentación del flujo de trabajo de Dispatch de Gemini.
Esta acción se puede usar para clasificar Issues de GitHub automáticamente o según un horario. Para obtener una guía detallada sobre cómo configurar el sistema de clasificación de issues, consulta la documentación del flujo de trabajo de Clasificación de Issues de GitHub.
Esta acción se puede usar para revisar automáticamente los pull requests cuando se abren. Para obtener una guía detallada sobre cómo configurar el sistema de revisión de pull requests, consulta la documentación del flujo de trabajo de Revisión de PR de GitHub.
Este tipo de acción se puede usar para invocar un asistente de IA Gemini conversacional de propósito general dentro de los pull requests e issues para realizar una amplia gama de tareas. Para obtener una guía detallada sobre cómo configurar el flujo de trabajo general de la CLI de Gemini, consulta la documentación del flujo de trabajo del Asistente Gemini.
gcp_location: (Opcional) La ubicación de Google Cloud.
gcp_project_id: (Opcional) El ID del proyecto de Google Cloud.
gcp_service_account: (Opcional) El correo electrónico de la cuenta de servicio de Google Cloud.
gcp_workload_identity_provider: (Opcional) El Proveedor de Identidad de Carga de Trabajo de Google Cloud.
gcp_token_format: (Opcional, por defecto: access_token) El formato del token para la autenticación. Establécelo en "access_token" para generar tokens de acceso (requiere cuenta de servicio), o déjalo vacío para WIF directo. Puede ser "access_token" o "id_token".
gcp_access_token_scopes: (Opcional, por defecto: https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile) Los alcances del token de acceso cuando se usa el formato de token "access_token". Lista separada por comas de alcances OAuth 2.0.
summary: La salida resumida de la ejecución de la CLI de Gemini.
error: La salida de error de la ejecución de la CLI de Gemini, si la hubiera.
Recomendamos establecer los siguientes valores como variables de repositorio para que puedan reutilizarse en todos los flujos de trabajo. Alternativamente, puedes configurarlos en línea como entradas de acción en flujos de trabajo individuales o para anular valores a nivel de repositorio.
[!WARNING] No uses la variable de entorno
DEBUG, ya que provoca que la CLI de Gemini se cuelgue esperando que el depurador de Node se conecte.
Para agregar una variable de repositorio:
Para obtener detalles sobre las variables de repositorio, consulta la documentación de GitHub sobre variables.
Puedes establecer los siguientes secretos en tu repositorio:
Para agregar un secreto:
Para más información, consulta la documentación oficial de GitHub sobre la creación y uso de secretos cifrados.
Esta acción requiere autenticación tanto en los servicios de Google (para la IA de Gemini) como en la API de GitHub.
Elige el método de autenticación que mejor se adapte a tu caso de uso:
Puedes autenticarte en GitHub de dos maneras:
GITHUB_TOKEN por defecto: Para casos de uso simples, la acción puede usar el GITHUB_TOKEN por defecto proporcionado por el flujo de trabajo.Para obtener instrucciones detalladas de configuración tanto para la autenticación de Google como de GitHub, consulta la documentación de Autenticación.
Esta acción se puede configurar para enviar datos de telemetría (trazas, métricas y registros) a tu propio proyecto de Google Cloud. Esto te permite monitorear el rendimiento y el comportamiento de la [CLI de Gemini] dentro de tus flujos de trabajo, proporcionando información valiosa para la depuración y la optimización.
Para obtener instrucciones detalladas sobre cómo configurar la observabilidad, consulta la documentación de Observabilidad.
La CLI de Gemini se puede extender con funcionalidades adicionales a través de extensiones. Estas extensiones se instalan desde su código fuente en sus repositorios de GitHub.
Para obtener instrucciones detalladas sobre cómo configurar extensiones, consulta la documentación de Extensiones.
Para garantizar la seguridad, confiabilidad y eficiencia de tus flujos de trabajo automatizados, recomendamos encarecidamente seguir nuestras mejores prácticas. Estas pautas cubren áreas clave como la seguridad del repositorio, la configuración del flujo de trabajo y la supervisión.
Recomendaciones clave:
Para obtener una guía completa sobre cómo asegurar tu repositorio y flujos de trabajo, consulta nuestra documentación de Mejores prácticas.
Crea un archivo GEMINI.md en la raíz de tu repositorio para proporcionar contexto e instrucciones específicos del proyecto a la [CLI de Gemini]. Esto es útil para definir convenciones de codificación, patrones arquitectónicos u otras pautas que el modelo debe seguir para un repositorio determinado.
¡Las contribuciones son bienvenidas! Consulta la Guía de contribución de la CLI de Gemini para obtener más detalles sobre cómo comenzar.
gemini_api_key: (Opcional) La clave de API para la API de Gemini.
gemini_cli_version: (Opcional, por defecto: latest) La versión de la CLI de Gemini a instalar. Puede ser "latest", "preview", "nightly", un número de versión específico, o una rama git, etiqueta o commit. Para más información, consulta las versiones de la CLI de Gemini.
gemini_debug: (Opcional) Habilita el registro de depuración y el streaming de salida.
gemini_model: (Opcional) El modelo a usar con Gemini.
google_api_key: (Opcional) La clave de API de Vertex AI para usar con Gemini.
prompt: (Opcional, por defecto: Eres un asistente útil.) Una cadena que se pasa al argumento --prompt de la CLI de Gemini.
settings: (Opcional) Una cadena JSON que se escribe en .gemini/settings.json para configurar los ajustes de proyecto de la CLI.
Para más detalles, consulta la documentación sobre archivos de configuración.
use_gemini_code_assist: (Opcional, por defecto: false) Si se debe usar Code Assist para el acceso al modelo Gemini en lugar de la clave de API de Gemini predeterminada.
Para más información, consulta la documentación de la CLI de Gemini.
use_vertex_ai: (Opcional, por defecto: false) Si se debe usar Vertex AI para el acceso al modelo Gemini en lugar de la clave de API de Gemini predeterminada.
Para más información, consulta la documentación de la CLI de Gemini.
extensions: (Opcional) Una lista de extensiones de la CLI de Gemini para instalar.
upload_artifacts: (Opcional, por defecto: false) Si se deben subir artefactos a la acción de GitHub.
use_pnpm: (Opcional, por defecto: false) Si se debe usar pnpm en lugar de npm para instalar gemini-cli.
workflow_name: (Opcional, por defecto: ${{ github.workflow }}) El nombre del flujo de trabajo de GitHub, utilizado con fines de telemetría.
github_pr_number: (Opcional, por defecto: ${{ github.event.pull_request.number }}) El número del Pull Request en el que opera la CLI. Por defecto, toma el valor del evento.
github_issue_number: (Opcional, por defecto: ${{ github.event.issue.number }}) El número del Issue (o lista separada por comas de números de issue) en el que opera la CLI. Por defecto, toma el valor del evento.
| Nombre | Descripción | Tipo | Obligatorio | Cuándo es obligatorio |
|---|
GEMINI_DEBUG | Habilita el registro de depuración para la CLI de Gemini. | Variable | No | Nunca |
GEMINI_CLI_VERSION | Controla qué versión de la CLI de Gemini se instala. | Variable | No | Fijar la versión de la CLI |
GCP_WIF_PROVIDER | Nombre completo del recurso del Proveedor de Identidad de Carga de Trabajo. | Variable | No | Usar Google Cloud |
GOOGLE_CLOUD_PROJECT | Proyecto de Google Cloud para inferencia y observabilidad. | Variable | No | Usar Google Cloud |
SERVICE_ACCOUNT_EMAIL | Dirección de correo electrónico de la cuenta de servicio de Google Cloud. Opcional - solo necesario para WIF con cuenta de servicio (no requerido para WIF directo). | Variable | No | Usar WIF con cuenta de servicio |
GOOGLE_CLOUD_LOCATION | Región del proyecto de Google Cloud. | Variable | No | Usar Google Cloud |
GOOGLE_GENAI_USE_VERTEXAI | Establécelo a true para usar Vertex AI. | Variable | No | Usar Vertex AI |
GOOGLE_GENAI_USE_GCA | Establécelo a true para usar Gemini Code Assist. | Variable | No | Usar Gemini Code Assist |
APP_ID | ID de la aplicación de GitHub para autenticación personalizada. | Variable | No | Usar una App de GitHub personalizada |
| Nombre | Descripción | Obligatorio | Cuándo es obligatorio |
|---|
GEMINI_API_KEY | Tu clave de API de Gemini de Google AI Studio. | No | No tienes un proyecto de GCP. |
APP_PRIVATE_KEY | Clave privada de tu App de GitHub (formato PEM). | No | Usas una App de GitHub personalizada. |
GOOGLE_API_KEY | Tu clave de API de Google para usar con Vertex AI. | No | Tienes una cuenta exprés de Vertex AI. |