Hermes on its own is a chat loop with file and terminal tools. The value shows up when you wire it to things: a place to run code safely, a chat app you already use, a schedule, and the wider ecosystem of skills other people have published. None of it needs a plugin SDK.

01. Where it runs code

seven backends, Docker for anything untrusted

Every command Hermes runs goes through a terminal backend. There are seven, and you pick per profile:

BackendUse it for
localyour own machine, full access, the default
dockera sandboxed container, code cannot touch the host
ssha remote box you own
daytona, modal, vercel-sandboxephemeral cloud sandboxes for throwaway work
singularityHPC and research clusters
hermes config set terminal.backend docker

The rule: if the agent is going to run code you did not write, or you have opened it to a messaging channel, put it in Docker. A container that gets wrecked is a rebuild, not an incident.

02. The messaging gateways

one gateway process, many channels

Hermes listens on Telegram, Discord, Slack, WhatsApp, Signal, Email, Microsoft Teams and Home Assistant at the same time, from a single gateway process. Set it up with one wizard:

hermes gateway setup     # pick a platform, paste a bot token, set the allowlist
hermes gateway status    # confirm it is connected and running

Two things to get right. The allowlist: a bot with terminal access that anyone can message is a liability, so never open it to everyone. And the home channel: run /sethome in the channel where you want scheduled results to land, or they go back to wherever the job was created.

03. Scheduling a job with cron

built in, no external scheduler

Hermes has its own cron. You describe the task in plain language; the schedule itself is cron syntax or an interval, not "every morning."

/cron add "<schedule>" "<prompt>" --name "<job>" --deliver <target>
# or from the shell:
hermes cron create "<schedule>" "<prompt>" --name "<job>" --deliver <target>
FieldWhat goes in it
schedulea delay (30m), an interval (every 2h), a cron expression (0 9 * * *), or an ISO timestamp
promptthe task, in plain language, fully self-contained
deliverorigin, local, telegram, discord, slack, or a chat id
/cron list                          # every job
/cron run <id>                       # run it now, to test
/cron edit <id> --schedule "every 4h"
/cron remove <id>

Part of the Hermes set

This is the integrations deep dive. Read the overview for the shape, the setup guide to install, the skill-loop guide for how it learns.

04. The self-contained-prompt rule

a cron job has amnesia

This is the one that catches everyone. A cron job runs in a fresh session with no memory of the chat you created it in. It does not know your name, your project paths, your preferences, or what "the usual report" means. Every URL, every instruction, every bit of context has to be in the prompt itself.

Test with /cron run <id> before you trust it. If it asks a clarifying question or guesses wrong, the prompt is missing something. Fix it and run again.

A useful pattern for monitoring jobs: tell the agent to reply with [SILENT] when nothing has changed. That suppresses the notification, so you only hear from the job when it actually has something.

05. A daily briefing, end to end

the docs' own example, made concrete

A morning briefing job pulls a few sources, formats them, and drops one message in your chat before you open your laptop.

/cron add "0 7 * * *" \
"Build my morning briefing. Include: today's weather for Chandigarh;
my Google Calendar events for today; the top 5 Hacker News posts
tagged AI; my unread GitHub notifications. Format as a single short
message with four headed sections. If a source fails, note it and
carry on." \
--name "Morning briefing" --deliver telegram

It combines web search, the calendar tool, scheduling, and messaging delivery, and none of it is code. The same shape covers a weekly team summary, an hourly price check, or an overnight batch job.

06. Posting to X without the paid API

a browser-driven MCP server

X's official API starts at 100 dollars a month, which is a lot for "post a tweet." The community answer is an MCP server that drives a logged-in browser session instead, so Hermes can post and read X for the cost of nothing. Setup is a few minutes: add the server, authorise it once against your account.

Treat any browser-automation integration the way you would a scraper. It works against the real site, it can break when the site changes, and heavy volume on one account draws attention. Fine for your own posting cadence, not for a firehose.

07. MCP servers and installed skills

two ways to add capability

Skills are markdown procedures Hermes loads on demand. You can install ones other people wrote from a few sources:

hermes skills install official/security/1password
hermes skills install openai/skills/k8s
hermes skills install https://example.com/SKILL.md --name my-skill

Sources include a built-in official tap, Vercel's public directory, direct GitHub repos, any site serving /.well-known/skills/index.json, and plain URLs. Every install is security-scanned. MCP servers are the other route: they give the agent live tools rather than instructions, and the same install path handles them. Composio, for example, exposes hundreds of SaaS APIs through one MCP connection.

08. The community directory

125-plus projects, maturity-tagged

The independent awesome-hermes-agent list is the map of the ecosystem. Worth knowing what is in it:

  • Memory backends that outlast the bounded default: hindsight, mem0, Mnemosyne, screenpipe.
  • Web surfaces if you do not want to live in a terminal: hermes-workspace, Hermes Studio, mission-control.
  • Deployment recipes: a minimal Docker sandbox, Nix builds, fleet control planes.
  • Skills for real jobs: incident response, multi-agent orchestration, Microsoft 365.

Every entry is tagged production, beta or experimental, so you can tell what is safe to lean on. Start with one memory backend and one surface, not ten. The where-it-pays-off guide is the last one in the set.

Sources and further reading

Source: github.com/NousResearch/hermes-agent ↗

// Free newsletter

I send out guides like this every week

Real setups, real sources, no hype. Drop your email and I'll send you the next one.