hermes-agent/website
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
..
docs feat(gateway): add require_mention_channels for per-channel mention overrides 2026-04-22 10:39:08 +05:30
scripts fix(website): run skill extraction automatically on npm run build/start (#13747) 2026-04-21 18:02:04 -07:00
src fix: light mode link/primary colors unreadable on white background (#10457) 2026-04-15 11:17:44 -07:00
static docs: stabilize website diagrams 2026-03-14 22:49:57 -07:00
.gitignore chore: gitignore generated skills.json 2026-04-02 10:48:15 -07:00
docusaurus.config.ts docs(site): disable highlightSearchTermsOnTargetPage to keep URLs clean (#12661) 2026-04-19 11:56:34 -07:00
package-lock.json docs: stabilize website diagrams 2026-03-14 22:49:57 -07:00
package.json fix(website): run skill extraction automatically on npm run build/start (#13747) 2026-04-21 18:02:04 -07:00
README.md docs: replace ASCII diagrams with Mermaid/lists, add linting note 2026-03-21 17:58:30 -07:00
sidebars.ts docs(plugins): rename disk-guardian to disk-cleanup + bundled-plugins docs 2026-04-20 04:46:45 -07:00
tsconfig.json feat: add documentation website (Docusaurus) 2026-03-05 05:24:55 -08:00

Website

This website is built using Docusaurus, a modern static website generator.

Installation

yarn

Local Development

yarn start

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Build

yarn build

This command generates static content into the build directory and can be served using any static contents hosting service.

Deployment

Using SSH:

USE_SSH=true yarn deploy

Not using SSH:

GIT_USER=<Your GitHub username> yarn deploy

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the gh-pages branch.

Diagram Linting

CI runs ascii-guard to lint docs for ASCII box diagrams. Use Mermaid (````mermaid`) or plain lists/tables instead of ASCII boxes to avoid CI failures.