Troubleshooting¶
FAQ e risoluzione dei problemi comuni.
Problemi Comuni¶
Action mostra --help invece di eseguire¶
Sintomo: Nei log del CI job si vede:
Usage: ai-review [OPTIONS]
...
โญโ Options โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ --provider -p [github|gitlab] CI provider... โ
Causa: Si sta usando una vecchia versione del Docker image (prima di v1.0.0a2).
Soluzione:
Aggiorna all'ultima versione:
Se il problema persiste, specifica esplicitamente la versione:
La Revisione Non Appare¶
Sintomo: Il job CI e passato con successo, ma non ci sono commenti.
Controlla:
- Log del job CI โ ci sono errori?
- Chiave API โ
AI_REVIEWER_GOOGLE_API_KEYe valida? - Token โ ci sono permessi di scrittura?
- github_token โ e stato passato esplicitamente?
"Configuration Error: AI_REVIEWER_GOOGLE_API_KEY is too short"¶
Causa: La chiave non e impostata o e incorretta.
Soluzione:
- Controlla che il secret sia aggiunto nelle impostazioni del repo
- Controlla il nome (case-sensitive)
- Controlla che la chiave sia valida su Google AI Studio
"401 Unauthorized" / "403 Forbidden"¶
Causa: Token non valido o insufficiente.
"404 Not Found"¶
Causa: PR/MR o repository non trovato.
Soluzione:
- Controlla che il PR/MR esista
- Controlla il nome del repository
- Controlla che il token abbia accesso al repository
"429 Too Many Requests" (Rate Limit)¶
Causa: Limite API superato.
Limiti Free Tier Gemini:
| Limite | Valore |
|---|---|
| Richieste per minuto | 15 |
| Token al giorno | 1,000,000 |
| Richieste al giorno | 1,500 |
Soluzione:
- AI Code Reviewer riprova automaticamente con backoff esponenziale
- Se il problema persiste โ aspetta o passa al tier a pagamento
- Aggiungi
concurrencyper cancellare i duplicati:
"500 Internal Server Error"¶
Causa: Problema lato API (Google, GitHub, GitLab).
Soluzione:
- AI Code Reviewer riprova automaticamente (fino a 5 tentativi)
- Controlla lo stato dei servizi:
- Google Cloud Status
- GitHub Status
- GitLab Status
Revisione Troppo Lenta¶
Causa: PR grande o rete lenta.
Soluzione:
- Riduci la dimensione del PR
- Configura i limiti:
- Imposta timeout:
PR da Fork Non Ricevono Revisione¶
Causa: I secret non sono disponibili per PR da fork (sicurezza).
Soluzione:
Questo e il comportamento previsto. Per PR da fork:
- Il maintainer puo eseguire la revisione manualmente
- Oppure usare
pull_request_target(attenzione alla sicurezza!)
Lingua Risposta Sbagliata¶
Causa: Configurazione lingua incorretta.
Soluzione:
-
Per lingua fissa:
-
Per lingua adattiva โ assicurati che la descrizione del PR sia scritta nella lingua desiderata
FAQ¶
Posso usarlo senza chiave API?¶
No. Una chiave API Google Gemini e necessaria. Il free tier e sufficiente per la maggior parte dei progetti.
Bitbucket e supportato?¶
No (non ancora). Solo GitHub e GitLab.
Posso usare altri LLM (ChatGPT, Claude)?¶
No (nel MVP). Il supporto per altri LLM e pianificato per versioni future.
E sicuro inviare codice a Google API?¶
Importante sapere:
- Il codice viene inviato a Google Gemini API per l'analisi
- Leggi i Google AI Terms
- Per progetti sensibili, considera soluzioni self-hosted (nelle versioni future)
Quanto costa?¶
Prezzi Gemini Flash:
| Metrica | Costo |
|---|---|
| Token in input | $0.075 / 1M |
| Token in output | $0.30 / 1M |
Approssimativamente: ~1000 revisioni = ~$1
Free tier: ~100 revisioni/giorno gratis.
Come disabilitare la revisione per certi file?¶
Non esiste ancora .ai-reviewerignore. Pianificato per versioni future.
Workaround: filtra nel workflow:
Posso eseguirlo localmente?¶
Si:
pip install ai-reviewbot
export AI_REVIEWER_GOOGLE_API_KEY=your_key
export AI_REVIEWER_GITHUB_TOKEN=your_token
ai-review --provider github --repo owner/repo --pr 123
Debugging¶
Abilita Log Verbosi¶
Controlla Configurazione¶
# Controlla che le variabili siano impostate
echo $AI_REVIEWER_GOOGLE_API_KEY | head -c 10
echo $GITHUB_TOKEN | head -c 10
Testa Chiamata API¶
# Testa Gemini API
curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=$AI_REVIEWER_GOOGLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"parts":[{"text":"Hello"}]}]}'
Ottieni Aiuto¶
Se il problema non e risolto:
GitHub Issues โ per bug
GitHub Discussions โ per domande
Quando crei un issue, includi:
- Versione AI Code Reviewer (
ai-review --version) - Provider CI (GitHub/GitLab)
- Log (con secret nascosti!)
- Passi per riprodurre