
Una GitHub Action che invoca la CLI Gemini.
run-gemini-cli è una GitHub Action che integra Gemini nel tuo flusso di sviluppo tramite la Gemini CLI. Funge sia da agente autonomo per attività di codifica di routine critiche, sia da collaboratore su richiesta a cui puoi delegare rapidamente del lavoro.
Usalo per eseguire revisioni delle pull request su GitHub, triage degli issue, analisi e modifica del codice e altro ancora utilizzando Gemini in modo conversazionale (ad es., @gemini-cli risolvi questo problema) direttamente all'interno dei tuoi repository GitHub.
@gemini-cli /review).gh).GEMINI.md nel tuo repository per fornire istruzioni e contesto specifici del progetto alla Gemini CLI.Inizia con la Gemini CLI nel tuo repository in pochi minuti:
Ottieni la tua chiave API da Google AI Studio con generose quote gratuite
Salva la tua chiave API come segreto denominato GEMINI_API_KEY nel tuo repository:
GEMINI_API_KEY, Valore: la tua chiave APIAggiungi le seguenti voci al tuo file .gitignore:
# impostazioni gemini-cli
.gemini/
# credenziali GitHub App
gha-creds-*.json
Hai due opzioni per impostare un flusso di lavoro:
Opzione A: Usa il comando di configurazione (Consigliata)
Avvia la Gemini CLI nel tuo terminale:
gemini
Nella Gemini CLI nel tuo terminale, scrivi:
/setup-github
Opzione B: Copia manualmente i flussi di lavoro
examples/workflows nella directory .github/workflows del tuo repository. Nota: anche il flusso di lavoro gemini-dispatch.yml deve essere copiato, poiché attiva l'esecuzione degli altri flussi di lavoro.Revisione delle Pull Request:
@gemini-cli /review su una pull request esistente per attivare manualmente una revisioneTriage degli Issue:
@gemini-cli /triage su issue esistenti per attivare manualmente il triageAssistenza AI Generale:
@gemini-cli seguito dalla tua richiesta@gemini-cli spiega questa modifica al codice@gemini-cli suggerisci miglioramenti per questa funzione@gemini-cli aiutami a debuggare questo errore@gemini-cli scrivi unit test per questo componenteQuesta azione fornisce diversi flussi di lavoro predefiniti per diversi casi d'uso. Ogni flusso di lavoro è progettato per essere copiato nella directory .github/workflows del tuo repository e personalizzato secondo necessità.
Questo flusso di lavoro funge da dispatcher centrale per la Gemini CLI, instradando le richieste al flusso di lavoro appropriato in base all'evento scatenante e al comando fornito nel commento. Per una guida dettagliata su come configurare il flusso di lavoro di dispatch, vai alla documentazione del flusso di lavoro Gemini Dispatch.
Questa azione può essere utilizzata per eseguire il triage degli Issue GitHub automaticamente o secondo una pianificazione. Per una guida dettagliata su come impostare il sistema di triage degli issue, vai alla documentazione del flusso di lavoro Triage degli Issue.
Questa azione può essere utilizzata per revisionare automaticamente le pull request quando vengono aperte. Per una guida dettagliata su come impostare il sistema di revisione delle pull request, vai alla documentazione del flusso di lavoro Revisione PR.
Questo tipo di azione può essere utilizzato per invocare un assistente AI conversazionale generico di Gemini all'interno delle pull request e degli issue per svolgere un'ampia gamma di compiti. Per una guida dettagliata su come configurare il flusso di lavoro generico della Gemini CLI, vai alla documentazione del flusso di lavoro Assistente Gemini.
gcp_location: (Opzionale) La località di Google Cloud.
gcp_project_id: (Opzionale) L'ID del progetto Google Cloud.
gcp_service_account: (Opzionale) L'email dell'account di servizio Google Cloud.
gcp_workload_identity_provider: (Opzionale) Il Provider di Identità del Carico di Lavoro Google Cloud.
gcp_token_format: (Opzionale, default: access_token) Il formato del token per l'autenticazione. Imposta su "access_token" per generare token di accesso (richiede un account di servizio), o lascia vuoto per WIF diretto. Può essere "access_token" o "id_token".
gcp_access_token_scopes: (Opzionale, default: https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile) Gli ambiti del token di accesso quando si usa token_format "access_token". Elenco separato da virgole di ambiti OAuth 2.0.
summary: L'output riassuntivo dell'esecuzione della Gemini CLI.
error: L'output di errore dell'esecuzione della Gemini CLI, se presente.
Consigliamo di impostare i seguenti valori come variabili del repository in modo che possano essere riutilizzate in tutti i flussi di lavoro. In alternativa, puoi impostarli direttamente come input dell'azione in singoli flussi di lavoro o per sovrascrivere i valori a livello di repository.
[!WARNING] Non utilizzare la variabile d'ambiente
DEBUGpoiché causa il blocco della Gemini CLI in attesa del collegamento del debugger di Node.
Per aggiungere una variabile del repository:
Per dettagli sulle variabili del repository, consulta la documentazione GitHub sulle variabili.
Puoi impostare i seguenti segreti nel tuo repository:
Per aggiungere un segreto:
Per maggiori informazioni, consulta la documentazione ufficiale GitHub sulla creazione e l'uso di segreti crittografati.
Questa azione richiede l'autenticazione sia per i servizi Google (per Gemini AI) che per l'API GitHub.
Scegli il metodo di autenticazione che meglio si adatta al tuo caso d'uso:
Puoi autenticarti con GitHub in due modi:
GITHUB_TOKEN predefinito: Per casi d'uso più semplici, l'azione può utilizzare il
GITHUB_TOKEN predefinito fornito dal flusso di lavoro.Per istruzioni dettagliate su come impostare l'autenticazione Google e GitHub, vai alla documentazione sull'Autenticazione.
Questa azione può essere configurata per inviare dati di telemetria (tracce, metriche e log) al tuo progetto Google Cloud. Questo ti permette di monitorare le prestazioni e il comportamento della Gemini CLI all'interno dei tuoi flussi di lavoro, fornendo preziose informazioni per il debug e l'ottimizzazione.
Per istruzioni dettagliate su come impostare e configurare l'osservabilità, vai alla documentazione sull'Osservabilità.
La Gemini CLI può essere estesa con funzionalità aggiuntive tramite estensioni. Queste estensioni vengono installate dal codice sorgente dai loro repository GitHub.
Per istruzioni dettagliate su come impostare e configurare le estensioni, vai alla documentazione sulle Estensioni.
Per garantire la sicurezza, l'affidabilità e l'efficienza dei tuoi flussi di lavoro automatizzati, consigliamo vivamente di seguire le nostre buone pratiche. Queste linee guida coprono aree chiave come la sicurezza del repository, la configurazione del flusso di lavoro e il monitoraggio.
Raccomandazioni chiave includono:
Per una guida completa sulla protezione del tuo repository e dei flussi di lavoro, consulta la nostra documentazione sulle Buone Pratiche.
Crea un file GEMINI.md nella radice del tuo repository per fornire contesto e istruzioni specifici del progetto a Gemini CLI. Questo è utile per definire convenzioni di codifica, pattern architetturali o altre linee guida che il modello dovrebbe seguire per un dato repository.
I contributi sono i benvenuti! Consulta la Guida ai Contributi della Gemini CLI per maggiori dettagli su come iniziare.
gemini_api_key: (Opzionale) La chiave API per l'API Gemini.
gemini_cli_version: (Opzionale, default: latest) La versione della Gemini CLI da installare. Può essere "latest", "preview", "nightly", un numero di versione specifico, o un branch, tag o commit git. Per maggiori informazioni, vedi Rilasci Gemini CLI.
gemini_debug: (Opzionale) Abilita la registrazione di debug e lo streaming dell'output.
gemini_model: (Opzionale) Il modello da usare con Gemini.
google_api_key: (Opzionale) La chiave API Vertex AI da usare con Gemini.
prompt: (Opzionale, default: You are a helpful assistant.) Una stringa passata all'argomento --prompt della Gemini CLI.
settings: (Opzionale) Una stringa JSON scritta in .gemini/settings.json per configurare le impostazioni di progetto della CLI.
Per maggiori dettagli, consulta la documentazione sui file delle impostazioni.
use_gemini_code_assist: (Opzionale, default: false) Indica se utilizzare Code Assist per l'accesso ai modelli Gemini invece della chiave API Gemini predefinita.
Per maggiori informazioni, consulta la documentazione della Gemini CLI.
use_vertex_ai: (Opzionale, default: false) Indica se utilizzare Vertex AI per l'accesso ai modelli Gemini invece della chiave API Gemini predefinita.
Per maggiori informazioni, consulta la documentazione della Gemini CLI.
extensions: (Opzionale) Un elenco di estensioni della Gemini CLI da installare.
upload_artifacts: (Opzionale, default: false) Indica se caricare gli artefatti nell'azione GitHub.
use_pnpm: (Opzionale, default: false) Indica se usare pnpm al posto di npm per installare gemini-cli
workflow_name: (Opzionale, default: ${{ github.workflow }}) Il nome del flusso di lavoro GitHub, utilizzato per scopi di telemetria.
github_pr_number: (Opzionale, default: ${{ github.event.pull_request.number }}) Il numero della Pull Request su cui la CLI sta operando. Predefinito al payload dell'evento.
github_issue_number: (Opzionale, default: ${{ github.event.issue.number }}) Il numero dell'Issue (o elenco separato da virgole di numeri di issue) su cui la CLI sta operando. Predefinito al payload dell'evento.
| Nome | Descrizione | Tipo | Obbligatorio | Quando Obbligatorio |
|---|
GEMINI_DEBUG | Abilita la registrazione di debug per la Gemini CLI. | Variabile | No | Mai |
GEMINI_CLI_VERSION | Controlla quale versione della Gemini CLI viene installata. | Variabile | No | Bloccare la versione della CLI |
GCP_WIF_PROVIDER | Nome completo della risorsa del Provider di Identità del Carico di Lavoro. | Variabile | No | Utilizzo di Google Cloud |
GOOGLE_CLOUD_PROJECT | Progetto Google Cloud per l'inferenza e l'osservabilità. | Variabile | No | Utilizzo di Google Cloud |
SERVICE_ACCOUNT_EMAIL | Indirizzo email dell'account di servizio Google Cloud. Opzionale - necessario solo per WIF con account di servizio (non richiesto per WIF diretto). | Variabile | No | Utilizzo di WIF con account di servizio |
GOOGLE_CLOUD_LOCATION | Regione del progetto Google Cloud. | Variabile | No | Utilizzo di Google Cloud |
GOOGLE_GENAI_USE_VERTEXAI | Imposta a true per utilizzare Vertex AI | Variabile | No | Utilizzo di Vertex AI |
GOOGLE_GENAI_USE_GCA | Imposta a true per utilizzare Gemini Code Assist | Variabile | No | Utilizzo di Gemini Code Assist |
APP_ID | ID dell'App GitHub per l'autenticazione personalizzata. | Variabile | No | Utilizzo di un'App GitHub personalizzata |
| Nome | Descrizione | Obbligatorio | Quando Obbligatorio |
|---|
GEMINI_API_KEY | La tua chiave API Gemini da Google AI Studio. | No | Non hai un progetto GCP. |
APP_PRIVATE_KEY | Chiave privata per la tua App GitHub (formato PEM). | No | Utilizzo di un'App GitHub personalizzata. |
GOOGLE_API_KEY | La tua chiave API Google da usare con Vertex AI. | No | Hai un account Vertex AI espresso. |