Files
hermes-agent/website/docs/reference
kshitijk4poor d4178e0977 feat(gateway): add require_mention_channels for per-channel mention overrides
Adds a new `require_mention_channels` config key (and corresponding env
vars) across all 7 gateway platforms that have mention-gating. This is
the inverse of `free_response_channels` — channels listed here always
require @mention even when the global `require_mention` setting is false.

Use case: a user runs multiple channels, most with a single agent where
no mention is needed, but a few 'agent group' channels where mentions
make sense to avoid noise. Previously this required require_mention=true
globally and listing every non-group channel in free_response_channels.

Priority logic (highest wins):
1. DMs → always respond
2. Channel in free_response_channels → never require mention
3. Channel in require_mention_channels → always require mention
4. Global require_mention setting → fallback

Also refactors:
- Mattermost: inline os.getenv() → proper helper methods matching
  Discord/Slack pattern, adds config.yaml support via config.extra
- Matrix: cached __init__ vars → helper methods with config.extra
  support
- Mattermost config bridging: adds missing YAML→env bridging in
  gateway/config.py (was completely absent)

New env vars:
- DISCORD_REQUIRE_MENTION_CHANNELS
- SLACK_REQUIRE_MENTION_CHANNELS
- TELEGRAM_REQUIRE_MENTION_CHATS
- WHATSAPP_REQUIRE_MENTION_CHATS
- DINGTALK_REQUIRE_MENTION_CHATS
- MATTERMOST_REQUIRE_MENTION_CHANNELS
- MATRIX_REQUIRE_MENTION_ROOMS

Naming follows each platform's convention (channels/chats/rooms).
Fully backward compatible — empty by default, no behavior change.

Requested by community member neeldhara on PR #3664.
2026-04-22 10:39:08 +05:30
..