Image

AI Review и AI-ассистент в CI/CD за 30 минут — бесплатно с OpenRouter

Введение

В этой статье я покажу, как всего за 30 минут встроить в ваш CI/CD-пайплайн полноценного AI-ревьюера и ассистента — без платных API-ключей, без интеграции с OpenAI и без лишней инфраструктуры. Всё, что нам понадобится, — это AI Review и OpenRouter — универсальный шлюз к десяткам LLM, от GPT-4o до Claude и Mistral, доступный бесплатно.

Мы настроим систему так, чтобы она автоматически запускалась при каждом Pull или Merge Request и не только оставляла комментарии к коду — от точечных inline-замечаний до краткого summary-обзора, — но и выступала в роли AI-ассистента, способного отвечать на ваши комментарии и выполнять указания прямо внутри обсуждения.

В примере я покажу запуск через GitHub Actions, но тот же подход одинаково хорошо работает и в GitLab, Bitbucket и Gitea. При этом у вас нет никаких ограничений: AI Review поддерживает Gemini, OpenAI, Claude, Ollama, OpenRouter и работает с любыми популярными VCS — GitHub, GitLab, Gitea, Bitbucket.

Что такое OpenRouter?

OpenRouter — это универсальный шлюз к десяткам современных LLM (Large Language Models): GPT-4o, Claude, Gemini, Mistral и другим. Один API и один ключ дают доступ ко всем моделям сразу — вы просто выбираете нужную и переключаетесь между ними без изменения кода.

AI Review поддерживает OpenRouter «из коробки», поэтому остаётся только получить токен и указать его в конфигурации.

Как получить токен OpenRouter

  1. Перейдите на openrouter.ai и авторизуйтесь (через GitHub или Google).

  2. В личном кабинете откройте раздел Keys и нажмите Create Key.

  3. Дайте ключу понятное имя и скопируйте его.

  4. Рекомендуется создать отдельный ключ для CI/CD, чтобы его можно было отозвать отдельно.

Как добавить токен в GitHub Actions

Чтобы использовать токен в пайплайне, добавьте его в Secrets репозитория:

  • Settings → Secrets and variables → Actions → New repository secret

  • В поле Name: OPENROUTER_API_TOKEN

  • В поле Value: вставьте скопированный токен

Теперь ключ будет доступен как secrets.OPENROUTER_API_TOKEN и его можно безопасно использовать в workflow.

Аналогично переменные задаются и в GitLab, Bitbucket или Jenkins — имя переменной остаётся тем же.

Создаём конфиг AI Review

Первое, что нужно сделать, — это описать настройки инструмента AI Review. Он управляется через конфигурационный файл .ai-review.yaml, который располагается в корне проекта. Минимального конфига достаточно, чтобы сразу запустить AI-ревью в CI/CD:

llm: provider: OPENROUTER # Используем OpenRouter как LLM-провайдера meta: model: mistralai/mistral-7b-instruct:free # Бесплатная модель через OpenRouter max_tokens: 15000 # Максимальное количество токенов в ответе temperature: 0.3 # Чем ниже значение, тем строже ответы http_client: timeout: 120 api_url: https://openrouter.ai/api/v1 # Базовый URL API vcs: provider: GITHUB # Используем GitHub как систему контроля версий http_client: timeout: 120 api_url: https://api.github.com # API GitHub

И всё — AI Review подключится к модели через OpenRouter и начнёт анализировать изменения в вашем Pull Request.

Тот же конфиг легко адаптируется под GitLab, Bitbucket или Gitea — достаточно поменять vcs.provider и api_url. Если нужно добавить собственные промпты, изменить стиль комментариев, ограничить количество замечаний или исключить файлы из анализа — всё это настраивается в расширенном конфиге. Примеры можно найти в документации AI Review.

Создаём workflow GitHub Actions

Теперь добавим пайплайн, который будет запускать AI Review автоматически при каждом Pull Request. Всё просто: создаём файл .github/workflows/ai-review.yml и используем готовый action из GitHub Marketplace.

name: 🤖 AI Review on: # Ручной запуск пайплайна из вкладки Actions (можно заменить на on: pull_request) workflow_dispatch: inputs: review-command: type: choice default: «run» options: [ run, run-inline, run-context, run-summary, run-inline-reply, run-summary-reply ] required: true description: «AI Review command» pull-request-number: type: string required: true description: «Pull request number» jobs: ai-review: name: Run AI Review runs-on: ubuntu-latest steps: # 1️⃣ Клонируем репозиторий и получаем diff изменений — name: 🧱 Checkout repository uses: actions/checkout@v4 with: fetch-depth: 0 # 2️⃣ Запускаем AI Review — name: 🚀 Run AI Review uses: Nikita-Filonov/ai-review@v0.36.0 env: # 🔑 Токен GitHub для доступа к Pull Request и публикации комментариев VCS__HTTP_CLIENT__API_TOKEN: ${{ secrets.GITHUB_TOKEN }} # 📦 Контекст PR — владелец, репозиторий и номер запроса VCS__PIPELINE__OWNER: ${{ github.repository_owner }} VCS__PIPELINE__REPO: ${{ github.event.repository.name }} VCS__PIPELINE__PULL_NUMBER: ${{ inputs.pull-request-number }} # 🤖 Токен OpenRouter для доступа к LLM LLM__HTTP_CLIENT__API_TOKEN: ${{ secrets.OPENROUTER_API_TOKEN }} with: # 🧠 Команда ревью: полный анализ, только inline, только summary и т.д. review-command: ${{ inputs.review-command }}

Всё — после коммита этого файла можно запускать пайплайн прямо из вкладки Actions и получать AI-ревью кода без дополнительной настройки.

Если вы используете GitLab, Bitbucket или Jenkins, структура остаётся такой же: установите ai-review через pip install xai-review или запустите готовый Docker-образ, а затем вызовите CLI-команду ai-review run с нужными переменными окружения. Примеры конфигураций для других CI доступны в документации.

Результат

Перед запуском убедитесь, что ваш токен GitHub (GITHUB_TOKEN) имеет права read + write для Pull Requests — иначе AI Review не сможет публиковать комментарии. Это настраивается в разделе Settings → Actions → General → Workflow permissions → Read and write permissions.

Далее всё просто:

  1. Перейдите на вкладку Actions в вашем репозитории.

  2. Выберите workflow 🤖 AI Review.

  3. Нажмите Run workflow, укажите номер Pull Request и команду ревью (например, run-inline или run-summary).

034bdd15e62e38b6eadce40078a96e00

После запуска workflow AI Review автоматически подключится к модели, проанализирует diff и начнёт публиковать результаты прямо в интерфейсе PR. Вот как это выглядит на практике

Inline Review: построчные комментарии

В этом режиме AI Review анализирует каждую изменённую строку и оставляет точечные комментарии в диффе. Это основной формат ревью, который помогает быстро находить ошибки и потенциальные улучшения прямо в коде.

857c78c745a81ced56fc70101303f9bc

Summary Review: общий обзор

Здесь AI формирует одно большое сообщение под Pull Request, описывающее сильные и слабые стороны изменений, архитектурные замечания и общие рекомендации.

a688b5544e17f81f45d4ca82ad0a9bcd

AI-ассистент: ответы и помощь

AI Review умеет не только анализировать код, но и выступать в роли интерактивного помощника: он может отвечать на комментарии, объяснять свою логику или выполнять дополнительные задачи по вашему запросу.

Чтобы активировать ответ ассистента, достаточно добавить в сообщение специальный тег:

  • #ai-review-inline-reply — если хотите получить ответ на конкретный inline-комментарий

  • #ai-review-summary-reply — если нужен ответ в summary-обсуждении

Эти теги можно изменить или переопределить в конфигурации, если вы хотите использовать собственный стиль запросов.

Ассистент: объяснение комментария

Мы попросим AI объяснить, почему он оставил конкретное inline-замечание в src/calculator.py. Ассистент анализирует контекст и формулирует развёрнутый ответ, который можно использовать прямо в обсуждении PR.

3b5891817345f08fc21cb96bc07e6c02

Ассистент: генерация тестов

В summary-обсуждении можно попросить AI написать тесты для любого компонента. Например, мы попросим его сгенерировать тесты для класса Calculator из файла src/calculator.py. Результат — готовый пример тестового файла, который можно сразу добавить в проект.

d0487b3e9e51611b92b4d3110d7537e0

Всё это работает без дополнительного кода и настройки — ассистент активируется теми же командами (run-inline-reply и run-summary-reply) и использует тот же LLM, что и основное ревью.

Заключение

Важно понимать: сам AI Review не “оценивает качество” кода — он лишь автоматизирует процесс ревью и обеспечивает удобную интеграцию в CI/CD. Итоговый результат напрямую зависит от того, какую модель вы выберете. Хотите максимально точные и глубокие комментарии — используйте, например, gpt-4o или claude-3.5. Нужны быстрые и лёгкие проверки — подойдут mistral или phi.

В этом примере мы использовали OpenRouter и бесплатную модель, но на практике никаких ограничений нет: AI Review одинаково хорошо работает с OpenAI, Claude, Gemini, Ollama и OpenRouter, а также поддерживает все популярные системы контроля версий — GitHub, GitLab, Gitea и Bitbucket.

За 30 минут вы можете встроить в CI/CD полноценного AI-ревьюера и ассистента — без платных подписок, без внешней инфраструктуры и с полным контролем над кодом. А дальше всё зависит только от выбранной модели и ваших задач.

Полезные ссылки и демо

Чтобы не тратить время на поиски — вот всё, что нужно для повторения примера и вдохновения:

  • AI Review на GitHub — опенсорсный инструмент для автоматического анализа кода.

  • Пример Pull Request с комментариями

  • Пример GitHub Actions pipeline

  • Минимальный конфиг .ai-review.yaml

  • Документация и примеры расширенной конфигурации

Если статья оказалась полезной — поставьте звёздочку репозиторию AI Review на GitHub. Это поможет проекту развиваться и оставаться полностью бесплатным и опенсорсным.

Источник: habr.com

✅ Найденные теги: AI, новости

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.
Спутник исследует черную дыру в космосе, испускающий световой луч.
Пикачу использует электрический разряд на фоне неба.
Черный углеродное волокно с текстурой плетения, отражающий свет.
Круглый экран с изображением замка и горы, рядом электронная плата.
Код на экране компьютера, программирование, интерфейс разработчика.
Статистика использования видеокарт NVIDIA RTX, показывающая изменения за октябрь-февраль.
Макросъемка клетки под микроскопом, текстура и форма на голубом фоне.
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

Астрономы будут получать оповещения о небесных явлениях в течение нескольких минут после их обнаружения. Теренс О'Брайен, редактор раздела «Выходные». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной…

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

Обзор компактного пресса для мягкого пластика Clear Drop — и что будет дальше. Шон Холлистер, старший редактор Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего…

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых