🤖HermesBlog
Практические Руководства Hermes · Часть 118/9/2026

GitHub PR Review Bot

GitHub PR Review Bot — понятное руководство на основе официальной документации

Представьте, что у вас есть неутомимый коллега, который проверяет каждый pull request в ту же секунду, как он появляется, — без перерывов на кофе и без «сделаю позже». Именно такого бота вы можете создать с помощью Hermes Agent.

guide-github-pr-review

Что мы создаём

Бота, который следит за вашими GitHub-репозиториями и автоматически проверяет новые pull request. Когда кто-то открывает PR, бот подключается, изучает diff и оставляет комментарии — всё через WeChat, так что вы видите ревью прямо в своём мессенджере.

Шаг 1: Подготовьте WeChat-шлюз

Сначала нужно подключить Hermes к WeChat. Для этого используется iLink Bot, который позволяет получать и отправлять сообщения без запуска собственного сервера.

# Установка Hermes Agent
pip install hermes-agent

# Настройка WeChat-адаптера
hermes gateway setup

Вам покажут QR-код — отсканируйте его в WeChat, чтобы войти. Учётные данные сохранятся автоматически.

Шаг 2: Настройте бота

Создайте файл config.yaml и добавьте настройки WeChat:

platforms:
  weixin:
    extra:
      account_id: your-account-id
      dm_policy: open

Теперь добавьте интеграцию с GitHub. Вам понадобится персональный токен доступа GitHub:

integrations:
  github:
    token: your-github-token
    repos:
      - your-username/your-repo

Шаг 3: Напишите логику ревью

Создайте простой скрипт, который срабатывает на новые PR:

from hermes import Agent

agent = Agent()

@agent.on("github.pull_request.opened")
async def review_pr(event):
    pr = event.pull_request
    diff = await pr.get_diff()
    
    # Простая проверка: помечаем большие PR
    if len(diff.splitlines()) > 500:
        await pr.comment("⚠️ Этот PR довольно большой. Подумайте о том, чтобы разбить его на части.")
    
    # Проверяем наличие тестов
    if "test" not in diff.lower():
        await pr.comment("На заметку: изменений в тестах не обнаружено.")

Шаг 4: Запустите шлюз

hermes gateway

Готово! Ваш бот теперь работает. Когда кто-то открывает PR, он автоматически оставляет комментарии в PR и отправляет вам уведомление в WeChat.

Почему это круто

  • Никаких вебхуков и серверов — Hermes использует long-polling к GitHub, так что публичный endpoint не нужен
  • Умная обработка сообщений — длинные ревью остаются в одном сообщении, а не разбиваются на куски
  • Индикаторы набора текста — вы видите «печатает…» в WeChat, пока бот работает
  • Встроенные повторы — временные ошибки не роняют вашего бота

Итоги и совет от профи

Вы только что собрали бота для ревью PR, который работает через WeChat и не требует никакой инфраструктуры. Начните с простого — помечайте большие PR, проверяйте наличие тестов или напоминайте про обновление changelog.

Практический совет: начните с одной проверки (например, с детекции тестов, как выше). Погоняйте неделю, посмотрите, что реально нужно вашей команде, и только потом добавляйте новые правила. Бот, который делает три вещи хорошо, лучше, чем тот, который пытается охватить всё и всех раздражает.

📖 Официальная документация

Эта статья основана на официальной документации Hermes Agent :Официальные документы › guides/github-pr-review-agent