Иди на текст

Instalacija

Opcija instalacije zavisi od vašeg slučaja upotrebe i ciljeva.


1. CI/CD — Automatizovana revizija

Najčešći scenario: AI Code Reviewer se pokreće automatski kada se kreira ili ažurira PR/MR.

Podesite za 5 minuta:

Za fino podešavanje pogledajte Konfiguracija →


2. Samostalno postavljanje: CLI/Docker

CLI i Docker image omogućavaju pokretanje AI Code Reviewer-a van standardnog CI pipeline-a.

Scenariji upotrebe

Scenario Kako realizovati
Ručno pokretanje Lokalni terminal — debugging, demo, evaluacija
Scheduled review GitLab Scheduled Pipeline / GitHub Actions schedule / cron
Batch review Skripta koja iterira kroz otvorene PR/MR
Vlastiti server Docker na serveru sa pristupom Git API-ju
On-demand review Webhook → pokretanje kontejnera

Obavezne varijable okruženja

Varijabla Opis Kada je potrebna Kako dobiti
AI_REVIEWER_GOOGLE_API_KEY API ključ za Gemini Uvijek Google AI Studio
AI_REVIEWER_GITHUB_TOKEN GitHub Personal Access Token Za GitHub Instrukcije
AI_REVIEWER_GITLAB_TOKEN GitLab Personal Access Token Za GitLab Instrukcije

Fallback

Stara imena bez prefiksa (npr. GOOGLE_API_KEY) i dalje rade kao fallback.


Ručno pokretanje

Za debugging, demo, evaluaciju prije implementacije, retrospektivnu analizu PR/MR.

Docker (preporučeno)

Nije potrebna instalacija Python-a — sve je u kontejneru.

Korak 1: Preuzmite image

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

Korak 2: Pokrenite reviziju

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

Dostupni iz dva registra:

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

pip / uv

Instalacija kao Python paket.

Korak 1: Instalirajte

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

Python verzija

Zahtijeva Python 3.13+

Korak 2: Podesite varijable

export AI_REVIEWER_GOOGLE_API_KEY=your_api_key
export AI_REVIEWER_GITHUB_TOKEN=your_token  # ili AI_REVIEWER_GITLAB_TOKEN za GitLab

Korak 3: Pokrenite

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

Opcione varijable

Dodatne varijable su dostupne za fino podešavanje:

Varijabla Podrazumijevano Efekat
AI_REVIEWER_LANGUAGE en Jezik odgovora (ISO 639)
AI_REVIEWER_LANGUAGE_MODE adaptive Režim detekcije jezika
AI_REVIEWER_GEMINI_MODEL gemini-2.5-flash Gemini model
AI_REVIEWER_LOG_LEVEL INFO Nivo logovanja

👉 Puna lista varijabli →


Scheduled reviews

Pokretanje revizije po rasporedu — za uštedu resursa ili kada nije potreban trenutni feedback.

# .gitlab-ci.yml
ai-review-scheduled:
  image: ghcr.io/konstziv/ai-code-reviewer:1
  script:
    - |
      # Dobij listu otvorenih MR
      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')

      # Pokreni reviziju za svaki MR
      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"

Podešavanje rasporeda: Project → Build → Pipeline schedules → New schedule

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

on:
  schedule:
    - cron: '0 9 * * *'  # Svaki dan u 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: |
          # Dobij listu otvorenih PR
          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

Vlastiti server / privatno okruženje

Za deployovanje na vlastitoj infrastrukturi sa pristupom Git API-ju.

Opcije:

  • Docker na serveru — pokretanje putem cron, systemd timer, ili kao servis
  • Kubernetes — CronJob za scheduled reviews
  • Self-hosted GitLab — dodajte varijablu GITLAB_URL (pogledajte primjer ispod)

Primjer cron job-a:

# /etc/cron.d/ai-review
# Svaki dan u 10:00 pokreni reviziju za sve otvorene MR
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

Za self-hosted GitLab dodajte varijablu AI_REVIEWER_GITLAB_URL:

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

3. Kontributori / Razvoj

Ako imate vremena i inspiracije da pomognete u razvoju paketa, ili želite da ga koristite kao osnovu za sopstveni razvoj — iskreno pozdravljamo i ohrabrujemo takve akcije!

Razvojna instalacija

# Klonirajte repozitorijum
git clone https://github.com/KonstZiv/ai-code-reviewer.git
cd ai-code-reviewer

# Instalirajte zavisnosti (koristimo uv)
uv sync

# Verifikujte
uv run ai-review --help

# Pokrenite testove
uv run pytest

# Pokrenite provjere kvaliteta
uv run ruff check .
uv run mypy .

uv

Koristimo uv za upravljanje zavisnostima.

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

Struktura projekta

ai-code-reviewer/
├── src/ai_reviewer/      # Izvorni kod
│   ├── core/             # Modeli, konfiguracija, formatiranje
│   ├── integrations/     # GitHub, GitLab, Gemini
│   └── utils/            # Pomoćne funkcije
├── tests/                # Testovi
├── docs/                 # Dokumentacija
└── examples/             # Primjeri CI konfiguracija

👉 Kako doprinijeti →


Zahtjevi

Sistemski zahtjevi

Komponenta Zahtjev
Python 3.13+ (za pip instalaciju)
Docker 20.10+ (za Docker)
OS Linux, macOS, Windows
RAM 256MB+
Mreža Pristup generativelanguage.googleapis.com

API ključevi

Ključ Potreban Kako dobiti
Google Gemini API Da Google AI Studio
GitHub PAT Za GitHub Instrukcije
GitLab PAT Za GitLab Instrukcije

Ograničenja Gemini API-ja

Besplatni nivo

Google Gemini ima besplatni nivo:

Ograničenje Vrijednost
Zahtjevi po minuti 15 RPM
Tokeni po danu 1M
Zahtjevi po danu 1500

Ovo je dovoljno za većinu projekata.


Sljedeći korak

👉 Brzi početak →