Иди на текст

Konfiguracija

Sva podešavanja se konfigurišu putem varijabli okruženja.

Migracija: prefiks AI_REVIEWER_

Od v1.0.0a7, sve varijable okruženja podržavaju prefiks AI_REVIEWER_ (npr., AI_REVIEWER_GOOGLE_API_KEY). Stara imena (npr., GOOGLE_API_KEY) i dalje rade kao fallback. Preporučujemo migraciju na nova imena kako bi se izbjegli konflikti sa drugim alatima u CI/CD konfiguracijama na nivou organizacije.


Obavezne varijable

Varijabla Opis Primjer Kako dobiti
AI_REVIEWER_GOOGLE_API_KEY Google Gemini API ključ (odvojeni zarezima za rotaciju ključeva) AIza... Google AI Studio
AI_REVIEWER_MISTRAL_API_KEY Mistral API ključ (odvojeni zarezima za rotaciju ključeva) sk-... Mistral Console
AI_REVIEWER_GITHUB_TOKEN GitHub token (za GitHub) ghp_... Instrukcije
AI_REVIEWER_GITLAB_TOKEN GitLab token (za GitLab) glpat-... Instrukcije

Potreban je barem jedan LLM API ključ

Trebate barem jedan LLM API ključ: AI_REVIEWER_GOOGLE_API_KEY ili AI_REVIEWER_MISTRAL_API_KEY (ili oba). Ključ za primarnog provajdera (podešen putem AI_REVIEWER_LLM_PROVIDER) je obavezan.

Potreban je barem jedan token platforme

Trebate AI_REVIEWER_GITHUB_TOKEN ili AI_REVIEWER_GITLAB_TOKEN zavisno od platforme.

Tipovi GitLab tokena

Za GitLab, možete koristiti Personal Access Token (radi na svim planovima, uključujući Free) ili Project Access Token (zahtijeva GitLab Premium/Ultimate).


Opcione varijable

Opšte

Varijabla Opis Podrazumijevano Opseg
AI_REVIEWER_LOG_LEVEL Nivo logovanja INFO DEBUG, INFO, WARNING, ERROR, CRITICAL
AI_REVIEWER_API_TIMEOUT Timeout zahtjeva (sek) 60 1-300

Jezik

Varijabla Opis Podrazumijevano Primjeri
AI_REVIEWER_LANGUAGE Jezik odgovora en uk, de, es, it, me
AI_REVIEWER_LANGUAGE_MODE Režim detekcije adaptive adaptive, fixed

Jezički režimi:

  • adaptive (podrazumijevano) — automatski prepoznaje jezik iz konteksta PR/MR (opis, komentari, povezani zadatak)
  • fixed — uvijek koristi jezik iz AI_REVIEWER_LANGUAGE

ISO 639

AI_REVIEWER_LANGUAGE prihvata bilo koji validan ISO 639 kod:

  • 2-slovna: en, uk, de, es, it
  • 3-slovna: ukr, deu, spa
  • Imena: English, Ukrainian, German

LLM

Izbor provajdera

Varijabla Opis Podrazumijevano
AI_REVIEWER_LLM_PROVIDER Primarni LLM provajder google
AI_REVIEWER_LLM_FALLBACK_PROVIDER Fallback provajder (koristi se kada je primarni iscrpljen) (nema)

Podržani provajderi: google, mistral.

Kada su konfigurisani i primarni i fallback provajder, sistem prvo isprobava sve modele primarnog provajdera, pa zatim sve modele fallback provajdera. Primjer sa LLM_PROVIDER=mistral i LLM_FALLBACK_PROVIDER=google:

mistral-large → mistral-small → gemini-2.5-flash → gemini-2.5-flash-lite

Google Gemini Models

Varijabla Opis Podrazumijevano
AI_REVIEWER_GEMINI_MODEL Primarni Gemini model gemini-2.5-flash
AI_REVIEWER_GEMINI_MODEL_FALLBACK Lanac rezervnih modela (odvojenih zarezima) gemini-3-flash-preview,...
Model Opis Cijena
gemini-2.5-flash Brz, stabilan, sa sposobnošću rasuđivanja (podrazumijevano) $0.075 / 1M ulaz
gemini-3-flash-preview Frontier-klasa flash (pregled) $0.075 / 1M ulaz
gemini-2.5-flash-lite Najbrži i najjeftiniji u 2.5 $0.01875 / 1M ulaz
gemini-2.5-pro Najmoćniji, sa dubokim rasuđivanjem $1.25 / 1M ulaz

Gemini API Pricing

Mistral modeli

Varijabla Opis Podrazumijevano
AI_REVIEWER_MISTRAL_MODEL Primarni Mistral model mistral-large-latest
AI_REVIEWER_MISTRAL_MODEL_FALLBACK Lanac fallback modela (razdvojeno zarezom) (nema)
AI_REVIEWER_MISTRAL_API_URL Prilagođeni bazni URL API-ja (nema)
Model Opis Kontekst Cijena (input / output)
mistral-large-latest Najmoćniji, MoE 41B/675B (podrazumijevano) 256k $0.50 / $1.50
mistral-medium-latest Balans performansi i cijene 128k $0.40 / $2.00
mistral-small-latest Brz i jeftin, hybrid 6.5B/119B 256k $0.15 / $0.60
codestral-latest Optimizovan za kod, FIM podrška 128k $0.30 / $0.90
devstral-latest Coding agent, najjeftiniji Mistral 256k $0.10 / $0.30

Besplatni Codestral

Codestral ima odvojeni besplatni nivo na https://codestral.mistral.ai sa vlastitim API ključem. Postavite AI_REVIEWER_MISTRAL_API_URL=https://codestral.mistral.ai i koristite ključ sa codestral.mistral.ai. Plaćeni Codestral preko api.mistral.ai ne zahtijeva prilagođeni URL.

Mistral Pricing

Ostala podešavanja

Varijabla Opis Podrazumijevano
AI_REVIEWER_REVIEW_SPLIT_THRESHOLD Prag karaktera za podijeljen pregled kod+testovi 30000

Tačnost cijena

Cijene su navedene na datum izdanja i mogu se promijeniti. Provjerite stranicu sa cijenama provajdera za aktuelne informacije.

Besplatni nivo

I Google Gemini i Mistral nude besplatne nivoe dovoljne za reviziju koda tima od 4-8 programera. Kombinujte dva provajdera za maksimalnu pouzdanost.

Revizija

Varijabla Opis Podrazumijevano Opseg
AI_REVIEWER_REVIEW_MAX_FILES Maksimalno fajlova u kontekstu 20 1-100
AI_REVIEWER_REVIEW_MAX_DIFF_LINES Maksimalno linija diff-a po fajlu 500 1-5000
AI_REVIEWER_REVIEW_MAX_COMMENT_CHARS Maks. karaktera komentara MR u promptu 3000 0-20000
AI_REVIEWER_REVIEW_INCLUDE_BOT_COMMENTS Uključi bot komentare u prompt true true/false
AI_REVIEWER_REVIEW_POST_INLINE_COMMENTS Postavljanje inline komentara na linije true true/false
AI_REVIEWER_REVIEW_ENABLE_DIALOGUE Grupisanje komentara u dijalog niti true true/false

Kontekst diskusije

AI revizor čita postojeće komentare MR/PR kako ne bi ponavljao prijedloge koji su već razmatrani. Postavite AI_REVIEWER_REVIEW_MAX_COMMENT_CHARS=0 za deaktivaciju.

Inline komentari

Kada je AI_REVIEWER_REVIEW_POST_INLINE_COMMENTS=true (podrazumijevano), issue-i sa informacijama o fajlu/liniji se postavljaju kao inline komentari na kodu, sa kratkim sažetkom kao tijelom revizije. Postavite na false za jedan sažetak komentar.

Dijalog niti

Kada je AI_REVIEWER_REVIEW_ENABLE_DIALOGUE=true (podrazumijevano), komentari se grupišu u konverzacijske niti kako bi AI razumio lance odgovora. Postavite na false za ravno prikazivanje.

Discovery

Varijabla Opis Podrazumijevano Opseg
AI_REVIEWER_DISCOVERY_ENABLED Aktiviranje analize projekta prije pregleda true true/false
AI_REVIEWER_DISCOVERY_VERBOSE Uvijek objaviti discovery komentar (podrazumijevano: samo pri prazninama) false true/false
AI_REVIEWER_DISCOVERY_TIMEOUT Timeout discovery pipeline-a u sekundama 30 1-300

Analiza projekta

Kada je aktivirano, AI ReviewBot automatski analizira vaš repozitorijum (jezici, CI pipeline, config fajlovi) prije svakog pregleda za pametniji feedback. Postavite na false za deaktivaciju. Detalji: Discovery →.

Verbose režim

Kada je AI_REVIEWER_DISCOVERY_VERBOSE=true, discovery komentar se uvijek objavljuje i uključuje sve Attention Zones (Well Covered, Weakly Covered, Not Covered). Podrazumijevani režim objavljuje samo kada postoje praznine ili nepokrivene zone.

GitLab

Varijabla Opis Podrazumijevano
AI_REVIEWER_GITLAB_URL URL GitLab servera https://gitlab.com

Self-hosted GitLab

Za self-hosted GitLab, podešite AI_REVIEWER_GITLAB_URL:

export AI_REVIEWER_GITLAB_URL=https://gitlab.mycompany.com


.env fajl

Praktično je čuvati konfiguraciju u .env:

# .env

# LLM provajder (izaberite jednog ili oba)
AI_REVIEWER_GOOGLE_API_KEY=AIza...
# AI_REVIEWER_MISTRAL_API_KEY=sk-...
# AI_REVIEWER_LLM_PROVIDER=google
# AI_REVIEWER_LLM_FALLBACK_PROVIDER=mistral

# Token platforme
AI_REVIEWER_GITHUB_TOKEN=ghp_...

# Opciono
AI_REVIEWER_LANGUAGE=uk
AI_REVIEWER_LANGUAGE_MODE=adaptive
AI_REVIEWER_GEMINI_MODEL=gemini-2.5-flash
AI_REVIEWER_LOG_LEVEL=INFO

Bezbjednost

Nikada ne komitujte .env u git!

Dodajte u .gitignore:

.env
.env.*


CI/CD konfiguracija

GitHub Actions

env:
  AI_REVIEWER_GOOGLE_API_KEY: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
  AI_REVIEWER_GITHUB_TOKEN: ${{ github.token }}  # Automatski
  AI_REVIEWER_LANGUAGE: uk
  AI_REVIEWER_LANGUAGE_MODE: adaptive

GitLab CI

variables:
  # AI_REVIEWER_GOOGLE_API_KEY i AI_REVIEWER_GITLAB_TOKEN
  # se nasljeđuju automatski iz CI/CD Variables
  AI_REVIEWER_LANGUAGE: uk
  AI_REVIEWER_LANGUAGE_MODE: adaptive

Validacija

AI Code Reviewer validira konfiguraciju pri pokretanju:

Greške validacije

ValidationError: AI_REVIEWER_GOOGLE_API_KEY is too short (minimum 10 characters)

Rješenje: Provjerite da je varijabla ispravno podešena.

ValidationError: Invalid language code 'xyz'

Rješenje: Koristite validan ISO 639 kod.

ValidationError: LOG_LEVEL must be one of: DEBUG, INFO, WARNING, ERROR, CRITICAL

Rješenje: Koristite jedan od dozvoljenih nivoa.


Primjeri konfiguracije

Minimalna (GitHub)

export AI_REVIEWER_GOOGLE_API_KEY=AIza...
export AI_REVIEWER_GITHUB_TOKEN=ghp_...

Minimalna (GitLab)

export AI_REVIEWER_GOOGLE_API_KEY=AIza...
export AI_REVIEWER_GITLAB_TOKEN=glpat-...

Ukrajinski jezik, fiksiran

export AI_REVIEWER_GOOGLE_API_KEY=AIza...
export AI_REVIEWER_GITHUB_TOKEN=ghp_...
export AI_REVIEWER_LANGUAGE=uk
export AI_REVIEWER_LANGUAGE_MODE=fixed

Self-hosted GitLab

export AI_REVIEWER_GOOGLE_API_KEY=AIza...
export AI_REVIEWER_GITLAB_TOKEN=glpat-...
export AI_REVIEWER_GITLAB_URL=https://gitlab.mycompany.com

Debug režim

export AI_REVIEWER_GOOGLE_API_KEY=AIza...
export AI_REVIEWER_GITHUB_TOKEN=ghp_...
export AI_REVIEWER_LOG_LEVEL=DEBUG

Prioritet konfiguracije

  1. Varijable okruženja (najviši)
  2. .env fajl u tekućem direktorijumu

Sljedeći korak