Рецензирование PR в GitHub (вебхук)
Настройте агента Hermes для рецензирования пул-реквестов GitHub через вебхук, чтобы комментарии по рецензии появлялись в PR через несколько секунд после его открытия, а повторные запросы касались только изменённых файлов.
Что понадобится
- Терминальная утилита (для
gh). - Пользовательский скилл для рецензирования.
- Маршрут вебхука в
config.yaml. - Публичная конечная точка с TLS.
Как применить
Всегда проверяйте подпись: поле secret в конфигурации маршрута должно совпадать с секретом вебхука GitHub, а шлюз проверяет X-Hub-Signature-256 перед отправкой запроса. Ограничьте маршрут конкретными событиями репозитория, чтобы неподписанные или неверные по репозиторию данные отклонялись сразу. Агент при этом продолжает работать с полными правами скилла, поэтому не подключайте вебхук-маршрут к скиллу, способному вносить изменения в код или закрывать задачи, если это не требуется.
Ограничьте маршрут конкретными событиями репозитория — неподписанные или неверные по репозиторию данные должны отклоняться сразу.
Агент продолжает работать с полными правами скилла. Не подключайте вебхук-маршрут к скиллу, способному вносить изменения в код или закрывать задачи, если это не требуется.
- Добавьте вебхук-маршрут в
config.yamlпод разделомplatforms.webhook.extra.routes:
platforms:
webhook:
extra:
routes:
github-pr-review:
secret: ${GITHUB_WEBHOOK_SECRET}
prompt: |
A PR event fired. Validate the payload, extract the PR
number and repo, run gh pr diff, review against the
pr-review skill, and post a review comment. If the
event is a synchronize, only re-review the newly
changed files.
skills: [pr-review]
- Сделайте шлюз доступным извне. Варианты: обратный прокси на вашем VPS (Caddy или nginx) с TLS перед портом шлюза, или сервис туннелирования для тестирования (Tailscale Funnel, Cloudflare Tunnel).
- В настройках репозитория GitHub → Вебхуки установите значение параметра Secret таким же, как в
GITHUB_WEBHOOK_SECRET, а в разделе Events выберитеPull requests(иPull request reviews, если нужно рецензирование ответов).
Подсказки: перед подключением к GitHub протестируйте маршрут с подписанным curl.
Протестируйте маршрут с подписанным curl перед подключением к GitHub:
BODY='{"action":"opened","pull_request":{"number":1},"repository":{"full_name":"YOUR_ORG/YOUR_REPO"}}'
SIG=$(echo -n "$BODY" | openssl dgst -sha256 -hmac "$GITHUB_WEBHOOK_SECRET" | awk '{print "sha256="$2}')
curl -X POST https://your-host/webhook/github-pr-review \
-H "Content-Type: application/json" \
-H "X-Hub-Signature-256: $SIG" \
-d "$BODY"
Источник: aliaihub/awesome-hermes-usecases и участники проекта. Лицензия: CC-BY-4.0. Лицензия исходного материала.
Перевод и редакционная адаптация: ClawCases.
>Ресурсы
>Похожие юзкейсы
Арбитр разрешения конфликтов слияния агентов
Разрешает конфликт слияния Git между ветками двух агентов в качестве беспристрастной третьей стороны: нейтральный арбитр, который принимает обе версии изменений и указанные намерения, после чего формирует итоговый результат слияния, не перезаписывая ни одну из сторон.
Трекер отчётности компаний на базе ИИ
Следите за сезоном корпоративной отчётности десятков технологических компаний без ручной проверки разных источников и запоминания дат каждого отчёта в сфере ИИ и технологий.
Персональная CRM с автоматическим поиском контактов
Автоматическое ведение персональной CRM с поиском контактов в почте и календаре, формированием утренних брифингов перед встречами и ответами на запросы по накопленной базе.