hermes-agent/website/docs/guides
Teknium e4aeb65599 feat(webhook): per-route toolset overrides for webhook agent runs
Webhook agent runs default to the constrained hermes-webhook toolset
(web/vision/clarify) because payloads can carry untrusted third-party
content. That default is right for public webhooks but wrong for trusted
local pushes (e.g. an OOM monitor daemon that needs the agent to run
ps/free/py-spy): the only workaround was widening platform_toolsets.webhook,
which elevates EVERY webhook route at once.

This adds a 'toolsets' key on individual webhook route configs (static
routes in config.yaml and dynamic subscriptions in
webhook_subscriptions.json) that replaces the platform-level resolution
for that route only:

- BasePlatformAdapter.toolsets_for_source(): per-source override hook,
  default None (no behavior change for any other platform).
- WebhookAdapter.toolsets_for_source(): maps the session chat_id
  (webhook:{route}:{delivery_id}) back to its route config and returns
  the route's toolsets list.
- GatewayRunner._resolve_enabled_toolsets_for_source(): shared resolver
  used by both agent-run call sites; validates the override through the
  SAME _get_platform_tools path as platform config, so unknown names and
  platform-restricted toolsets (e.g. discord_admin) are dropped rather
  than trusted.

Deliberately NOT exposed via 'hermes webhook subscribe': granting elevated
tools is a manual config edit only, so an agent-created subscription
cannot self-grant terminal at runtime.

Cache-safe: the toolset list is resolved before agent construction and is
constant for a route, so the per-session agent signature and frozen system
prompt are unaffected mid-conversation.
2026-08-13 01:51:19 -07:00
..
_category_.json
…
agent-email-address.md docs: DX sweep — 7 verified-absent documentation items 2026-08-07 08:58:08 -07:00
automate-with-cron.md docs(gateway): document exact silence tokens (#46105) 2026-06-14 04:37:18 -07:00
automation-blueprints.md docs: accuracy sweep + coverage for 2 months of shipped features 2026-07-29 08:48:05 -07:00
aws-bedrock.md docs: accuracy sweep + coverage for 2 months of shipped features 2026-07-29 08:48:05 -07:00
azure-foundry.md
…
cron-script-only.md docs: fold in remaining live fixes from overnight-sweep PR cluster 2026-07-29 09:45:11 -07:00
cron-troubleshooting.md docs: fix 25 documentation/code inconsistencies (audit round 3) 2026-07-16 04:47:40 -07:00
daily-briefing-bot.md
…
delegation-patterns.md feat(delegation): let subagents use execute_code (#69325) 2026-07-22 06:58:45 -07:00
desktop-native-signin.md feat(dashboard-auth): RFC 8252 native desktop sign-in (system browser + PKCE, no webview/cookies) 2026-07-22 06:50:50 -07:00
github-pr-review-agent.md docs: Plugins subcategory under Extending + secret-source plugin guide + 1Password sidebar fix (#59613) 2026-07-06 12:11:31 -07:00
google-gemini.md feat(providers): remove google-gemini-cli + google-antigravity OAuth providers (#50492) 2026-06-21 19:53:27 -07:00
google-vertex.md rip out brew + pip/PyPI wheel support (#68217) 2026-07-22 16:51:01 -04:00
local-llm-on-mac.md docs: explain the slow silent first turn (prefill) on local hardware 2026-08-05 21:33:44 +05:30
local-ollama-setup.md docs: align Ollama tool-calling guidance 2026-08-08 20:21:30 -07:00
microsoft-graph-app-registration.md
…
migrate-from-openclaw.md docs: teach providers: dict as the canonical custom-provider format 2026-07-29 09:44:59 -07:00
minimax-oauth.md docs: accuracy sweep + coverage for 2 months of shipped features 2026-07-29 08:48:05 -07:00
oauth-over-ssh.md docs: accuracy sweep + coverage for 2 months of shipped features 2026-07-29 08:48:05 -07:00
operate-teams-meeting-pipeline.md
…
pipe-script-output.md docs: reconcile docs with code across last 3 releases (#54254) 2026-06-28 12:47:50 -07:00
python-library.md feat: raise default tool-calling iteration limit from 90 to 500 2026-07-26 12:54:45 -07:00
run-hermes-with-nous-portal.md docs: accuracy sweep + coverage for 2 months of shipped features 2026-07-29 08:48:05 -07:00
run-nemotron-3-ultra-free.md feat(auth): make xAI Grok OAuth device-code-only, drop loopback login 2026-07-02 13:17:41 -07:00
secure-hermes-on-a-work-machine.md docs: add security-posture guide for running Hermes on a personal or work machine 2026-08-05 21:33:44 +05:30
team-telegram-assistant.md docs: fix 25 documentation/code inconsistencies (audit round 3) 2026-07-16 04:47:40 -07:00
tips.md docs: surface existing answers users can't find (migration, prompt-size, tool-call parsing, Desktop label) 2026-08-05 21:33:44 +05:30
troubleshooting-agent-quality.md docs: add troubleshooting checklist for perceived agent-quality regressions 2026-08-05 21:33:44 +05:30
use-mcp-with-hermes.md docs: add Open Scaffold MCP workflow 2026-06-20 20:42:49 -07:00
use-soul-with-hermes.md
…
use-voice-mode-with-hermes.md feat(voice): add configurable TUI draft submission 2026-08-12 16:42:07 -07:00
webhook-github-pr-review.md feat(webhook): per-route toolset overrides for webhook agent runs 2026-08-13 01:51:19 -07:00
work-with-skills.md feat(config): add get and unset commands 2026-07-16 05:44:43 -07:00
xai-grok-oauth.md feat(auth): make xAI Grok OAuth device-code-only, drop loopback login 2026-07-02 13:17:41 -07:00