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 izAI_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:
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 |
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.
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:
.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
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¶
Rješenje: Provjerite da je varijabla ispravno podešena.
Rješenje: Koristite validan ISO 639 kod.
Rješenje: Koristite jedan od dozvoljenih nivoa.
Primjeri konfiguracije¶
Minimalna (GitHub)¶
Minimalna (GitLab)¶
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¶
- Varijable okruženja (najviši)
.envfajl u tekućem direktorijumu