Konfiguration¶
Alle Einstellungen werden über Umgebungsvariablen konfiguriert.
Migration: AI_REVIEWER_-Präfix
Ab v1.0.0a7 unterstützen alle Umgebungsvariablen das Präfix AI_REVIEWER_ (z.B. AI_REVIEWER_GOOGLE_API_KEY). Alte Namen (z.B. GOOGLE_API_KEY) funktionieren weiterhin als Fallback. Wir empfehlen die Migration zu den neuen Namen, um Konflikte mit anderen Tools in CI/CD-Konfigurationen auf Organisationsebene zu vermeiden.
Erforderliche Variablen¶
| Variable | Beschreibung | Beispiel | Wie erhalten |
|---|---|---|---|
AI_REVIEWER_GOOGLE_API_KEY |
Google Gemini API-Schlüssel (kommagetrennt für Multi-Key-Rotation) | AIza... |
Google AI Studio |
AI_REVIEWER_MISTRAL_API_KEY |
Mistral API-Schlüssel (kommagetrennt für Multi-Key-Rotation) | sk-... |
Mistral Console |
AI_REVIEWER_GITHUB_TOKEN |
GitHub-Token (für GitHub) | ghp_... |
Anleitung |
AI_REVIEWER_GITLAB_TOKEN |
GitLab-Token (für GitLab) | glpat-... |
Anleitung |
Mindestens ein LLM-API-Schlüssel erforderlich
Sie benötigen mindestens einen LLM-API-Schlüssel: AI_REVIEWER_GOOGLE_API_KEY oder AI_REVIEWER_MISTRAL_API_KEY (oder beide).
Der Schlüssel für den primären Provider (gesetzt über AI_REVIEWER_LLM_PROVIDER) ist erforderlich.
Mindestens ein Plattform-Token erforderlich
Sie benötigen AI_REVIEWER_GITHUB_TOKEN oder AI_REVIEWER_GITLAB_TOKEN je nach Plattform.
GitLab-Token-Typen
Für GitLab können Sie einen Personal Access Token (funktioniert auf allen Plänen, einschließlich Free) oder einen Project Access Token (erfordert GitLab Premium/Ultimate) verwenden.
Optionale Variablen¶
Allgemein¶
| Variable | Beschreibung | Standard | Bereich |
|---|---|---|---|
AI_REVIEWER_LOG_LEVEL |
Logging-Level | INFO |
DEBUG, INFO, WARNING, ERROR, CRITICAL |
AI_REVIEWER_API_TIMEOUT |
Request-Timeout (Sek.) | 60 |
1-300 |
Sprache¶
| Variable | Beschreibung | Standard | Beispiele |
|---|---|---|---|
AI_REVIEWER_LANGUAGE |
Antwortsprache | en |
uk, de, es, it, me |
AI_REVIEWER_LANGUAGE_MODE |
Erkennungsmodus | adaptive |
adaptive, fixed |
Sprachmodi:
adaptive(Standard) — erkennt automatisch die Sprache aus dem PR/MR-Kontext (Beschreibung, Kommentare, verknüpfte Aufgabe)fixed— verwendet immer die Sprache ausAI_REVIEWER_LANGUAGE
ISO 639
AI_REVIEWER_LANGUAGE akzeptiert jeden gültigen ISO 639-Code:
- 2-Buchstaben:
en,uk,de,es,it - 3-Buchstaben:
ukr,deu,spa - Namen:
English,Ukrainian,German
LLM¶
Provider-Auswahl¶
| Variable | Beschreibung | Standard |
|---|---|---|
AI_REVIEWER_LLM_PROVIDER |
Primärer LLM-Provider | google |
AI_REVIEWER_LLM_FALLBACK_PROVIDER |
Fallback-Provider (wird verwendet, wenn der primäre erschöpft ist) | (keiner) |
Unterstützte Provider: google, mistral.
Wenn sowohl primärer als auch Fallback-Provider konfiguriert sind, probiert das System zuerst alle Modelle des primären Providers, dann alle Modelle des Fallback-Providers. Beispiel mit LLM_PROVIDER=mistral und LLM_FALLBACK_PROVIDER=google:
Google Gemini Models¶
| Variable | Beschreibung | Standard |
|---|---|---|
AI_REVIEWER_GEMINI_MODEL |
Primäres Gemini-Modell | gemini-2.5-flash |
AI_REVIEWER_GEMINI_MODEL_FALLBACK |
Fallback-Modellkette (kommagetrennt) | gemini-3-flash-preview,... |
| Modell | Beschreibung | Kosten |
|---|---|---|
gemini-2.5-flash |
Schnell, stabil, mit Reasoning (Standard) | $0.075 / 1M Input |
gemini-3-flash-preview |
Frontier-Klasse Flash (Vorschau) | $0.075 / 1M Input |
gemini-2.5-flash-lite |
Schnellste und günstigste in 2.5 | $0.01875 / 1M Input |
gemini-2.5-pro |
Leistungsstärkste, tiefes Reasoning | $1.25 / 1M Input |
Mistral Models¶
| Variable | Beschreibung | Default |
|---|---|---|
AI_REVIEWER_MISTRAL_MODEL |
Primäres Mistral-Modell | mistral-large-latest |
AI_REVIEWER_MISTRAL_MODEL_FALLBACK |
Fallback-Modellkette (kommagetrennt) | (keine) |
AI_REVIEWER_MISTRAL_API_URL |
Benutzerdefinierte API-Basis-URL | (keine) |
| Modell | Beschreibung | Kontext | Preis (Input / Output) |
|---|---|---|---|
mistral-large-latest |
Leistungsstärkstes, MoE 41B/675B (Standard) | 256k | $0.50 / $1.50 |
mistral-medium-latest |
Ausgewogenes Leistungs-/Kostenverhältnis | 128k | $0.40 / $2.00 |
mistral-small-latest |
Schnell und günstig, Hybrid 6.5B/119B | 256k | $0.15 / $0.60 |
codestral-latest |
Für Code optimiert, FIM-Unterstützung | 128k | $0.30 / $0.90 |
devstral-latest |
Coding-Agent, günstigstes Mistral-Modell | 256k | $0.10 / $0.30 |
Kostenloses Codestral
Codestral hat ein separates kostenloses Kontingent unter https://codestral.mistral.ai mit eigenem API-Schlüssel.
Setzen Sie AI_REVIEWER_MISTRAL_API_URL=https://codestral.mistral.ai und verwenden Sie einen Schlüssel von codestral.mistral.ai.
Das kostenpflichtige Codestral über api.mistral.ai benötigt keine benutzerdefinierte URL.
Weitere Einstellungen¶
| Variable | Beschreibung | Standard |
|---|---|---|
AI_REVIEWER_REVIEW_SPLIT_THRESHOLD |
Zeichenlimit für Code+Test-Split-Review | 30000 |
Preisgenauigkeit
Die Preise sind zum Release-Datum angegeben und können sich ändern. Aktuelle Informationen finden Sie auf der Preisseite des Providers.
Free Tier
Sowohl Google Gemini als auch Mistral bieten kostenlose Stufen, die für Code-Reviews eines Teams von 4-8 Entwicklern ausreichen. Kombinieren Sie zwei Provider für maximale Zuverlässigkeit.
Review¶
| Variable | Beschreibung | Standard | Bereich |
|---|---|---|---|
AI_REVIEWER_REVIEW_MAX_FILES |
Max. Dateien im Kontext | 20 |
1-100 |
AI_REVIEWER_REVIEW_MAX_DIFF_LINES |
Max. Diff-Zeilen pro Datei | 500 |
1-5000 |
AI_REVIEWER_REVIEW_MAX_COMMENT_CHARS |
Max. Zeichen der MR-Kommentare im Prompt | 3000 |
0-20000 |
AI_REVIEWER_REVIEW_INCLUDE_BOT_COMMENTS |
Bot-Kommentare im Prompt einschließen | true |
true/false |
AI_REVIEWER_REVIEW_POST_INLINE_COMMENTS |
Inline-Kommentare an Codezeilen posten | true |
true/false |
AI_REVIEWER_REVIEW_ENABLE_DIALOGUE |
Kommentare in Dialog-Threads gruppieren | true |
true/false |
Diskussionskontext
Der AI-Reviewer liest bestehende MR/PR-Kommentare, um bereits besprochene
Vorschläge nicht zu wiederholen. Setzen Sie AI_REVIEWER_REVIEW_MAX_COMMENT_CHARS=0 zum Deaktivieren.
Inline-Kommentare
Wenn AI_REVIEWER_REVIEW_POST_INLINE_COMMENTS=true (Standard), werden Issues mit Datei-/Zeileninformationen als Inline-Kommentare am Code gepostet, mit einer kurzen Zusammenfassung als Review-Body. Setzen Sie auf false für einen einzelnen Zusammenfassungskommentar.
Dialog-Threads
Wenn AI_REVIEWER_REVIEW_ENABLE_DIALOGUE=true (Standard), werden Kommentare in
Konversations-Threads gruppiert, damit die KI Antwort-Ketten versteht. Setzen Sie auf false für flache Darstellung.
Discovery¶
| Variable | Beschreibung | Standard | Bereich |
|---|---|---|---|
AI_REVIEWER_DISCOVERY_ENABLED |
Projektanalyse vor dem Review aktivieren | true |
true/false |
AI_REVIEWER_DISCOVERY_VERBOSE |
Discovery-Kommentar immer posten (Standard: nur bei Lücken) | false |
true/false |
AI_REVIEWER_DISCOVERY_TIMEOUT |
Discovery-Pipeline-Timeout in Sekunden | 30 |
1-300 |
Projektanalyse
Wenn aktiviert, analysiert AI ReviewBot automatisch Ihr Repository (Sprachen, CI-Pipeline, Config-Dateien) vor jedem Review für intelligenteres Feedback. Setzen Sie auf false zum Deaktivieren. Details: Discovery →.
Verbose-Modus
Wenn AI_REVIEWER_DISCOVERY_VERBOSE=true, wird der Discovery-Kommentar immer gepostet und enthält alle Attention Zones (Well Covered, Weakly Covered, Not Covered). Im Standardmodus wird nur bei Lücken oder nicht abgedeckten Zones gepostet.
GitLab¶
| Variable | Beschreibung | Standard |
|---|---|---|
AI_REVIEWER_GITLAB_URL |
GitLab-Server-URL | https://gitlab.com |
Self-hosted GitLab
Für self-hosted GitLab setzen Sie AI_REVIEWER_GITLAB_URL:
.env-Datei¶
Es ist praktisch, die Konfiguration in .env zu speichern:
# .env
# LLM-Provider (einen oder beide wählen)
AI_REVIEWER_GOOGLE_API_KEY=AIza...
# AI_REVIEWER_MISTRAL_API_KEY=sk-...
# AI_REVIEWER_LLM_PROVIDER=google
# AI_REVIEWER_LLM_FALLBACK_PROVIDER=mistral
# Plattform-Token
AI_REVIEWER_GITHUB_TOKEN=ghp_...
# Optional
AI_REVIEWER_LANGUAGE=uk
AI_REVIEWER_LANGUAGE_MODE=adaptive
AI_REVIEWER_GEMINI_MODEL=gemini-2.5-flash
AI_REVIEWER_LOG_LEVEL=INFO
CI/CD-Konfiguration¶
GitHub Actions¶
env:
AI_REVIEWER_GOOGLE_API_KEY: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
AI_REVIEWER_GITHUB_TOKEN: ${{ github.token }} # Automatisch
AI_REVIEWER_LANGUAGE: uk
AI_REVIEWER_LANGUAGE_MODE: adaptive
GitLab CI¶
variables:
# AI_REVIEWER_GOOGLE_API_KEY und AI_REVIEWER_GITLAB_TOKEN
# werden aus CI/CD Variables automatisch vererbt
AI_REVIEWER_LANGUAGE: uk
AI_REVIEWER_LANGUAGE_MODE: adaptive
Validierung¶
AI Code Reviewer validiert die Konfiguration beim Start:
Validierungsfehler¶
Lösung: Überprüfen Sie, ob die Variable korrekt gesetzt ist.
Lösung: Verwenden Sie einen gültigen ISO 639-Code.
Lösung: Verwenden Sie eines der erlaubten Level.
Konfigurationsbeispiele¶
Minimal (GitHub)¶
Minimal (GitLab)¶
Ukrainische Sprache, fest¶
export AI_REVIEWER_GOOGLE_API_KEY=AIza...
export AI_REVIEWER_GITHUB_TOKEN=ghp_...
export AI_REVIEWER_LANGUAGE=uk
export AI_REVIEWER_LANGUAGE_MODE=fixed
Self-hosted GitLab¶
export AI_REVIEWER_GOOGLE_API_KEY=AIza...
export AI_REVIEWER_GITLAB_TOKEN=glpat-...
export AI_REVIEWER_GITLAB_URL=https://gitlab.mycompany.com
Debug-Modus¶
export AI_REVIEWER_GOOGLE_API_KEY=AIza...
export AI_REVIEWER_GITHUB_TOKEN=ghp_...
export AI_REVIEWER_LOG_LEVEL=DEBUG
Konfigurationspriorität¶
- Umgebungsvariablen (höchste)
.env-Datei im aktuellen Verzeichnis