Zum Inhalt

Schnellstart

Starten Sie AI Code Reviewer in 5 Minuten auf GitHub oder GitLab.


Schritt 1: LLM-Provider wählen und API-Schlüssel erhalten

AI Reviewer unterstützt mehrere LLM-Provider. Wählen Sie einen (oder verwenden Sie beide für Fallback):

  1. Gehen Sie zu Google AI Studio
  2. Melden Sie sich mit Ihrem Google-Konto an
  3. Klicken Sie auf "Get API key""Create API key"
  4. Kopieren Sie den Schlüssel (beginnt mit AIza...)

Kostenlose Stufe

Gemini API hat eine kostenlose Stufe: 15 Anfragen pro Minute, ausreichend für die meisten Teams von 4-8 Entwicklern.

  1. Gehen Sie zu Mistral Console
  2. Registrieren Sie sich oder melden Sie sich an
  3. Navigieren Sie zu API KeysCreate new key
  4. Kopieren Sie den Schlüssel (beginnt mit sk-...)

Kostenlose Stufe

Mistral bietet eine kostenlose Stufe zum Experimentieren. Nach der Registrierung erhalten Sie kostenlose API-Credits, um alle Modelle auszuprobieren. Aktuelle Limits: Mistral Pricing.

Kostenloses Codestral

Codestral (ein code-spezialisiertes Modell) hat ein eigenes kostenloses Kontingent mit separatem Endpoint und Schlüssel:

  1. Gehen Sie zu codestral.mistral.ai
  2. Generieren Sie einen Codestral API-Schlüssel
  3. Setzen Sie AI_REVIEWER_MISTRAL_API_URL=https://codestral.mistral.ai
  4. Setzen Sie AI_REVIEWER_MISTRAL_MODEL=codestral-latest

Dieser Schlüssel funktioniert nur mit codestral-latest am Codestral-Endpoint.

Holen Sie sich beide Schlüssel mit den Anleitungen oben. Das bietet Ihnen:

  • Mistral als primäres Modell (z.B. mistral-large-latest)
  • Google Gemini als automatisches Fallback, wenn Mistral nicht verfügbar ist

Dies ist die zuverlässigste Konfiguration für den Produktionseinsatz.

Schlüssel speichern

API-Schlüssel werden nur einmal angezeigt. Speichern Sie sie an einem sicheren Ort.


Schritt 2: Secrets zum Repository hinzufügen

Pfad: Repository → SettingsSecrets and variablesActionsNew repository secret

Name Value
AI_REVIEWER_GOOGLE_API_KEY Ihr Gemini-Schlüssel (AIza...)
Name Value
AI_REVIEWER_MISTRAL_API_KEY Ihr Mistral-Schlüssel (sk-...)
Name Value
AI_REVIEWER_MISTRAL_API_KEY Ihr Mistral-Schlüssel (sk-...)
AI_REVIEWER_GOOGLE_API_KEY Ihr Gemini-Schlüssel (AIza...)

Klicken Sie für jeden auf "Add secret".

Detaillierte Anleitung mit Screenshots
  1. Öffnen Sie Ihr Repository auf GitHub
  2. Klicken Sie auf Settings (Zahnrad im oberen Menü)
  3. Finden Sie im linken Menü Secrets and variablesActions
  4. Klicken Sie auf die grüne Schaltfläche New repository secret
  5. Geben Sie den Namen ein und fügen Sie Ihren Schlüssel ein
  6. Klicken Sie auf Add secret
  7. Wiederholen Sie für jedes Secret

Offizielle GitHub-Dokumentation: Encrypted secrets

Für GitLab benötigen Sie zusätzlich einen GitLab Token zum Posten von Kommentaren.

Schritt 2a: GitLab Token erstellen

Pfad: Benutzer-Avatar → Edit profileAccess Tokens

Feld Wert
Token name ai-reviewer
Expiration date Wählen Sie ein Datum (max. 1 Jahr)
Scopes ✅ api

Klicken Sie auf "Create personal access token"Kopieren Sie den Token (wird nur einmal angezeigt!)

Kommentare erscheinen unter Ihrem Benutzernamen

Ein Personal Access Token ist an Ihr Konto gebunden. Alle Review-Kommentare werden in Ihrem Namen gepostet.

GitLab Docs: Personal access tokens

Maintainer-Rechte erforderlich

Zum Erstellen eines Project Access Token benötigen Sie die Rolle Maintainer oder Owner im Projekt.

GitLab Docs: Roles and permissions

Pfad: Project → SettingsAccess Tokens

Feld Wert
Token name ai-reviewer
Expiration date Wählen Sie ein Datum (max. 1 Jahr)
Role Developer
Scopes ✅ api

Klicken Sie auf "Create project access token"Kopieren Sie den Token (wird nur einmal angezeigt!)

GitLab Docs: Project access tokens

Schritt 2b: Variablen zu CI/CD hinzufügen

Pfad: Project → SettingsCI/CDVariables

Key Value Flags
AI_REVIEWER_GOOGLE_API_KEY Ihr Gemini-Schlüssel ✅ Mask, ❌ Protected deaktivieren
AI_REVIEWER_GITLAB_TOKEN Token aus Schritt 2a ✅ Mask, ❌ Protected deaktivieren
Key Value Flags
AI_REVIEWER_MISTRAL_API_KEY Ihr Mistral-Schlüssel ✅ Mask, ❌ Protected deaktivieren
AI_REVIEWER_GITLAB_TOKEN Token aus Schritt 2a ✅ Mask, ❌ Protected deaktivieren
Key Value Flags
AI_REVIEWER_MISTRAL_API_KEY Ihr Mistral-Schlüssel ✅ Mask, ❌ Protected deaktivieren
AI_REVIEWER_GOOGLE_API_KEY Ihr Gemini-Schlüssel ✅ Mask, ❌ Protected deaktivieren
AI_REVIEWER_GITLAB_TOKEN Token aus Schritt 2a ✅ Mask, ❌ Protected deaktivieren

«Protected» deaktivieren!

Standardmäßig markiert GitLab neue Variablen als Protected. Protected-Variablen sind nur in geschützten Branches verfügbar (z.B. main), aber MR-Pipelines laufen auf ungeschützten Source-Branches — die Variable ist dann leer und Sie erhalten 401 Unauthorized.

CI_JOB_TOKEN funktioniert nicht

Verwenden Sie nicht GitLabs automatischen CI_JOB_TOKEN — er kann keine Kommentare zu Merge Requests posten. Sie müssen einen Personal Access Token (oder Project Access Token bei Premium+) erstellen.

GitLab Docs: CI/CD variables


Schritt 3: AI Review zu CI hinzufügen

Erstellen Sie die Datei .github/workflows/ai-review.yml:

name: AI Code Review

on:
  pull_request:
    types: [opened, synchronize, reopened]

concurrency:
  group: ai-review-${{ github.event.pull_request.number }}
  cancel-in-progress: true

jobs:
  review:
    runs-on: ubuntu-latest
    if: github.event.pull_request.head.repo.full_name == github.repository
    permissions:
      contents: read
      pull-requests: write

    steps:
      - uses: KonstZiv/ai-code-reviewer@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          google_api_key: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
name: AI Code Review

on:
  pull_request:
    types: [opened, synchronize, reopened]

concurrency:
  group: ai-review-${{ github.event.pull_request.number }}
  cancel-in-progress: true

jobs:
  review:
    runs-on: ubuntu-latest
    if: github.event.pull_request.head.repo.full_name == github.repository
    permissions:
      contents: read
      pull-requests: write

    steps:
      - uses: KonstZiv/ai-code-reviewer@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          mistral_api_key: ${{ secrets.AI_REVIEWER_MISTRAL_API_KEY }}
          llm_provider: mistral
name: AI Code Review

on:
  pull_request:
    types: [opened, synchronize, reopened]

concurrency:
  group: ai-review-${{ github.event.pull_request.number }}
  cancel-in-progress: true

jobs:
  review:
    runs-on: ubuntu-latest
    if: github.event.pull_request.head.repo.full_name == github.repository
    permissions:
      contents: read
      pull-requests: write

    steps:
      - uses: KonstZiv/ai-code-reviewer@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          mistral_api_key: ${{ secrets.AI_REVIEWER_MISTRAL_API_KEY }}
          google_api_key: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
          llm_provider: mistral
          llm_fallback_provider: google
name: AI Code Review

on:
  pull_request:
    types: [opened, synchronize, reopened]

concurrency:
  group: ai-review-${{ github.event.pull_request.number }}
  cancel-in-progress: true

jobs:
  review:
    runs-on: ubuntu-latest
    if: github.event.pull_request.head.repo.full_name == github.repository
    permissions:
      contents: read
      pull-requests: write

    steps:
      - uses: KonstZiv/ai-code-reviewer@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          mistral_api_key: ${{ secrets.AI_REVIEWER_MISTRAL_API_KEY }}
          llm_provider: mistral
          mistral_model: codestral-latest
          mistral_api_url: https://codestral.mistral.ai

Codestral-Schlüssel

Verwenden Sie den Schlüssel von codestral.mistral.ai, nicht den regulären Mistral API-Schlüssel.

Über GITHUB_TOKEN

secrets.GITHUB_TOKEN ist ein automatischer Token, den GitHub für jeden Workflow-Run erstellt. Sie müssen ihn nicht manuell zu den Secrets hinzufügen — er ist bereits verfügbar.

GitHub Docs: Automatic token authentication

Erstellen oder aktualisieren Sie .gitlab-ci.yml:

stages:
  - review

ai-review:
  image: ghcr.io/konstziv/ai-code-reviewer:1
  stage: review
  script:
    - ai-review
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
  allow_failure: true

CI/CD-Variablen AI_REVIEWER_GOOGLE_API_KEY und AI_REVIEWER_GITLAB_TOKEN aus Schritt 2b werden automatisch vererbt.

stages:
  - review

ai-review:
  image: ghcr.io/konstziv/ai-code-reviewer:1
  stage: review
  variables:
    AI_REVIEWER_LLM_PROVIDER: mistral
  script:
    - ai-review
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
  allow_failure: true

CI/CD-Variablen AI_REVIEWER_MISTRAL_API_KEY und AI_REVIEWER_GITLAB_TOKEN aus Schritt 2b werden automatisch vererbt.

stages:
  - review

ai-review:
  image: ghcr.io/konstziv/ai-code-reviewer:1
  stage: review
  variables:
    AI_REVIEWER_LLM_PROVIDER: mistral
    AI_REVIEWER_LLM_FALLBACK_PROVIDER: google
  script:
    - ai-review
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
  allow_failure: true

Alle drei CI/CD-Variablen (AI_REVIEWER_MISTRAL_API_KEY, AI_REVIEWER_GOOGLE_API_KEY, AI_REVIEWER_GITLAB_TOKEN) aus Schritt 2b werden automatisch vererbt.

stages:
  - review

ai-review:
  image: ghcr.io/konstziv/ai-code-reviewer:1
  stage: review
  variables:
    AI_REVIEWER_LLM_PROVIDER: mistral
    AI_REVIEWER_MISTRAL_MODEL: codestral-latest
    AI_REVIEWER_MISTRAL_API_URL: https://codestral.mistral.ai
  script:
    - ai-review
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
  allow_failure: true

CI/CD-Variablen AI_REVIEWER_MISTRAL_API_KEY (Codestral-Schlüssel verwenden) und AI_REVIEWER_GITLAB_TOKEN aus Schritt 2b sind automatisch verfügbar.


Schritt 4: Ergebnis überprüfen

Jetzt wird AI Review automatisch ausgeführt bei:

Plattform Ereignis
GitHub PR erstellen, neue Commits im PR, PR wiedereröffnen
GitLab MR erstellen, neue Commits im MR

Was Sie sehen werden

Nach Abschluss des CI-Jobs erscheinen im PR/MR:

  • Inline-Kommentare — an bestimmte Codezeilen gebunden
  • "Apply suggestion"-Button — zum schnellen Anwenden von Korrekturen (GitHub)
  • Summary-Kommentar — allgemeine Übersicht mit Metriken

Jeder Kommentar enthält:

  • 🔴 / 🟡 / 🔵 Schweregrad-Badge
  • Problembeschreibung
  • Korrekturvorschlag
  • Aufklappbaren Abschnitt "Warum ist das wichtig?"

In der Fußzeile wird angezeigt, welches Modell und welcher Provider verwendet wurde:

Model: Google / gemini-2.5-flash | Tokens: 1,234 | Latency: 2.3s | Est. cost: $0.0012


Fehlerbehebung

Review erscheint nicht?

Checkliste überprüfen:

  • API-Schlüssel als Secret hinzugefügt? (AI_REVIEWER_GOOGLE_API_KEY oder AI_REVIEWER_MISTRAL_API_KEY)
  • llm_provider korrekt gesetzt, wenn Mistral verwendet wird? (Standard ist google)
  • github_token explizit übergeben? (für GitHub)
  • Für GitLab: AI_REVIEWER_GITLAB_TOKEN mit Personal Access Token gesetzt?
  • CI-Job erfolgreich abgeschlossen? (Logs überprüfen)
  • Für GitHub: hat permissions: pull-requests: write?
  • Für Fork-PRs: Secrets sind nicht verfügbar — das ist erwartetes Verhalten

Rate Limit?

  • Gemini Free Tier: 15 Anfragen pro Minute
  • Mistral Free Tier: aktuelle Limits unter Mistral Pricing

Warten Sie eine Minute und versuchen Sie es erneut, oder konfigurieren Sie einen Fallback-Provider.

👉 Alle Probleme und Lösungen →


Was kommt als Nächstes?

Aufgabe Dokument
Antwortsprache konfigurieren Konfiguration
Erweiterte LLM-Provider-Einstellungen Konfiguration → LLM
Modelle ohne Codeänderung wechseln GitHub → Variable-gesteuerte Konfiguration
Erweiterte GitHub-Einstellungen GitHub-Leitfaden
Erweiterte GitLab-Einstellungen GitLab-Leitfaden
Workflow-Beispiele Beispiele