Try it locally¶
A local Rocket.Chat, Hermes Agent and this plugin, wired together by Docker Compose. A bot, two people (alice and bob) and a room (#hermes-demo) are created for you. Everything listens on 127.0.0.1 only.
What you need
Docker with Compose. The first start downloads the Rocket.Chat, MongoDB and Hermes images, so it takes a few minutes.
Start¶
From a checkout of the repository:
git clone https://github.com/csabatatrai-ulx/hermes-rocketchat-team-gateway
cd hermes-rocketchat-team-gateway
docker compose -f try/compose.yaml up -d
python3 try/check.py
It starts with a scripted demo model: no account, no API key. It is not AI; it answers with fixed text, and asks to run a terminal command when you ask it to delete something. Everything around the model is real: the plugin, Hermes, Rocket.Chat, the command guard and the approval buttons.
try/check.py checks them end to end and exits non-zero if any check fails (Python 3, standard library only, about 15 seconds once the bot is up; on the first start it first waits a minute or two for the bot to connect):
PASS a mention gets an answer that quotes the question and mentions the asker
PASS two people at once: each answer quotes its own question and mentions its own asker
PASS /yolo is refused over chat, without reaching the model
PASS a dangerous command waits for approval, with buttons on the prompt
PASS another person's approval runs nothing
PASS the asker's approval runs the command
PASS a direct message needs no mention
7 / 7 passed
Then choose a real model:
# sign in to Nous Portal and pick a model; it replaces the demo model
docker compose -f try/compose.yaml exec -u hermes hermes hermes portal
docker compose -f try/compose.yaml restart hermes
Free-tier models can be slow: one took two minutes for a single reply in our test. meituan/longcat-2.5:free answered in 3 to 12 seconds, approval prompt included (tested 2026-11-11), so pick that one when asked for a model.
Use¶
Open http://localhost:3000 and sign in as alice, password hermes-demo. Sign in as bob in a private window to be the second person.
Try this in #hermes-demo |
What happens |
|---|---|
@hermes when is the release? as alice and bob at once |
Each gets their own answer, quoting the question |
@hermes please delete the old build (demo model) or @hermes run rm -rf /tmp/old-build with the terminal tool (real model) |
A prompt with buttons; only the asker's click runs it |
@hermes /yolo on |
Refused, with no model call |
@hermes !new |
A confirmation with buttons |
A direct message to hermes |
No mention needed |
The terminal tool runs inside the Hermes container only.
Stop¶
Notes¶
- Another port:
TRY_PORT=3300 docker compose -f try/compose.yaml up -d, then open http://localhost:3300. - Your own changes: the plugin is mounted read-only from the checkout, so a change is live after
docker compose -f try/compose.yaml restart hermes. - Not for production: the demo passwords and settings are for this local stack only. For a real server, see Install on your server.