Zum Inhalt

Installation

Die Installationsoption hÀngt von Ihrem Anwendungsfall und Ihren Zielen ab.


1. CI/CD — Automatisiertes Review

Das hÀufigste Szenario: AI Code Reviewer lÀuft automatisch, wenn ein PR/MR erstellt oder aktualisiert wird.

Einrichtung in 5 Minuten:

FĂŒr Feinabstimmung siehe Konfiguration →


2. EigenstÀndige Bereitstellung: CLI/Docker

CLI und Docker-Image ermöglichen die AusfĂŒhrung von AI Code Reviewer außerhalb der Standard-CI-Pipeline.

AnwendungsfÀlle

Szenario Wie umsetzen
Manueller Start Lokales Terminal — Debugging, Demo, Evaluierung
Scheduled Review GitLab Scheduled Pipeline / GitHub Actions schedule / cron
Batch Review Skript, das ĂŒber offene PR/MR iteriert
Eigener Server Docker auf Server mit Zugriff auf Git API
On-demand Review Webhook → Container-Start

Erforderliche Umgebungsvariablen

Variable Beschreibung Wann benötigt Wie erhalten
AI_REVIEWER_GOOGLE_API_KEY Gemini API-SchlĂŒssel Immer Google AI Studio
AI_REVIEWER_GITHUB_TOKEN GitHub Personal Access Token FĂŒr GitHub Anleitung
AI_REVIEWER_GITLAB_TOKEN GitLab Personal Access Token FĂŒr GitLab Anleitung

Fallback

Alte Namen ohne PrÀfix (z.B. GOOGLE_API_KEY) funktionieren weiterhin als Fallback.


Manueller Start

FĂŒr Debugging, Demo, Evaluierung vor dem Deployment, retrospektive PR/MR-Analyse.

Docker (empfohlen)

Keine Python-Installation erforderlich — alles ist im Container enthalten.

Schritt 1: Image herunterladen

docker pull ghcr.io/konstziv/ai-code-reviewer:1

Schritt 2: Review ausfĂŒhren

docker run --rm \
  -e AI_REVIEWER_GOOGLE_API_KEY=your_api_key \
  -e AI_REVIEWER_GITHUB_TOKEN=your_token \
  ghcr.io/konstziv/ai-code-reviewer:1 \
  --repo owner/repo --pr 123
docker run --rm \
  -e AI_REVIEWER_GOOGLE_API_KEY=your_api_key \
  -e AI_REVIEWER_GITLAB_TOKEN=your_token \
  ghcr.io/konstziv/ai-code-reviewer:1 \
  --provider gitlab --repo owner/repo --pr 123

Docker-Images

VerfĂŒgbar von zwei Registries:

  • ghcr.io/konstziv/ai-code-reviewer:1 — GitHub Container Registry
  • koszivdocker/ai-reviewbot:1 — DockerHub

pip / uv

Installation als Python-Paket.

Schritt 1: Installieren

pip install ai-reviewbot
uv tool install ai-reviewbot
pipx install ai-reviewbot

Python-Version

Erfordert Python 3.13+

Schritt 2: Variablen einrichten

export AI_REVIEWER_GOOGLE_API_KEY=your_api_key
export AI_REVIEWER_GITHUB_TOKEN=your_token  # oder AI_REVIEWER_GITLAB_TOKEN fĂŒr GitLab

Schritt 3: AusfĂŒhren

ai-review --repo owner/repo --pr 123
ai-review --provider gitlab --repo owner/repo --pr 123

Optionale Variablen

ZusĂ€tzliche Variablen sind fĂŒr die Feinabstimmung verfĂŒgbar:

Variable Standard Wirkung
AI_REVIEWER_LANGUAGE en Antwortsprache (ISO 639)
AI_REVIEWER_LANGUAGE_MODE adaptive Spracherkennungsmodus
AI_REVIEWER_GEMINI_MODEL gemini-2.5-flash Gemini-Modell
AI_REVIEWER_LOG_LEVEL INFO Logging-Level

👉 VollstĂ€ndige Liste der Variablen →


Scheduled Reviews

Review nach Zeitplan ausfĂŒhren — zur Ressourceneinsparung oder wenn sofortiges Feedback nicht erforderlich ist.

# .gitlab-ci.yml
ai-review-scheduled:
  image: ghcr.io/konstziv/ai-code-reviewer:1
  script:
    - |
      # Liste der offenen MR abrufen
      MR_LIST=$(curl -s --header "PRIVATE-TOKEN: $AI_REVIEWER_GITLAB_TOKEN" \
        "$CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/merge_requests?state=opened" \
        | jq -r '.[].iid')

      # Review fĂŒr jeden MR ausfĂŒhren
      for MR_IID in $MR_LIST; do
        echo "Reviewing MR !$MR_IID"
        ai-review --provider gitlab --repo $CI_PROJECT_PATH --pr $MR_IID || true
      done
  rules:
    - if: $CI_PIPELINE_SOURCE == "schedule"

Zeitplan einrichten: Project → Build → Pipeline schedules → New schedule

# .github/workflows/scheduled-review.yml
name: Scheduled AI Review

on:
  schedule:
    - cron: '0 9 * * *'  # TĂ€glich um 9:00 UTC

jobs:
  review-open-prs:
    runs-on: ubuntu-latest
    steps:
      - name: Get open PRs and review
        env:
          AI_REVIEWER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          AI_REVIEWER_GOOGLE_API_KEY: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
        run: |
          # Liste der offenen PR abrufen
          PRS=$(gh pr list --repo ${{ github.repository }} --state open --json number -q '.[].number')

          for PR in $PRS; do
            echo "Reviewing PR #$PR"
            docker run --rm \
              -e AI_REVIEWER_GOOGLE_API_KEY -e AI_REVIEWER_GITHUB_TOKEN \
              ghcr.io/konstziv/ai-code-reviewer:1 \
              --repo ${{ github.repository }} --pr $PR || true
          done

Eigener Server / private Umgebung

FĂŒr die Bereitstellung auf eigener Infrastruktur mit Zugriff auf Git API.

Optionen:

  • Docker auf Server — AusfĂŒhrung ĂŒber cron, systemd timer oder als Service
  • Kubernetes — CronJob fĂŒr Scheduled Reviews
  • Self-hosted GitLab — Variable GITLAB_URL hinzufĂŒgen (siehe Beispiel unten)

Beispiel cron job:

# /etc/cron.d/ai-review
# TĂ€glich um 10:00 Review fĂŒr alle offenen MR ausfĂŒhren
0 10 * * * reviewer /usr/local/bin/review-all-mrs.sh
#!/bin/bash
# /usr/local/bin/review-all-mrs.sh
export AI_REVIEWER_GOOGLE_API_KEY="your_key"
export AI_REVIEWER_GITLAB_TOKEN="your_token"

MR_LIST=$(curl -s --header "PRIVATE-TOKEN: $AI_REVIEWER_GITLAB_TOKEN" \
  "https://gitlab.company.com/api/v4/projects/123/merge_requests?state=opened" \
  | jq -r '.[].iid')

for MR_IID in $MR_LIST; do
  docker run --rm \
    -e AI_REVIEWER_GOOGLE_API_KEY -e AI_REVIEWER_GITLAB_TOKEN \
    ghcr.io/konstziv/ai-code-reviewer:1 \
    --provider gitlab --repo group/repo --pr $MR_IID
done

Self-hosted GitLab

FĂŒr Self-hosted GitLab fĂŒgen Sie die Variable AI_REVIEWER_GITLAB_URL hinzu:

-e AI_REVIEWER_GITLAB_URL=https://gitlab.company.com

3. Contributors / Entwicklung

Wenn Sie Zeit und Inspiration haben, bei der Entwicklung des Pakets zu helfen, oder es als Grundlage fĂŒr Ihre eigene Entwicklung verwenden möchten — wir begrĂŒĂŸen und ermutigen solche Aktionen aufrichtig!

Entwicklungsinstallation

# Repository klonen
git clone https://github.com/KonstZiv/ai-code-reviewer.git
cd ai-code-reviewer

# AbhÀngigkeiten installieren (wir verwenden uv)
uv sync

# ÜberprĂŒfen
uv run ai-review --help

# Tests ausfĂŒhren
uv run pytest

# QualitĂ€tsprĂŒfungen ausfĂŒhren
uv run ruff check .
uv run mypy .

uv

Wir verwenden uv fĂŒr das Dependency-Management.

Installation: curl -LsSf https://astral.sh/uv/install.sh | sh

Projektstruktur

ai-code-reviewer/
├── src/ai_reviewer/      # Quellcode
│   ├── core/             # Models, Config, Formatierung
│   ├── integrations/     # GitHub, GitLab, Gemini
│   └── utils/            # Utilities
├── tests/                # Tests
├── docs/                 # Dokumentation
└── examples/             # CI-Konfigurationsbeispiele

👉 Wie Sie beitragen können →


Anforderungen

Systemanforderungen

Komponente Anforderung
Python 3.13+ (fĂŒr pip-Installation)
Docker 20.10+ (fĂŒr Docker)
OS Linux, macOS, Windows
RAM 256MB+
Netzwerk Zugriff auf generativelanguage.googleapis.com

API-SchlĂŒssel

SchlĂŒssel Erforderlich Wie erhalten
Google Gemini API Ja Google AI Studio
GitHub PAT FĂŒr GitHub Anleitung
GitLab PAT FĂŒr GitLab Anleitung

Gemini API-Limits

Free Tier

Google Gemini hat einen Free Tier:

Limit Wert
Anfragen pro Minute 15 RPM
Tokens pro Tag 1M
Anfragen pro Tag 1500

Dies ist fĂŒr die meisten Projekte ausreichend.


NĂ€chster Schritt

👉 Schnellstart →