← Back to Home

Open Code Review — Self-Hosted AI Code Review CLI from Alibaba

Open Code Review: Self-Hosted AI Code Review from Alibaba

Code review is one of the most impactful quality gates in software development, but it's often skipped or rushed. AI coding agents can help — but general-purpose agents on code review tend to miss files, report wrong line numbers, or produce unstable feedback.

Enter Open Code Review (OCR) — an open-source, AI-powered code review CLI from Alibaba Group. Battle-tested at Alibaba's massive scale over two years (millions of defects identified, tens of thousands of developers), it's now available as a free, self-hosted tool under Apache 2.0.

What makes OCR different? It combines a deterministic engineering pipeline (file selection, bundling, rule matching) with an LLM agent for precise, line-level code review. This hybrid approach eliminates the flakiness of pure agent-based review while keeping dynamic decision-making where it matters.

In this tutorial, you'll install OCR, configure it with your preferred LLM, run your first review, and set it up in CI/CD.

Why Is It Trending?

OCR hit 5,900+ GitHub stars in just three weeks since its May 2026 release. It's trending because:

  • Proven at scale — Alibaba's internal tool served millions of reviews before being open-sourced
  • Deterministic + Agent hybrid — Solves the accuracy and completeness problems of pure LLM code review
  • Any LLM backend — Works with Anthropic, OpenAI, Ollama, or any OpenAI-compatible API
  • CI/CD ready — Built-in GitHub Actions and GitLab CI examples
  • Plugin ecosystem — Integrates with Claude Code, Codex, and other coding agents

Prerequisites

Before you start, you'll need:

  • Linux or macOS (Windows is supported via binary download)
  • Git (any recent version)
  • An LLM API key — Anthropic (Claude), OpenAI (GPT), or a local Ollama endpoint
  • Optional: Node.js / npm (for NPM installation — not required if using the binary download)

Installing OCR

You have three installation options. The binary download is the simplest.

Option A: Binary Download (Recommended)

# Linux x86_64
curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-amd64
chmod +x ocr
sudo mv ocr /usr/local/bin/ocr

# Linux ARM64 (Raspberry Pi, Apple M series via Asahi)
curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-arm64
chmod +x ocr
sudo mv ocr /usr/local/bin/ocr

Option B: Via NPM

npm install -g @alibaba-group/open-code-review

Option C: From Source

git clone https://github.com/alibaba/open-code-review.git
cd open-code-review
make build
sudo cp dist/opencodereview /usr/local/bin/ocr

Verify Installation

ocr version

You should see the version number printed.

Configuring Your LLM Backend

OCR needs an LLM to generate reviews. You can configure it interactively or via environment variables.

Interactive Configuration (Anthropic/Claude)

ocr config set llm.url https://api.anthropic.com/v1/messages
ocr config set llm.auth_token sk-ant-xxxxxxxxxxxxx
ocr config set llm.model claude-opus-4-6
ocr config set llm.use_anthropic true
ocr config set llm.auth_header x-api-key

Environment Variables (OpenAI)

export OCR_LLM_URL=https://api.openai.com/v1/chat/completions
export OCR_LLM_TOKEN=sk-xxxxxxxxxxxxx
export OCR_LLM_MODEL=gpt-4o
export OCR_USE_ANTHROPIC=false

Local Model via Ollama

export OCR_LLM_URL=http://localhost:11434/v1/chat/completions
export OCR_LLM_TOKEN=ollama
export OCR_LLM_MODEL=llama3.3
export OCR_USE_ANTHROPIC=false

Test Connectivity

ocr llm test

If the test passes, you're ready to review code.

Running Your First Review

Navigate to any Git repository and run:

cd /path/to/your/project

# Review staged + unstaged changes
ocr review

# Review all changes between two branches
ocr review --from main --to my-feature

# Review a single commit
ocr review --commit abc1234

# Preview which files will be reviewed (no LLM calls)
ocr review --preview

The output includes:

  • Each reviewed file with line numbers
  • Issue severity (HIGH / MEDIUM / LOW)
  • Suggested fixes
  • Confidence scores

JSON Output for Scripts

ocr review --commit abc1234 --format json --audience agent

Architecture Overview

Open Code Review Architecture

The architecture consists of four zones:

  1. Input — The developer runs ocr review, which reads Git diffs from the repository. OCR supports workspace mode (staged/unstaged), branch range, or single commit.

  2. Deterministic Engine — Hard constraints guarantee review completeness:

    • File Selection: Applies include/exclude patterns, filters binary files and test files
    • Smart Bundling: Groups related files (e.g., message_en.properties + message_zh.properties) into single review units
    • Rule Matching: 4-layer priority chain (CLI flag → project config → global config → built-in system rules) with first-match-wins
    • Built-in Rulesets: Covers NPE, thread-safety, XSS, SQL injection, and common language-specific issues
  3. LLM Agent — Dynamic decision-making where it matters:

    • Per-Bundle Sub-Agent: Each file bundle runs in an isolated agent context — divide and conquer for large changesets
    • Scenario-Tuned Prompts: Prompt templates deeply optimized for code review accuracy
    • Configurable LLM Backend: Works with any OpenAI-compatible or Anthropic API
  4. Output — Structured results delivered in multiple formats:

    • Terminal output (text or JSON)
    • CI/CD integration (GitHub Actions, GitLab CI)
    • WebUI viewer for session history on localhost:5483
    • Agent plugin interface (Claude Code, Codex)

Review Rules and Customization

OCR uses a 4-layer priority chain for review rules:

Layer Source Path
1 (highest) --rule CLI flag User-specified
2 Project config .opencodereview/rule.json in repo root
3 Global config ~/.opencodereview/rule.json
4 (lowest) System defaults Built-in

Custom Rule Example

{
  "rules": [
    {
      "path": "force-api/**/*.java",
      "rule": "All new methods must validate parameters for null values"
    },
    {
      "path": "**/*mapper*.xml",
      "rule": "Check SQL for injection risks and parameter errors"
    }
  ]
}

Save it to .opencodereview/rule.json in your repo, or pass via --rule.

CI/CD Integration

GitHub Actions

OCR provides a ready-to-use GitHub Action. Add .github/workflows/code-review.yml:

name: AI Code Review
on: [pull_request]
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Install OCR
        run: |
          curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-amd64
          chmod +x ocr && sudo mv ocr /usr/local/bin/ocr
      - name: Run Review
        run: ocr review --from origin/main --to ${{ github.sha }} --format json
        env:
          OCR_LLM_URL: ${{ secrets.OCR_LLM_URL }}
          OCR_LLM_TOKEN: ${{ secrets.OCR_LLM_TOKEN }}
          OCR_LLM_MODEL: ${{ secrets.OCR_LLM_MODEL }}

GitLab CI

code-review:
image: alpine:latest
before_script:
  - apk add curl git
  - curl -Lo /usr/local/bin/ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-amd64
  - chmod +x /usr/local/bin/ocr
script:
  - ocr review --from origin/main --to $CI_COMMIT_SHA --format json
only:
  - merge_requests

Integrating with Coding Agents

OCR can be installed as a skill or plugin in your coding agent:

Claude Code:

# In Claude Code
/plugin marketplace add alibaba/open-code-review
/plugin install open-code-review@open-code-review

Codex:

codex plugin marketplace add alibaba/open-code-review
# Then in Codex: @Open Code Review review my changes

Any agent (skill file):

npx skills add alibaba/open-code-review --skill open-code-review

Verification Checklist

After setting up OCR:

  • ocr version returns a version number
  • ocr llm test passes connectivity check
  • ocr review --preview shows files in your repo
  • ocr review produces line-level comments
  • CI/CD pipeline runs OCR successfully
  • Custom rule file overrides built-in defaults
  • JSON output is parseable by CI scripts
  • Viewer WebUI accessible at localhost:5483

Resources

← Retour à l'Accueil

Open Code Review — Revue de Code IA Auto-Hébergée par Alibaba

Open Code Review : Revue de Code IA Auto-Hébergée par Alibaba

La revue de code est l'un des contrôles qualité les plus importants du développement logiciel, mais elle est souvent négligée ou expédiée. Les agents IA peuvent aider — mais les agents généralistes ont tendance à oublier des fichiers, signaler les mauvaises lignes, ou produire des retours instables.

Voici Open Code Review (OCR) — un outil CLI open-source de revue de code propulsé par l'IA, développé par Alibaba Group. Testé à l'échelle massive d'Alibaba pendant deux ans (des millions de défauts identifiés, des dizaines de milliers de développeurs), il est désormais disponible gratuitement sous licence Apache 2.0.

Ce qui rend OCR unique : il combine un pipeline déterministe (sélection de fichiers, regroupement intelligent, correspondance de règles) avec un agent LLM pour une revue de code précise au niveau des lignes. Cette approche hybride élimine l'instabilité des revues purement basées sur l'IA tout en conservant la prise de décision dynamique là où elle compte.

Dans ce tutoriel, vous installerez OCR, le configurerez avec votre LLM préféré, lancerez votre première revue, et l'intégrerez dans votre CI/CD.

Pourquoi C'est Tendance

OCR a atteint plus de 5 900 étoiles GitHub en seulement trois semaines depuis sa sortie en mai 2026. Il est tendance parce que :

  • Éprouvé à grande échelle — L'outil interne d'Alibaba a traité des millions de revues avant d'être open-sourcé
  • Hybride déterministe + Agent — Résout les problèmes de précision et d'exhaustivité des revues purement LLM
  • N'importe quel LLM — Fonctionne avec Anthropic, OpenAI, Ollama, ou toute API compatible OpenAI
  • Prêt pour le CI/CD — Exemples prêts à l'emploi pour GitHub Actions et GitLab CI
  • Écosystème de plugins — S'intègre avec Claude Code, Codex, et d'autres agents de codage

Prérequis

Avant de commencer, vous aurez besoin de :

  • Linux ou macOS (Windows est supporté via binaire)
  • Git (version récente)
  • Une clé API LLM — Anthropic (Claude), OpenAI (GPT), ou un endpoint Ollama local
  • Optionnel : Node.js / npm (pour l'installation NPM — pas nécessaire avec le binaire)

Installation d'OCR

Option A : Binaire (Recommandé)

# Linux x86_64
curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-amd64
chmod +x ocr
sudo mv ocr /usr/local/bin/ocr

# Linux ARM64
curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-arm64
chmod +x ocr
sudo mv ocr /usr/local/bin/ocr

Option B : Via NPM

npm install -g @alibaba-group/open-code-review

Option C : Depuis les Sources

git clone https://github.com/alibaba/open-code-review.git
cd open-code-review
make build
sudo cp dist/opencodereview /usr/local/bin/ocr

Vérifier l'Installation

ocr version

Configuration du LLM

Configuration Interactive (Anthropic/Claude)

ocr config set llm.url https://api.anthropic.com/v1/messages
ocr config set llm.auth_token sk-ant...xxxx
ocr config set llm.model claude-opus-4-6
ocr config set llm.use_anthropic true
ocr config set llm.auth_header x-api-key

Variables d'Environnement (OpenAI)

export OCR_LLM_URL=https://api.openai.com/v1/chat/completions
export OCR_LLM_TOKEN=*** OCR_LLM_MODEL=gpt-4o
export OCR_USE_ANTHROPIC=false

Modèle Local via Ollama

export OCR_LLM_URL=http://localhost:11434/v1/chat/completions
export OCR_LLM_TOKEN=*** OCR_LLM_MODEL=llama3.3
export OCR_USE_ANTHROPIC=false

Tester la Connexion

ocr llm test

Lancer Votre Première Revue

Accédez à un dépôt Git et exécutez :

cd /path/to/your/project

# Revue des modifications staged + unstaged
ocr review

# Revue entre deux branches
ocr review --from main --to ma-fonctionnalite

# Revue d'un commit spécifique
ocr review --commit abc1234

# Aperçu des fichiers à revoir (sans appels LLM)
ocr review --preview

Architecture

Architecture d'Open Code Review

L'architecture se compose de quatre zones :

  1. Entrée — Le développeur lance ocr review, qui lit les diffs Git du dépôt. OCR supporte le mode workspace (staged/unstaged), la comparaison de branches, ou un commit unique.

  2. Moteur Déterministe — Des contraintes strictes garantissent l'exhaustivité de la revue :

    • Sélection de fichiers : Applique les motifs d'inclusion/exclusion, filtre les fichiers binaires et de test
    • Regroupement intelligent : Rassemble les fichiers connexes (ex. message_en.properties + message_fr.properties) en unités de revue uniques
    • Correspondance de règles : Chaîne de priorité à 4 niveaux (flag CLI → config projet → config globale → règles système intégrées)
    • Règles intégrées : Couvre NPE, sécurité des threads, XSS, injection SQL
  3. Agent LLM — Prise de décision dynamique :

    • Sous-agent par lot : Chaque groupe de fichiers s'exécute dans un contexte d'agent isolé
    • Invites optimisées : Templates de prompts profondément optimisés pour la précision de la revue
    • Backend LLM configurable : Compatible avec toute API OpenAI ou Anthropic
  4. Sortie — Résultats structurés en plusieurs formats :

    • Terminal (texte ou JSON)
    • Intégration CI/CD (GitHub Actions, GitLab CI)
    • Visualiseur Web pour l'historique des sessions sur localhost:5483
    • Interface plugin agent (Claude Code, Codex)

Règles de Revue Personnalisées

OCR utilise une chaîne de priorité à 4 niveaux :

Niveau Source Chemin
1 (prioritaire) Flag --rule Spécifié par l'utilisateur
2 Configuration projet .opencodereview/rule.json
3 Configuration globale ~/.opencodereview/rule.json
4 (défaut) Règles système Intégrées

Exemple de Règle Personnalisée

{
  "rules": [
    {
      "path": "api/**/*.java",
      "rule": "Toute nouvelle méthode doit valider les paramètres null"
    }
  ]
}

Intégration CI/CD

GitHub Actions

name: Revue de Code IA
on: [pull_request]
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Installer OCR
        run: |
          curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-amd64
          chmod +x ocr && sudo mv ocr /usr/local/bin/ocr
      - name: Lancer la Revue
        run: ocr review --from origin/main --to ${{ github.sha }} --format json
        env:
          OCR_LLM_URL: ${{ secrets.OCR_LLM_URL }}
          OCR_LLM_TOKEN: ${{ secrets.OCR_LLM_TOKEN }}

Liste de Vérification

  • ocr version affiche un numéro de version
  • ocr llm test réussit le test de connexion
  • ocr review --preview montre les fichiers de votre dépôt
  • ocr review produit des commentaires ligne par ligne
  • Le pipeline CI/CD exécute OCR avec succès
  • Les règles personnalisées remplacent les règles par défaut
  • Le visualiseur Web est accessible sur localhost:5483

Ressources