Nous ResearchHermes Agent
Deploy Now

Set Up Multiple Hermes Agents on One Machine

Run multiple Hermes agents with different personalities, skills, and channels — each with isolated memory.

Running multiple Hermes agents lets you separate concerns — a personal agent with your private context, a work agent connected to your company Slack, a community agent for your Discord. Each has isolated memory and channels.

Before you start:

  • Hermes Agent installed
  • Enough server resources: each agent needs at least 256MB RAM
  • Separate bot tokens for each agent's messaging channels

Steps

  1. 1

    Plan your agents

    Decide how many agents you need and their roles (personal, work, community, etc.)

  2. 2

    Create separate configs

    Create config files for each: config-personal.yaml, config-work.yaml, etc.

  3. 3

    Isolate data directories

    Set different dataDir: paths in each config to keep memory and skills separate

  4. 4

    Assign different channels

    Each agent gets its own Telegram bot, Discord bot, or Slack app

  5. 5

    Start each agent

    hermes start --config config-personal.yaml for each agent, or use PM2 ecosystem file

  6. 6

    Monitor all agents

    Use pm2 list to see all running agents and their status

Pro Tips

  • 💡Use Hermes profiles (v0.6.0+) instead of separate configs for the cleanest isolation — 'hermes profile create work' sets up a fully isolated environment
  • 💡Name your PM2 processes clearly: 'pm2 start hermes --name hermes-personal -- --profile personal'
  • 💡Each profile gets its own web UI port — document these to avoid confusion when connecting channels

Troubleshooting

Two agents interfere with each other's memory

Check that 'dataDir' is set to different paths in each config. By default both use ~/.hermes/ — override this explicitly for each agent.

Can't tell which agent is which in Telegram

Give each bot a distinct name and profile picture in @BotFather. Use the bot's display name to distinguish them when messaging.

Port conflict when starting a second agent

Each Hermes instance needs its own web UI port. Set 'web: port: 3001' for the second agent. Check for conflicts with 'ss -tlnp | grep 300'.

Related Guides