OpenClaw
AnwendungsfallEinsteiger10 min

GitHub PR-Reviews mit OpenClaw automatisieren

Schritt für Schritt eine automatisierte PR-Review-Pipeline mit OpenClaw aufbauen: GitHub-Integration, PR Reviewer für Codeanalyse und Conventional Commits für einheitliche, hochwertige Code-Reviews.

Zuletzt aktualisiert: 2026-03-31

Benötigte Skills

GitHub (gh)
Empfohlen

GitHub über die gh CLI bedienen (Issues, PRs, Repos).

Anleitung ansehen
PR Reviewer
Empfohlen

Automatisiertes Code-Review für Pull Requests.

Anleitung ansehen
Conventional Commits
Empfohlen

Conventional-Commits-Nachrichten generieren/validieren.

Anleitung ansehen

Was du bauen wirst

Eine vollautomatische PR-Review-Pipeline, die:

  1. PRs erstellt — AI generiert aus deinem Commit-Verlauf eine saubere PR-Beschreibung
  2. Code überprüft — KI-gestützte Analyse erkennt Bugs, Sicherheitslücken und Stilprobleme
  3. Commits standardisiert — Conventional-Commits-Format wird durchgesetzt
  4. Umsetzbares Feedback liefert — direkt als Inline-Kommentare im PR

Nach dieser Anleitung löst jeder neue PR automatisch eine KI-Review aus — ganz ohne manuelles Eingreifen.

Warum KI-gestützte PR-Reviews

Manuelles Code-Review ist unverzichtbar, hat aber in der Praxis klare Grenzen:

  • Schwankende Qualität — Unterschiedliche Reviewer achten auf unterschiedliche Dinge. Die einen schauen auf Namenskonventionen, die anderen auf Fehlerbehandlung. Was gefunden wird, hängt davon ab, wer heute den PR reviewt.
  • Review-Müdigkeit — Nach einigen Hundert Zeilen Code sinkt die Aufmerksamkeit deutlich. Studien zeigen, dass die Effektivität nach rund 60 Minuten spürbar nachlässt. Kritische Bugs verstecken sich oft am Ende großer Diffs.
  • Lange Wartezeiten — Reviewer haben eigene Aufgaben. Ein PR kann Stunden oder sogar Tage warten. Das blockiert den Autor, fördert große gebündelte PRs und erzeugt Merge-Konflikte.
  • Skalierungsprobleme — Je größer das Team, desto schlimmer der Review-Engpass. Senior-Entwickler verbringen immer mehr Zeit mit Reviews statt mit Entwicklung. Neue Teammitglieder kennen die Codebasis oft noch nicht gut genug.

KI-Review ersetzt menschliche Reviewer nicht — sie übernimmt die systematischen Prüfungen (Sicherheitsmuster, häufige Bugs, Stilverletzungen), damit sich Menschen auf Architektur, Design und Geschäftslogik konzentrieren können. Betrachte es als einen ersten Durchlauf, der die Basisqualität jedes PRs sicherstellt, bevor ein Mensch ihn überhaupt öffnet.

Voraussetzungen

Bevor du loslegst, stelle sicher, dass du Folgendes hast:

  • OpenClaw installiert und konfiguriert (Erste-Schritte-Anleitung)
  • GitHub CLI (gh) installiert und authentifiziert (gh auth login)
  • Ein GitHub-Repository zum Testen (ein persönliches Projekt reicht)
  • Node.js 18+

Schritt 1: Benötigte Skills installieren

Installiere alle drei Skills der Reihe nach:

bash
# 1. GitHub-Integration (Grundlage)
npx clawhub@latest install github

# 2. PR Reviewer (Codeanalyse)
npx clawhub@latest install pr-reviewer

# 3. Conventional Commits (Commit-Formatierung)
npx clawhub@latest install conventional-commits

Installation überprüfen:

bash
clawhub list

Alle drei Skills sollten als installed angezeigt werden.

Schritt 2: GitHub-Authentifizierung konfigurieren

Der GitHub-Skill braucht ein Personal Access Token mit folgenden Scopes:

  • repo — vollständiger Repository-Zugriff
  • read:org — Organisationsmitgliedschaft lesen (optional, für Organisations-Repos)

Falls du dich bereits mit gh auth login authentifiziert hast, verwendet der Skill deine vorhandenen Zugangsdaten. Andernfalls:

bash
# Aktuellen Auth-Status prüfen
gh auth status

# Bei Bedarf einloggen
gh auth login

Schritt 3: PR Reviewer konfigurieren

Der PR Reviewer Skill funktioniert sofort nach der Installation, aber du kannst sein Verhalten anpassen:

bash
# Standardkonfiguration anzeigen
clawhub inspect pr-reviewer

Wichtige Konfigurationsoptionen:

  • Review-Tiefe: quick (oberflächlich) oder thorough (Tiefenanalyse)
  • Schwerpunkte: Sicherheit, Performance, Stil, Bugs oder alles
  • Auto-Kommentar: ob Kommentare direkt im PR gepostet werden

Schritt 4: Dein erstes automatisiertes PR-Review erstellen

Teste den Workflow mit einem echten PR:

4.1 Feature-Branch erstellen

bash
git checkout -b feature/test-ai-review

4.2 Code ändern

Bearbeite eine Datei in deinem Projekt. Zum Testen kannst du bewusst typische Fehler einbauen, die der Reviewer erkennen soll:

Fehlender await (Async-Bug):

javascript
// Bug: fehlendes await beim asynchronen Aufruf
function getUserData(userId) {
  const response = fetch(`/api/users/${userId}`);  // await fehlt
  return response.json();  // TypeError: response.json is not a function
}

SQL-Injection-Schwachstelle:

python
# Sicherheit: Benutzereingabe direkt in SQL-Query eingebaut
def get_user(user_id):
    query = f"SELECT * FROM users WHERE id = '{user_id}'"  # SQL-Injection-Risiko
    return db.execute(query)

Hartcodierter Schlüssel:

javascript
// Sicherheit: API-Key im Quellcode sichtbar
const stripe = require('stripe')('sk_live_abc123secretkey');

N+1-Query-Problem:

python
# Performance: N+1 Query — pro Bestellung eine Datenbankabfrage
def get_orders_with_items(user_id):
    orders = Order.objects.filter(user_id=user_id)
    for order in orders:
        order.items = OrderItem.objects.filter(order_id=order.id)  # N+1!
    return orders

4.3 Mit Conventional Commits committen

Statt die Commit-Nachricht selbst zu schreiben, lässt du OpenClaw sie generieren:

bash
git add .
# OpenClaw generiert eine Commit-Nachricht im Conventional-Commits-Format
# z. B. "feat(api): add getUserData function for user data retrieval"

4.4 PR erstellen und reviewen

bash
# OpenClaw erstellt den PR mit KI-generierter Beschreibung
# PR Reviewer analysiert dann automatisch den Diff

Innerhalb von Sekunden siehst du:

  • Eine sauber formatierte PR-Beschreibung, die deine Änderungen zusammenfasst
  • Inline-Review-Kommentare zu konkreten Codezeilen
  • Einen Zusammenfassungskommentar mit Gesamtbewertung und Verbesserungsvorschlägen

So sehen die KI-Review-Kommentare an deinem PR aus:

🔒 Sicherheitsproblem (Zeile 14, auth.py):
  Benutzereingabe wird direkt in den SQL-Query-String eingebaut.
  Das ist anfällig für SQL-Injection-Angriffe.
  Vorgeschlagene Lösung: Parameterisierte Queries verwenden.

  - query = f"SELECT * FROM users WHERE id = '{user_id}'"
  + query = "SELECT * FROM users WHERE id = %s"
  + return db.execute(query, (user_id,))

⚡ Performance-Problem (Zeile 8, orders.py):
  N+1 Query erkannt — OrderItem.objects.filter() wird innerhalb
  der Schleife pro Bestellung einmal aufgerufen. Verwende
  select_related() oder prefetch_related() für eine einzelne Abfrage.

  - orders = Order.objects.filter(user_id=user_id)
  + orders = Order.objects.filter(user_id=user_id).prefetch_related('items')

🐛 Bug (Zeile 3, api.js):
  fetch() gibt ein Promise zurück, aber await fehlt.
  response.json() wird fehlschlagen, weil response ein
  hängendes Promise ist, kein Response-Objekt.

  - const response = fetch(`/api/users/${userId}`);
  + const response = await fetch(`/api/users/${userId}`);

Schritt 5: Den Review-Workflow anpassen

Sicherheits-Fokus

Für sicherheitskritische Repositories kannst du den PR Reviewer auf Sicherheitsprüfungen fokussieren:

  • SQL-Injection-Muster
  • Hartcodierte Zugangsdaten oder API-Keys
  • Unsichere Datenverarbeitung (unvalidierte Eingaben, fehlende Filterung)
  • Schwachstellen in Abhängigkeiten
  • Cross-Site Scripting (XSS) im Frontend-Code
  • Unsichere Deserialisierungsmuster

Performance-Fokus

Für performancekritische Services lässt du den Reviewer auf Performance-Muster achten. Bei React-Projekten erkennt er zum Beispiel unnötige Re-Renders:

jsx
// Performance: Neue Objektreferenz bei jedem Render führt zu Re-Renders
function ParentComponent({ items }) {
  return (
    <ChildComponent
      style={{ margin: 10 }}        // Neues Objekt bei jedem Render
      onClick={() => doSomething()}  // Neue Funktion bei jedem Render
    />
  );
}

Teamweite Konfiguration

Die Konfiguration im gesamten Team teilen:

  1. Exportiere deine Skill-Konfiguration in ein .openclaw/-Verzeichnis im Repo
  2. Committe sie ins Repository
  3. Teammitglieder installieren mit derselben Konfiguration — die Skills lesen automatisch die projektbezogene Konfiguration

Fortgeschritten: Review-Schwerpunkte steuern

Du kannst den Fokus der Review durch natürliche Sprache an den PR Reviewer Skill anpassen.

Sprachspezifische Ausrichtung

Teile dem Agent beim Starten einer Review mit, worauf er achten soll:

  • Python: auf nackte except:-Blöcke prüfen, fehlende Type Hints, Django-ORM-N+1-Queries
  • JavaScript/TypeScript: übrig gebliebene console.log markieren, fehlendes await bei async-Aufrufen, hartcodierte Secrets
  • Rust: .unwrap() in Produktionscode markieren, saubere Result-Behandlung vorschlagen

Verzeichnisbasierte Konfiguration

Unterschiedliche Prüftiefe für verschiedene Verzeichnisse:

  • Kern-Geschäftslogik (src/core/) — gründliche Review mit Fokus auf Sicherheit, Bugs und Performance
  • Testdateien (src/tests/) — schneller Check auf Korrektheit
  • Dokumentation (docs/) — leichte Stil-Review
  • Skripte (scripts/) — Fokus auf Sicherheit und Bugs

Benutzerdefinierte Regeln

Lass den Reviewer projektspezifische Anti-Patterns markieren, zum Beispiel:

  • Direkter Datenbankzugriff in API-Routen statt über die Repository-Schicht
  • Seitenkomponenten ohne Error Boundary
  • API-Endpunkte ohne Rate Limiting

Integration in CI/CD

Für vollständig automatisierte Reviews bei jedem PR integrierst du den PR Reviewer in deine CI/CD-Pipeline.

GitHub Actions

Erstelle eine Workflow-Datei unter .github/workflows/ai-review.yml:

yaml
name: AI PR Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  ai-review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install OpenClaw and skills
        run: |
          npm install -g clawhub@latest
          clawhub install pr-reviewer

      - name: Run AI Review
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          OPENCLAW_API_KEY: ${{ secrets.OPENCLAW_API_KEY }}
        run: |
          clawhub run pr-reviewer \
            --pr ${{ github.event.pull_request.number }} \
            --repo ${{ github.repository }} \
            --auto-comment

Review-Auslöser steuern

Begrenze die KI-Review auf bestimmte Bedingungen, um Kosten zu sparen:

yaml
on:
  pull_request:
    types: [opened, synchronize]
    paths-ignore:
      - '*.md'
      - 'docs/**'
      - '.github/**'

Oder erfordere ein Label vor der Review:

yaml
- name: Check for review label
  if: contains(github.event.pull_request.labels.*.name, 'ai-review')
  run: clawhub run pr-reviewer --pr ${{ github.event.pull_request.number }}

Andere CI-Plattformen

Derselbe Ansatz funktioniert auf jeder CI-Plattform mit Node.js-Unterstützung. Die wesentlichen Schritte:

  1. clawhub und den pr-reviewer Skill installieren
  2. OPENCLAW_API_KEY als Umgebungsvariable setzen
  3. PR-Nummer und Repository-Information übergeben
  4. Sicherstellen, dass der CI-Bot Schreibrechte auf Pull Requests hat

Ergebnisse in der Praxis

Teams, die diesen Workflow nutzen, berichten typischerweise:

  • 40 % schnellere PR-Bearbeitung — KI erkennt offensichtliche Probleme vor dem menschlichen Review
  • Gleichbleibende Review-Qualität — jeder PR durchläuft dieselbe gründliche Analyse
  • Bessere Commit-Historie — Conventional Commits machen Changelogs automatisch
  • Weniger Bugs in Produktion — KI erkennt Probleme, die Menschen übersehen könnten

Fehlerbehebung

"GitHub CLI not found"

Stelle sicher, dass gh installiert und im PATH ist:

bash
# macOS
brew install gh

# Linux
sudo apt install gh

# Windows
winget install GitHub.cli

"Permission denied" beim Erstellen eines PR

Prüfe deine Token-Scopes:

bash
gh auth status

Stelle sicher, dass der repo-Scope enthalten ist. Bei Bedarf neu authentifizieren:

bash
gh auth login --scopes repo

PR Reviewer kommentiert nicht

Überprüfe Installation und Konfiguration des Skills:

bash
clawhub inspect pr-reviewer

Stelle sicher, dass dein OpenClaw-KI-Provider konfiguriert ist und verfügbares Guthaben hat.

Häufige Fragen

Ja. Der GitHub-Skill basiert auf der `gh` CLI und unterstützt GitHub Enterprise Server und GitHub Enterprise Cloud vollständig. Konfiguriere deinen Enterprise-Host mit `gh auth login --hostname github.deinefirma.com`. Nach der Authentifizierung funktionieren alle GitHub-bezogenen Skills — einschließlich PR Reviewer — genauso wie mit github.com. Zusätzliche Konfiguration ist nicht nötig.

Der GitHub-Skill ist GitHub-spezifisch, aber PR Reviewer und Conventional Commits funktionieren mit jeder Git-Plattform. Für GitLab installierst du den GitLab-Skill und übergibst Merge-Request-IDs statt PR-Nummern. Bitbucket funktioniert analog mit seinem eigenen Plattform-Skill. Die Kern-Review-Logik ist plattformunabhängig — nur die Integrationsschicht zum Posten von Kommentaren unterscheidet sich.

KI-Review ergänzt menschliches Review, ersetzt es aber nicht. Sie ist stark bei systematischen Prüfungen — Sicherheitslücken, häufige Bugmuster, Stilverletzungen und Performance-Anti-Patterns werden konsistent in jedem PR ohne Ermüdung gefunden. Allerdings kann sie keine übergeordneten Architekturentscheidungen, Geschäftslogik oder die Eignung des Gesamtansatzes bewerten. Der beste Workflow nutzt KI als ersten Durchgang für mechanische Prüfungen, damit sich menschliche Reviewer auf Design und Intention konzentrieren können.

Die Kosten hängen von deinem KI-Provider und der Größe des analysierten Diffs ab. Ein typisches PR-Review mit rund 500 Zeilen Diff kostet bei den meisten Anbietern etwa $0,01–0,05. Größere Diffs (1000+ Zeilen) können $0,10–0,15 kosten. Du kannst die Kosten steuern, indem du die Review-Tiefe für unkritische Pfade auf `quick` setzt und Pfadfilter nutzt, um generierte Dateien, Vendor-Verzeichnisse und Dokumentation auszuschließen.

Ja. PR Reviewer unterstützt flexible Dateimuster-Konfiguration. Du kannst Dateien per Glob-Pattern ausschließen (z. B. `**/*.generated.ts`, `vendor/**`), Reviews auf bestimmte Verzeichnisse beschränken oder verschiedene Review-Tiefen pro Pfad einstellen. Das konfigurierst du in deiner `.openclaw/pr-reviewer.yml`. Die meisten Teams schließen automatisch generierte Dateien, Lock-Dateien und Vendor-Abhängigkeiten aus, damit Reviews sich auf den tatsächlich geschriebenen Code konzentrieren.

PR Reviewer verarbeitet große Diffs, indem er sie in logische Blöcke aufteilt und jeden Block im Kontext analysiert. Bei PRs über 1000 Zeilen werden risikoreiche Dateien priorisiert — Dateien mit Authentifizierung, Datenbankabfragen, API-Endpunkten und sicherheitsrelevantem Code werden in voller Tiefe geprüft. Weniger kritische Dateien wie Tests und Konfigurationsänderungen bekommen einen leichteren Durchlauf. Du kannst auch ein Zeilenlimit konfigurieren, das eine Warnung auslöst und den Autor auffordert, den PR aufzuteilen.

Ja. PR Reviewer unterstützt alle gängigen Programmiersprachen, darunter JavaScript, TypeScript, Python, Go, Rust, Java, C#, Ruby, PHP und mehr. Sprachspezifische Regeln werden automatisch angewendet — zum Beispiel `.unwrap()`-Missbrauch in Rust oder fehlendes `await` in JavaScript-Async-Code. Du kannst auch eigene Regeln pro Sprache in der Konfigurationsdatei definieren. Der Reviewer erkennt die Sprache anhand der Dateiendung und wendet die passende Analyse-Pipeline an — ohne manuelles Setup.

KI-Review und Linter ergänzen sich hervorragend. Linter erzwingen deterministische Regeln (Formatierung, Import-Reihenfolge, ungenutzte Variablen), während KI-Review semantische Probleme erkennt (Logik-Bugs, Sicherheitsmuster, Performance-Probleme), die regelbasierte Tools nicht finden können. In der CI führst du zuerst den Linter aus, dann die KI-Review für die Tiefenanalyse. PR Reviewer kennt gängige Linter-Regeln und vermeidet doppeltes Feedback zum selben Problem.

OpenClaw verfolgt Review-Metriken über dein Repository hinweg. Führe `clawhub stats pr-reviewer` aus, um eine Übersicht über gefundene Probleme nach Kategorie, vor dem Merge gelöste Issues und häufige Muster in deiner Codebasis zu sehen. Das hilft, wiederkehrende Probleme zu identifizieren — wenn zum Beispiel SQL-Injection-Warnungen immer wieder auftauchen, deutet das auf Schulungsbedarf oder bessere ORM-Abstraktionen hin. Die Metriken lassen sich als JSON exportieren und in Dashboards oder Team-Reporting-Tools integrieren.

Ja. Du kannst Review-Templates definieren, die unterschiedliche Regeln basierend auf PR-Labels, Branch-Namenskonventionen oder geänderten Dateipfaden anwenden. Zum Beispiel bekommt ein `hotfix/*`-Branch ein sicherheitsfokussiertes Review mit maximaler Tiefe, während ein `docs/*`-Branch nur einen leichten Stil-Check erhält. Definiere Templates in deiner `.openclaw/pr-reviewer.yml` unter dem `templates`-Schlüssel — PR Reviewer wählt automatisch das passende Template anhand deiner Kriterien aus.

Verwandte Anwendungsfälle