Конфігурація¶
Всі налаштування через environment variables.
Міграція: префікс AI_REVIEWER_
Починаючи з v1.0.0a7, всі змінні оточення підтримують префікс AI_REVIEWER_ (напр., AI_REVIEWER_GOOGLE_API_KEY). Старі імена (напр., GOOGLE_API_KEY) працюють як fallback. Рекомендуємо мігрувати на нові імена для уникнення конфліктів з іншими інструментами в CI/CD конфігураціях на рівні організації.
Обов'язкові змінні¶
| Змінна | Опис | Приклад | Як отримати |
|---|---|---|---|
AI_REVIEWER_GOOGLE_API_KEY |
API ключ Google Gemini (через кому для ротації ключів) | AIza... |
Google AI Studio |
AI_REVIEWER_MISTRAL_API_KEY |
API ключ Mistral (через кому для ротації ключів) | sk-... |
Mistral Console |
AI_REVIEWER_GITHUB_TOKEN |
GitHub токен (для GitHub) | ghp_... |
Інструкція |
AI_REVIEWER_GITLAB_TOKEN |
GitLab токен (для GitLab) | glpat-... |
Інструкція |
Потрібен хоча б один API ключ LLM
Потрібен хоча б один API ключ LLM: AI_REVIEWER_GOOGLE_API_KEY або AI_REVIEWER_MISTRAL_API_KEY (або обидва).
Ключ для основного провайдера (встановленого через AI_REVIEWER_LLM_PROVIDER) є обов'язковим.
Мінімум один токен платформи
Потрібен AI_REVIEWER_GITHUB_TOKEN або AI_REVIEWER_GITLAB_TOKEN залежно від платформи.
Типи токенів GitLab
Для GitLab можна використовувати Personal Access Token (працює на всіх планах, включаючи Free) або Project Access Token (потребує GitLab Premium/Ultimate).
Опціональні змінні¶
Загальні¶
| Змінна | Опис | Default | Діапазон |
|---|---|---|---|
AI_REVIEWER_LOG_LEVEL |
Рівень логування | INFO |
DEBUG, INFO, WARNING, ERROR, CRITICAL |
AI_REVIEWER_API_TIMEOUT |
Таймаут запитів (сек) | 60 |
1-300 |
Мова¶
| Змінна | Опис | Default | Приклади |
|---|---|---|---|
AI_REVIEWER_LANGUAGE |
Мова відповідей | en |
uk, de, es, it, me |
AI_REVIEWER_LANGUAGE_MODE |
Режим визначення | adaptive |
adaptive, fixed |
Режими мови:
adaptive(default) — автоматично визначає мову з контексту PR/MR (опис, коментарі, linked task)fixed— завжди використовує мову зAI_REVIEWER_LANGUAGE
ISO 639
AI_REVIEWER_LANGUAGE приймає будь-який валідний ISO 639 код:
- 2-літерні:
en,uk,de,es,it - 3-літерні:
ukr,deu,spa - Назви:
English,Ukrainian,German
LLM¶
Вибір провайдера¶
| Змінна | Опис | Default |
|---|---|---|
AI_REVIEWER_LLM_PROVIDER |
Основний LLM-провайдер | google |
AI_REVIEWER_LLM_FALLBACK_PROVIDER |
Fallback-провайдер (використовується, коли основний вичерпано) | (немає) |
Підтримувані провайдери: google, mistral.
Коли налаштовано і основний, і fallback-провайдер, система спочатку пробує всі моделі основного провайдера, потім всі моделі fallback-провайдера. Приклад з LLM_PROVIDER=mistral та LLM_FALLBACK_PROVIDER=google:
Google Gemini Models¶
| Змінна | Опис | Default |
|---|---|---|
AI_REVIEWER_GEMINI_MODEL |
Основна модель Gemini | gemini-2.5-flash |
AI_REVIEWER_GEMINI_MODEL_FALLBACK |
Ланцюжок fallback-моделей (через кому) | gemini-3-flash-preview,... |
| Модель | Опис | Ціна |
|---|---|---|
gemini-2.5-flash |
Швидка, стабільна, з reasoning (за замовчуванням) | $0.075 / 1M input |
gemini-3-flash-preview |
Frontier-клас flash (preview) | $0.075 / 1M input |
gemini-2.5-flash-lite |
Найшвидша і найдешевша в 2.5 | $0.01875 / 1M input |
gemini-2.5-pro |
Найпотужніша, з глибоким reasoning | $1.25 / 1M input |
Mistral Models¶
| Змінна | Опис | Default |
|---|---|---|
AI_REVIEWER_MISTRAL_MODEL |
Основна модель Mistral | mistral-large-latest |
AI_REVIEWER_MISTRAL_MODEL_FALLBACK |
Ланцюжок fallback-моделей (через кому) | (немає) |
AI_REVIEWER_MISTRAL_API_URL |
Кастомний базовий URL API | (немає) |
| Модель | Опис | Контекст | Ціна (input / output) |
|---|---|---|---|
mistral-large-latest |
Найпотужніша, MoE 41B/675B (за замовчуванням) | 256k | $0.50 / $1.50 |
mistral-medium-latest |
Баланс продуктивності та вартості | 128k | $0.40 / $2.00 |
mistral-small-latest |
Швидка і дешева, hybrid 6.5B/119B | 256k | $0.15 / $0.60 |
codestral-latest |
Оптимізована для коду, підтримка FIM | 128k | $0.30 / $0.90 |
devstral-latest |
Coding agent, найдешевша Mistral | 256k | $0.10 / $0.30 |
Безкоштовний Codestral
Codestral має окремий безкоштовний рівень на https://codestral.mistral.ai з власним API ключем.
Встановіть AI_REVIEWER_MISTRAL_API_URL=https://codestral.mistral.ai і використовуйте ключ з codestral.mistral.ai.
Платний Codestral через api.mistral.ai не потребує окремого URL.
Інші налаштування¶
| Змінна | Опис | Default |
|---|---|---|
AI_REVIEWER_REVIEW_SPLIT_THRESHOLD |
Поріг символів для split review (код+тести окремо) | 30000 |
Актуальність цін
Вартості вказані на день релізу і можуть змінюватись. Актуальна інформація на сторінці цін провайдера.
Free Tier
І Google Gemini, і Mistral пропонують безкоштовні рівні, достатні для code review команди 4-8 розробників. Поєднайте двох провайдерів для максимальної надійності.
Review¶
| Змінна | Опис | Default | Діапазон |
|---|---|---|---|
AI_REVIEWER_REVIEW_MAX_FILES |
Макс. файлів у контексті | 20 |
1-100 |
AI_REVIEWER_REVIEW_MAX_DIFF_LINES |
Макс. рядків diff на файл | 500 |
1-5000 |
AI_REVIEWER_REVIEW_MAX_COMMENT_CHARS |
Макс. символів коментарів MR у промпті | 3000 |
0-20000 |
AI_REVIEWER_REVIEW_INCLUDE_BOT_COMMENTS |
Включати коментарі ботів у промпт | true |
true/false |
AI_REVIEWER_REVIEW_POST_INLINE_COMMENTS |
Публікувати inline коментарі на рядках | true |
true/false |
AI_REVIEWER_REVIEW_ENABLE_DIALOGUE |
Групувати коментарі у діалогові потоки | true |
true/false |
Контекст обговорення
AI-рев'ювер читає існуючі коментарі MR/PR, щоб не повторювати пропозиції,
які вже обговорювались. Встановіть AI_REVIEWER_REVIEW_MAX_COMMENT_CHARS=0 для вимкнення.
Inline коментарі
Коли AI_REVIEWER_REVIEW_POST_INLINE_COMMENTS=true (default), issues з інформацією про файл/рядок публікуються як inline коментарі до коду, з коротким summary як тілом ревʼю. Встановіть false для одного summary коментаря.
Діалогові потоки
Коли AI_REVIEWER_REVIEW_ENABLE_DIALOGUE=true (default), коментарі групуються у
діалогові потоки, щоб AI розумів ланцюжки відповідей. Встановіть false для плоского відображення.
Discovery¶
| Змінна | Опис | Default | Діапазон |
|---|---|---|---|
AI_REVIEWER_DISCOVERY_ENABLED |
Увімкнути аналіз проєкту перед ревʼю | true |
true/false |
AI_REVIEWER_DISCOVERY_VERBOSE |
Завжди постити коментар discovery (default: тільки при прогалинах) | false |
true/false |
AI_REVIEWER_DISCOVERY_TIMEOUT |
Таймаут discovery pipeline у секундах | 30 |
1-300 |
Аналіз проєкту
Коли увімкнено, AI ReviewBot автоматично аналізує ваш репозиторій (мови, CI pipeline, конфіг-файли) перед кожним ревʼю для розумнішого зворотного звʼязку. Встановіть false для вимкнення. Деталі: Discovery →.
Verbose mode
Коли AI_REVIEWER_DISCOVERY_VERBOSE=true, коментар discovery завжди поститься і включає всі Attention Zones (Well Covered, Weakly Covered, Not Covered). Default режим постить тільки коли є прогалини або непокриті зони.
GitLab¶
| Змінна | Опис | Default |
|---|---|---|
AI_REVIEWER_GITLAB_URL |
URL GitLab сервера | https://gitlab.com |
Self-hosted GitLab
Для self-hosted GitLab встановіть AI_REVIEWER_GITLAB_URL:
Файл .env¶
Зручно зберігати конфігурацію в .env:
# .env
# LLM-провайдер (оберіть один або обидва)
AI_REVIEWER_GOOGLE_API_KEY=AIza...
# AI_REVIEWER_MISTRAL_API_KEY=sk-...
# AI_REVIEWER_LLM_PROVIDER=google
# AI_REVIEWER_LLM_FALLBACK_PROVIDER=mistral
# Токен платформи
AI_REVIEWER_GITHUB_TOKEN=ghp_...
# Опціональні
AI_REVIEWER_LANGUAGE=uk
AI_REVIEWER_LANGUAGE_MODE=adaptive
AI_REVIEWER_GEMINI_MODEL=gemini-2.5-flash
AI_REVIEWER_LOG_LEVEL=INFO
CI/CD конфігурація¶
GitHub Actions¶
env:
AI_REVIEWER_GOOGLE_API_KEY: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
AI_REVIEWER_GITHUB_TOKEN: ${{ github.token }} # Автоматичний
AI_REVIEWER_LANGUAGE: uk
AI_REVIEWER_LANGUAGE_MODE: adaptive
GitLab CI¶
variables:
# AI_REVIEWER_GOOGLE_API_KEY та AI_REVIEWER_GITLAB_TOKEN
# успадковуються з CI/CD Variables автоматично
AI_REVIEWER_LANGUAGE: uk
AI_REVIEWER_LANGUAGE_MODE: adaptive
Валідація¶
AI Code Reviewer валідує конфігурацію при старті:
Помилки валідації¶
Рішення: Перевірте що змінна встановлена коректно.
Рішення: Використовуйте валідний ISO 639 код.
Рішення: Використовуйте один з дозволених рівнів.
Приклади конфігурацій¶
Мінімальна (GitHub)¶
Мінімальна (GitLab)¶
Українська мова, фіксована¶
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 режим¶
export AI_REVIEWER_GOOGLE_API_KEY=AIza...
export AI_REVIEWER_GITHUB_TOKEN=ghp_...
export AI_REVIEWER_LOG_LEVEL=DEBUG
Пріоритет конфігурації¶
- Environment variables (найвищий)
- Файл
.envв поточній директорії