Учебное пособие: Создание агента для ревью PR на GitHub
Проблема: Ваша команда управляет PR быстрее, чем вы оцениваете их проверку. Пиар-неделими ждут, пока кто-то их посмотрит. Младшие разработчики сливают баги, потому что ни у кого нет времени проверять. Вы проводите утро за просмотром диффов вместо того, чтобы создать новое.
Решение: ИИ-агент, который круглосуточно следит за вашими репозиториями, каждый раз новый пиар на баги, проблемы безопасности и качества кода, а затем присылает вам сводку — так вы тратите время только на тот пиар, который действительно требует человеческого мышления.
В этом руководстве использовались cron-задачи для опроса PR по расписанию — не требуется сервер или публичная конечная точка. Работает с NAT и файрволами.
Запущенный шлюз для задачи cron:
bash
hermes gateway install # Установить как службу
# или
hermes gateway # Запустить в фоне
Установленный и аутентифицированный GitHub CLI (gh):
```bash
# Установка
brew install gh # macOS
sudo apt install gh # Ubuntu/Debian
# Аутентификация
gh auth login
``
- **Настроенные мессенджеры** (опционально) — [Telegram](/docs/user-guide/messaging/telegram) или [Discord](/docs/user-guide/messaging/discord)<div class="admonition admonition-tip"><p class="admonition-title">💡 Tip</p> Нет мессенджеров? Не проблема
Используйтеdeliver: "local", чтобы сохранить версию в~/.hermes/cron/output/`. Отлично подходит для тестирования перед подключением.
Шаг 1: Проверка настроек
Убедитесь, что Hermes может получить доступ к GitHub. Запустите чат:
Эти воспоминания остались навсегда — рецензент будет применять это соглашение без необходимости каждый раз напоминать.
Шаг 5: Создание автоматических задач cron
Теперь регионами всё вместе. которая создаёт cron-задачу, которая запускает женщин через 2 часа:
hermescroncreate"0 */2 * * *"\"Check for new open PRs and review them.Repos to monitor:- myorg/backend-api- myorg/frontend-appSteps:1. Run: gh pr list --repo REPO --state open --limit 5 --json number,title,author,createdAt2. For each PR created or updated in the last 4 hours: - Run: gh pr diff NUMBER --repo REPO - Review the diff using the code-review guidelines3. Format output as:## PR Reviews — today### [repo] #[number]: [title]**Author:** [name] | **Verdict:** APPROVE/REQUEST_CHANGES/COMMENT[findings]If no new PRs found, say: No new PRs to review."\--name"pr-review"\--delivertelegram\--skillcode-review
Проверьте, что задача запланирована:
hermescronlist
Другие полезные расписания
Расписание
Когда
0 */2 * * *
Каждые 2 часа
0 9,13,17 * * 1-5
Три раза в день, только будни
0 9 * * 1
Еженедельный обзор по понедельникам утра
30м
Каждые 30 минут (репозитории с высокой активностью)
Шаг 6: Запуск механизма
Не хотите ждать расписания? Запустите вручную:
hermescronrunpr-review
Или из сеанса чата:
/cron run pr-review
дальше шагов
Публикация обзора прямо на GitHub
Вместо доставки в Telegram пусть агент комментирует сам пиар:
Добавьте это в подсказку cron-задачи:
Afterreviewing,postyourreview:-Forissues:ghprreviewNUMBER--repoREPO--comment--body"YOUR_REVIEW"-Forcriticalissues:ghprreviewNUMBER--repoREPO--request-changes--body"YOUR_REVIEW"-ForcleanPRs:ghprreviewNUMBER--repoREPO--approve--body"Looks good"```:::осторожноУбедитесь, что у `gh` есть токен с областью `repo`. Ревью будет опубликовано от имени пользователя, под которым аутентифицирован `gh`.</div>### Еженедельная панель PRсделать обзор всех репозиториев в понедельник утром:```bashhermescroncreate"0 9 * * 1"\"Generate a weekly PR dashboard:- myorg/backend-api- myorg/frontend-app- myorg/infraFor each repo show:1. Open PR count and oldest PR age2. PRs merged this week3. Stale PRs (older than 5 days)4. PRs with no reviewer assignedFormat as a clean summary."\--name"weekly-dashboard"\--delivertelegram
Мониторинг нескольких репозиториев
Масштабируйте, добавляя больше репозиториев в подсказку. Агент обрабатывает их параллельно — никаких дополнительных настроек не требуется.
Устранение неполадок
"gh: команда не найдена"
Шлюз работает превосходным образом. Убедитесь, что gh находится в системном PATH, и перезапустите шлюз.
Ревью слишком общее
Добавьте навыки code-review (Шаг 3)
Обучите Гермеса соглашениям через память (Шаг 4)
Чем больше контекста на вашем столе, тем лучше обзор.
Cron-задача не запускается
hermesgatewaystatus# Запущен ли gateway?
hermescronlist# Включена ли задача?
Лимиты запросов
GitHub разрешает 5 000 запросов API в час для аутентифицированных пользователей. В каждом ревью PR используется ~3-5 запросов (список + дифф + опциональные дополнения). Даже проверка 100 PR в день Остается в пределах лимитов.
Что дальше?
Ревью PR на основе Webhook — получите мгновенные ревью при открытии PR (требуется публичный конечный пункт)