Übersicht
hermes webhook erstellt, listet und entfernt dynamische Webhook-Abonnements für die ereignisgesteuerte Agent-Aktivierung. Jedes Abonnement stellt eine Webhook-Route bereit; wenn ein externer Dienst per POST darauf zugreift, validiert Hermes die Anfrage und führt entweder den Agenten mit einem gerenderten Prompt aus oder liefert die Nachricht direkt an eine Chat-Plattform.
hermes webhook <subscribe|add|list|ls|remove|rm|test>
add, ls und rm sind Aliase für subscribe, list und remove.
Unterbefehle
subscribe (Alias add) — Ein Webhook-Abonnement erstellen
hermes webhook subscribe <name> [Optionen]
<name> ist der Routenname, der in der URL verwendet wird: /webhooks/<name>.
| Option | Beschreibung |
|---|---|
--prompt PROMPT |
Prompt-Vorlage mit {dot.notation}-Payload-Referenzen. |
--events EVENTS |
Kommagetrennte Ereignistypen, die akzeptiert werden. |
--description DESCRIPTION |
Was dieses Abonnement tut. |
--skills SKILLS |
Kommagetrennte Skill-Namen, die für den Agent-Lauf geladen werden. |
--deliver DELIVER |
Zustellziel: log, telegram, discord, slack usw. |
--deliver-chat-id ID |
Ziel-Chat-ID für die plattformübergreifende Zustellung. |
--secret SECRET |
HMAC-Geheimnis (wird bei Auslassung automatisch generiert). |
--deliver-only |
Den Agenten überspringen — den gerenderten Prompt direkt als Nachricht zustellen. Null LLM-Kosten. Erfordert, dass --deliver ein echtes Ziel ist (nicht log). |
--script SCRIPT |
Filter-/Transformationsskript unter ~/.hermes/scripts/. Der Payload der Route wird als JSON über stdin übergeben; leere stdout-Ausgabe, [SILENT] oder ein Exit-Code ungleich 0 ignorieren den Webhook. |
list (Alias ls) — Alle Abonnements auflisten
hermes webhook list
remove (Alias rm) — Ein Abonnement entfernen
hermes webhook remove <name>
test — Einen Test-POST senden
hermes webhook test <name>
hermes webhook test <name> --payload '{"issue": {"number": 42}}'
Sendet einen Test-POST an die Webhook-Route des Abonnements. --payload ersetzt den Standard-Test-Payload durch benutzerdefiniertes JSON.
Beispiele
# GitHub-Issues abonnieren und gerenderte Zusammenfassungen an Telegram liefern
hermes webhook subscribe github-issues \
--events "issues" \
--prompt "New issue #{issue.number}: {issue.title}" \
--deliver telegram \
--deliver-chat-id "-1001234567890" \
--description "Triage new GitHub issues"
# Reine Benachrichtigung ohne LLM-Kosten
hermes webhook subscribe critical-alerts \
--prompt "🚨 {service} critical: {metric}" \
--deliver telegram --deliver-chat-id "-1001234567890" --deliver-only
# Lebenszyklus
hermes webhook list # Alle Abonnements prüfen
hermes webhook test github-issues # Vor der Nutzung testen
hermes webhook rm github-issues # Unbenutzte Abonnements aufräumen
Tipps
subscribe/add,list/lsundremove/rmsind austauschbare Aliase.- Für jedes Abonnement wird automatisch ein eindeutiges HMAC-Geheimnis generiert, sofern du kein
--secretübergibst. - Verwende
--deliver-onlyfür reine Benachrichtigungen: keine LLM-Kosten, kein Agent-Lauf. - Verwende
--script, um Payloads zu filtern oder zu transformieren, bevor sie den Agenten erreichen. - Teste ein Abonnement immer mit
hermes webhook test, bevor du dich darauf verlässt.