ИИ-ревью merge request'ов

Ревью с полным контекстом кода — а сам код к нам не попадает

Runner запускается шагом вашего CI на каждый merge request, видит изменённые файлы целиком и их зависимости и оставляет замечания прямо в merge request. Модель — любая OpenAI-совместимая. Код видят только Runner и выбранная вами модель — облачная или развёрнутая у вас. GitLab, GitFlic, GitVerse.

50 ревью бесплатно, без карты. Понадобится ключ к модели ИИ — подскажем, где взять.

app/api/stats/route.tsстрока 4
4+export async function GET(request: Request) {
5+ const [stats, recent] = await Promise.all([
6+ getGuestStats(), getRecentAnswers({ limit }),
Criticalsecurity

Эндпоинт без проверки сессии

Отдаёт имена гостей и токены приглашений любому, кто знает адрес. Соседние админские маршруты проверяют getServerSession — здесь проверки нет.

Как надо

const session = await getServerSession(authOptions)
if (!session) return new Response(null, { status: 401 })
Пример замечания Code Inspect в merge request

Меньше рутины

Рутину ревью берём на себя — решение остаётся за вами

Ревьюер тратит время на то, что можно проверить автоматически: забытую проверку, перепутанное условие, расхождение с соседним кодом. Code Inspect делает первый проход сам — человеку остаётся главное: смысл изменения, архитектура и решение, сливать или нет.

  • Замечания — пока автор в задаче

    Через несколько минут после пуша замечания уже стоят на строках merge request — без ожидания свободного ревьюера.

  • Мелочи правятся до ревьюера

    Очевидное автор исправляет сам, и человеку не приходится тратить раунд ревью на опечатки и забытые проверки.

  • Внимание — на главное

    Сводка собирает найденное по файлам и критичности: ревьюер начинает с рисков, а не ищет их построчно.

  • Последнее слово — за человеком

    Code Inspect не сливает и не одобряет за вас: вердикт — подсказка. ИИ ошибается, как и человек, поэтому второй взгляд остаётся нужным — просто он тратится на важное.

Если код пишет ИИ

Если код пишет ИИ — лучше, чтобы проверяла другая модель

Агенты открывают merge request'ы быстрее, чем их успевают прочитать. Объём ревью вырос, внимание — нет: автоматическое ревью другой моделью становится обязательным слоем, а не удобством.

  • Другая модель — другие слепые пятна

    Модель, написавшая код, уверена в своих допущениях. Ревьюер от другого провайдера их не разделяет — модель ревью выбирается независимо от той, что пишет код.

  • Поток MR без очереди

    Сколько бы merge request'ов ни открыли агенты, каждый сразу получает первый проход — к людям они приходят уже с замечаниями, а не с пустым диффом.

  • Агент правит по замечаниям

    Через MCP агент в вашей IDE читает замечания Code Inspect к своему MR и исправляет код. Человеку остаётся спорное.

  • Уверенный тон — не доказательство

    «Проверено, безопасно» в описании MR, которое написал агент, — утверждение, а не факт. Ревьюер проверяет код, а не верит описанию.

Чем отличается

Модель видит код, а не обрывок диффа

Замечание «метод не существует» или «тип не тот» рождается, когда модель не видела объявления. Runner собирает контекст до запроса.

  • Файлы целиком

    Изменённый файл подаётся полностью, правки отмечены прямо в тексте — модель видит, что вокруг.

  • Зависимости

    Локальные импорты изменённых файлов дочитываются: Python, Go, C#, TypeScript/JavaScript, PHP — включая автозагрузку модулей и компоненты 1С-Битрикс. Глубина настраивается.

  • Большой файл — окном

    Файл на тысячи строк подаётся фрагментами вокруг правок по границам функций и классов, а не обрезанным посередине.

  • Большая зависимость — объявлениями

    Если контекст не помещается, зависимости ужимаются до сигнатур: модели нужен контракт, а не реализация.

Ревью без шума

Замечания, которые не хочется скрывать

Каждое правило появилось после реальных отклонённых замечаний, а не из теории.

  • Одно ревью на merge request

    Повторные пуши не порождают тех же замечаний заново. Нужна повторная проверка — команда /review.

  • Только добавленные строки

    Замечания на чужом нетронутом коде в MR не публикуются — такие выводы уходят в сводку.

  • Вердикт по фактам

    Есть критичное замечание — вердикт «требуется исправление», что бы ни решила модель.

  • Не верит на слово

    «Проверено, безопасно» в комментарии или описании MR — утверждение, а не факт. Попытка управлять моделью изнутри кода сама становится находкой.

Безопасность

Ваш код к нам не попадает

Ревью выполняется в вашей инфраструктуре: код видят только Runner и выбранная вами модель. Панель управляет настройками и собирает метаданные — и только.

  • Исходный код не передаётся в панель

    В панель уходят путь к файлу, номера строк, критичность, категория и текст замечания. Ни файлов, ни фрагментов вокруг находок.

  • Секреты — у вас

    Ключи модели и Git-платформы лежат в .env на вашей машине и маскируются во всех журналах.

  • Ключ Runner'а ничем не управляет

    Он только читает конфигурацию проекта и пишет данные. Правила ревью меняет человек в панели — захват CI не подменит промпты.

  • Пайплайн не падает из-за нас

    По умолчанию код возврата — 0 при любом сбое сервиса. Блокировку по критичности включаете вы сами.

Как подключить

Три шага до первого ревью

  1. 01

    Проект и ключ

    Создайте проект в панели и выпустите ключ — он показывается один раз и хранится у нас только хэшем.

  2. 02

    Runner у вас

    Runner запускается в CI на каждый merge request. Ключи модели и Git остаются у вас — в секретах CI.

  3. 03

    Замечания в MR

    Замечания появляются на строках merge request, итог — одной сводкой. Повторить ревью — командой /review в комментарии.

Платформы и языки

Работает там, где вы уже работаете

Git-платформы

GitLab (включая self-hosted), GitFlic, GitVerse. Pipeline в CI.

Полный контекст с анализом импортов

  • Python
  • Go
  • C# (.NET)
  • TypeScript / JavaScript
  • PHP и 1С-Битрикс

Остальные языки ревьюятся в упрощённом режиме, без анализа зависимостей, — сводка об этом предупреждает.

Список языков с полным контекстом пополняется.

Модель на ваш выбор

Любой OpenAI-совместимый API

Облачный провайдер или собственная инсталляция — адрес и имя модели задаются в .env. Токены вы оплачиваете провайдеру напрямую: мы их не перепродаём.

  • Резервный провайдер

    Серия сетевых сбоев основного маршрута — и запросы уходят на второй, без ожидания полного цикла повторов.

  • Без платы за пустые повторы

    Переполнение окна модели — не повод повторять тот же запрос: он ужимается ступенями, пока не поместится.

  • Потолок стоимости

    Если оценка ревью больше заданного лимита токенов, запрос к модели не отправляется вовсе.

  • Сравнение моделей

    Команда bench-models прогоняет несколько моделей на одном merge request и показывает, какие находки совпали.

Управление

Правила команды — в одном месте

  • Инструкции проекта и модулей

    Свои правила и акценты ревью для всего проекта или отдельного модуля монорепозитория. Каждое изменение — новая версия с автором.

  • Пороги и исключения

    Размер контекста, глубина импортов, лимиты стоимости и пути, которые не ревьюятся, — для проекта. Локальный .env может их переопределить.

  • Ключи без простоя

    Новый ключ выпускается при действующем старом: переключили Runner — отозвали старый. Видно, когда ключ использовался, из каких подсетей и с какой версией Runner'а.

  • Покрытие языков

    После инициализации панель показывает, какие языки проекта ревьюятся с полным контекстом, а какие — в упрощённом режиме.

Тарифы

Платите за ревью, а не за места

Ценность получают все, кто открывает merge request, а не только те, кто заходит в панель. Поэтому считаем запуски ревью в организации.

Модель ИИ — ваша, без нашей наценки

Подключите любую OpenAI-совместимую модель — от Cloud.ru или Yandex AI Studio, или развёрнутую у вас. Токены вы оплачиваете провайдеру напрямую, по его ценам, а подписка — только за сам сервис ревью. Подскажем, где взять ключ

  • Бесплатный

    Free

    Попробовать на одном репозитории

    0 ₽

    навсегда

    + модель ИИ по ценам вашего провайдера

    • 50 ревью — пробный лимит
    • 1 проект
    • Все возможности сервиса

    Только владелец

    без приглашения коллег

    Начать бесплатно
  • Индивидуальный

    Solo

    Один разработчик, свой репозиторий

    999 ₽

    в месяц

    НДС не облагается

    + модель ИИ по ценам вашего провайдера

    • 50 ревью в месяц
    • 1 проект
    • Все возможности сервиса

    Только владелец

    без приглашения коллег

    Выбрать
  • Команда

    TeamПопулярный

    Команда с ежедневным потоком MR

    4 990 ₽

    в месяц

    НДС не облагается

    + модель ИИ по ценам вашего провайдера

    • 300 ревью в месяц
    • до 3 проектов
    • Все возможности сервиса

    Команда без ограничений

    приглашайте коллег, раздавайте роли и доступ к проектам

    Выбрать
  • Бизнес

    Business

    Несколько команд и сервисов

    14 990 ₽

    в месяц

    НДС не облагается

    + модель ИИ по ценам вашего провайдера

    • 1 000 ревью в месяц
    • до 15 проектов
    • Все возможности сервиса

    Команда без ограничений

    приглашайте коллег, раздавайте роли и доступ к проектам

    Выбрать

Масштаб · Scale

Больше 1 000 ревью в месяц — разработка на десятках репозиториев

49 990 ₽

в месяц

НДС не облагается

+ модель ИИ по ценам вашего провайдера

  • 5 000 ревью в месяц
  • до 50 проектов

Команда без ограничений

приглашайте коллег, раздавайте роли и доступ к проектам

Выбрать

Одно ревью — запуск, дошедший до модели; пропуски, фильтры и сбои до запроса не считаются.

Вопросы

Частые вопросы

Где выполняется ревью?

В вашей инфраструктуре: Runner — контейнер, который запускается шагом вашего CI на каждый merge request; отдельный сервер не нужен. Он читает код, собирает контекст и обращается к модели сам.

Нужен ли доступ к нашему GitLab извне?

Нет. Runner работает внутри вашей сети и сам ходит в панель по HTTPS; панель к вам не подключается.

Какие модели подходят?

Любая модель с OpenAI-совместимым API: облачный провайдер или собственная инсталляция. Токены оплачиваются провайдеру напрямую.

Зачем ревью, если код уже написал ИИ?

Модель, которая писала код, проверяет его теми же допущениями, с которыми писала. Ревьюер другой модели их не разделяет и замечает то, что автору кажется очевидным. К тому же агент открывает merge request'ы быстрее, чем человек успевает их внимательно прочитать: Code Inspect проверяет каждый, а замечания агент может прочитать через MCP и исправить сам.

У меня нет ключа к модели. Где его взять?

Подойдёт любой провайдер с OpenAI-совместимым API. Если код не должен уходить за пределы России — Cloud.ru (модели с пометкой «Внутренняя») или Yandex AI Studio: регистрация и пополнение займут несколько минут. Можно развернуть модель и у себя. Агрегаторы вроде AITUNNEL тоже работают, но запросы через них уходят зарубежным провайдерам. Адрес и имя модели задаются в .env Runner'а.

Что считается одним ревью?

Запуск, дошедший до модели, — автоматический или по команде /review. Отфильтрованные события, пропуски и сбои до запроса к модели не тарифицируются.

Что будет, если модель недоступна?

Runner повторит запрос, при настроенном резерве переключится на второй провайдер, а если не выйдет — оставит в MR заметку о том, что ревью не завершено. Пайплайн не падает.

Первое ревью — сегодня

50 ревью бесплатно. Карта не нужна.

Начать бесплатно