Yes, for different models per Discord area, use a multi-profile / multi-gateway setup.
Hermes profiles are isolated. Each profile has its own config, provider/model settings, memory, sessions, skills, and gateway state. So the clean setup is:
research profile → research Discord bot token → research channels → research model
coding profile → coding Discord bot token → coding channels → coding model
writing profile → writing Discord bot token → writing channels → writing model
You will need separate Discord bot tokens/keys for the separate active gateways. Do not run multiple active gateways against the same Discord bot token.
Then restrict each bot/profile to the channels it should answer in with discord.allowed_channels in that profile’s config.yaml, or DISCORD_ALLOWED_CHANNELS in that profile’s .env.
Example:
discord:
allowed_channels:
- 123456789012345678
- 987654321098765432
Hermes also supports discord.channel_prompts, but that only changes instructions/personality per channel. It does not switch the underlying model. For actual different models/providers per area, profiles + separate gateways is the right path.
For the reply-reference issue, reply_to_message: false is not the Hermes Discord setting. Use this instead:
discord:
reply_to_mode: "off"
Or in .env(legacy setting):
DISCORD_REPLY_TO_MODE=off
Then restart the gateway. If DISCORD_REPLY_TO_MODE is set in .env, it wins over config.yaml.
Be warned. Disabling this for multiple bots in one channel will cause infinite loops.
You must restart the gateway for these changes to take effect.
For the web UI, run:
hermes dashboard
Then open:
http://127.0.0.1:9119
Docs:
Discord:
https://hermes-agent.nousresearch.com/docs/user-guide/messaging/discord
Profiles:
https://hermes-agent.nousresearch.com/docs/user-guide/profiles
Web dashboard:
https://hermes-agent.nousresearch.com/docs/user-guide/features/web-dashboard
Docker dashboard:
https://hermes-agent.nousresearch.com/docs/user-guide/docker#running-the-dashboard