Skip to content

Hermes Agent platform plugin

Bringing Hermes Agent into the enterprise team chat

Rocket.Chat is the open source, self-hosted chat that organizations choose when their conversations must stay on their own servers. This adapter makes Hermes a safe colleague there: one bot for a whole team, default-deny commands, and approval buttons so a person decides on dangerous actions.

Try it locally Install on your server Watch the demo

Two people ask the bot at the same moment. Each answer quotes its question and mentions the asker.

Two people, one bot, the same moment: each answer quotes its question and mentions its asker.

750+tests in CI on two Hermes releases
0private Hermes imports
8.7 – 9.xRocket.Chat versions, one code path
0.22.3+Hermes Agent versions

See it working

An 89-second real run: a real Rocket.Chat, the real gateway and a real model. Nothing is staged.

ChatOps: a fix that waits for a human

A simulated outage in a sandbox: the service, its logs and the alert are staged; what Hermes does, the commands it runs and the approvals are not.

Why teams use it

  • Built for shared rooms


    Everyone gets their own session and room context. Answers quote the question and mention the asker, so concurrent conversations stay attributable.

    Sessions and context

  • Safe in front of many users


    Every /word is refused unless allowed, without asking Hermes what a command is. Dangerous actions wait for the person who asked to click. A message cannot attach the bot's files with @file:.

    Commands and approvals

  • Correct when things go wrong


    Duplicate suppression survives a restart. Missed mentions are replayed after a reconnect; after a restart the bot says what it missed, or answers it.

    Deployment

  • Transport only


    No agent tools, no business logic, no Hermes internals. Room access for the agent belongs in an MCP server, where it can be permissioned separately.

    Architecture

How it works

Rocket.Chat to the plugin's decide and build steps, a MessageEvent to Hermes Agent, the reply through the plugin's send step back to Rocket.Chat over REST.

The lighter boxes are the plugin. It only carries messages: sessions, the agent and approvals stay in Hermes. Cron delivery without a running gateway and the module layout are in Architecture.

A person decides on dangerous actions

A dangerous command waits for a click. Another person's click runs nothing; the click of the person who asked runs it.

Bob clicks Allow Once on Alice's request and nothing runs. Alice clicks, and the prompt records who answered.

Talking to the bot

In a room or thread In a one-to-one DM
A question @hermes when is the release? when is the release?
A Hermes command @hermes /new or @hermes !new !new or @hermes /new

Rocket.Chat clients never send an unknown /command, so mention the bot first or use !new, as on Hermes's Slack and Matrix adapters. Hermes's own prompts already show the form that works.

  • Try it in a few minutes


    One Compose file starts Rocket.Chat, Hermes Agent and this plugin, with a bot, two people and a room ready. No account or API key needed.

    Try it locally

  • Run it for your team


    A dedicated bot account, a personal access token, an explicit tool list and manual approvals.

    Install on your server

  • Or as a personal assistant


    One owner, DMs only, with sessions, model switching and scheduling open. Each person needs their own Hermes instance and bot account.

    Set up a personal assistant


Developed at ULX, an enterprise open source IT company. Licensed under Apache-2.0.