Hermes Agent webhook replies twice in one event, so don't suspect that the agent is crazy. The official webhooks documentation makes it clear: duplicate deliveries should be blocked by the idempotent cache of the delivery ID. If the source does not have a request ID such as X-GitHub-Delivery or X-Request-ID, Hermes deduplication is significantly weaker.
Check these items first
- Does your webhook source send a delivery ID header?
- Is the upstream service retrying itself, and the header changes every time?
- Whether you mistakenly think that "200 will not be reposted", in fact, some platforms will still retry due to timeouts or policies.
How to deal with the official now
The document says: delivery ID will be cached for 1 hour, and when hitting a repeat delivery, it will be skipped directly and return 200. In other words, what really needs to be added is the upstream request header, not the Hermes Agent logic first.
In a word: Webhook repeatedly reply, first check whether the delivery ID header is stable, then check upstream to retry, do not reinstall Hermes Agent first.
Official open source address: https://github.com/NousResearch/hermes-agent; Official document entry: https://hermes-agent.nousresearch.com/.