hermes-agent/skills
Teknium 206a449b29
feat(webhook): direct delivery mode for zero-LLM push notifications (#12473)
External services can now push plain-text notifications to a user's chat
via the webhook adapter without invoking the agent. Set deliver_only=true
on a route and the rendered prompt template becomes the literal message
body — dispatched directly to the configured target (Telegram, Discord,
Slack, GitHub PR comment, etc.).

Reuses all existing webhook infrastructure: HMAC-SHA256 signature
validation, per-route rate limiting, idempotency cache, body-size limits,
template rendering with dot-notation, home-channel fallback. No new HTTP
server, no new auth scheme, no new port.

Use cases: Supabase/Firebase webhooks → user notifications, monitoring
alert forwarding, inter-agent pings, background job completion alerts.

Changes:
- gateway/platforms/webhook.py: new _direct_deliver() helper + early
  dispatch branch in _handle_webhook when deliver_only=true. Startup
  validation rejects deliver_only with deliver=log.
- hermes_cli/main.py + hermes_cli/webhook.go: --deliver-only flag on
  subscribe; list/show output marks direct-delivery routes.
- website/docs/user-guide/messaging/webhooks.md: new Direct Delivery
  Mode section with config example, CLI example, response codes.
- skills/devops/webhook-subscriptions/SKILL.md: document --deliver-only
  with use cases (bumped to v1.1.0).
- tests/gateway/test_webhook_deliver_only.py: 14 new tests covering
  agent bypass, template rendering, status codes, HMAC still enforced,
  idempotency still applies, rate limit still applies, startup
  validation, and direct-deliver dispatch.

Validation: 78 webhook tests pass (64 existing + 14 new). E2E verified
with real aiohttp server + real urllib POST — agent not invoked, target
adapter.send() called with rendered template, duplicate delivery_id
suppressed.

Closes the gap identified in PR #12117 (thanks to @H1an1 / Antenna team)
without adding a second HTTP ingress server.
2026-04-19 05:18:19 -07:00
..
apple feat: secure skill env setup on load (core #688) 2026-03-13 03:14:04 -07:00
autonomous-ai-agents docs: fix stale hermes login references in hermes-agent skill (#10603) 2026-04-15 17:43:54 -07:00
creative chore(skills): touchdesigner-mcp follow-ups 2026-04-18 17:43:42 -07:00
data-science feat: restore ACP server implementation from PR #949 (#1254) 2026-03-14 00:09:05 -07:00
devops/webhook-subscriptions feat(webhook): direct delivery mode for zero-LLM push notifications (#12473) 2026-04-19 05:18:19 -07:00
diagramming refactor: reorganize skills into sub-categories 2026-03-09 03:35:53 -07:00
dogfood refactor: remove browser_close tool — auto-cleanup handles it (#5792) 2026-04-07 03:28:44 -07:00
domain refactor: reorganize skills into sub-categories 2026-03-09 03:35:53 -07:00
email feat: secure skill env setup on load (core #688) 2026-03-13 03:14:04 -07:00
feeds refactor: reorganize skills into sub-categories 2026-03-09 03:35:53 -07:00
gaming feat: add pokemon-player skill with battle-tested gameplay tips 2026-03-09 20:29:38 -07:00
gifs refactor: reorganize skills into sub-categories 2026-03-09 03:35:53 -07:00
github fix: five HERMES_HOME profile-isolation leaks (#10570) 2026-04-15 17:09:41 -07:00
index-cache Release set of skills 2026-02-25 05:21:17 -08:00
inference-sh feat(gateway): skill-aware slash commands, paginated /commands, Telegram 100-cap (#3934) 2026-03-30 10:57:30 -07:00
leisure/find-nearby fix(skills): use is None check for coordinates in find-nearby to avoid dropping valid 0.0 values 2026-04-15 03:45:09 -07:00
mcp skills: move 7 niche mlops/mcp skills to optional (#12474) 2026-04-19 05:14:17 -07:00
media docs: improve youtube-content skill structure and workflow 2026-04-03 22:18:00 -07:00
mlops skills: move 7 niche mlops/mcp skills to optional (#12474) 2026-04-19 05:14:17 -07:00
note-taking refactor: update Obsidian vault path handling 2026-02-25 20:24:51 -08:00
productivity fix(google-workspace): normalize authorized user token writes 2026-04-16 04:22:16 -07:00
red-teaming/godmode fix: five HERMES_HOME profile-isolation leaks (#10570) 2026-04-15 17:09:41 -07:00
research fix: stop hermes update from nagging about llm-wiki's wiki.path (#11222) 2026-04-16 13:34:16 -07:00
smart-home feat: secure skill env setup on load (core #688) 2026-03-13 03:14:04 -07:00
social-media feat(skills): replace xitter with xurl — the official X API CLI (#12303) 2026-04-18 15:11:32 -07:00
software-development refactor(skills): consolidate code verification skills into one (#4854) 2026-04-03 14:13:27 -07:00