Hermes Bot Mode: Build Specialist Bots Without Mixing Their Memory (2026)
Hermes Bot Mode is not a separate agent framework. It is a desktop interface over profiles, giving each specialist isolated memory, skills, credentials, routines, and one persistent chat.
What Bot Mode actually changes
Bot Mode gives Hermes Desktop a roster of persistent specialists. Each row is a Hermes profile with its own role, model, memory, skills, credentials, chat history, avatar, and recurring routines.
The important detail is that a Bot is still a profile. There is no new storage format or second daemon. If a Bot is named research, the CLI opens the same agent with:
hermes -p research chat
Its routines also appear in hermes cron list. The desktop view and the CLI are two interfaces over the same state.
Why separate Bots beat one giant assistant
One all-purpose agent accumulates unrelated facts and procedures. A research workflow starts influencing code review; personal preferences enter business automation; a broad credential set becomes available to every task.
Profiles narrow that blast radius. A Hermes profile has its own config.yaml, .env, SOUL.md, memories, sessions, skills, cron jobs, and state database under ~/.hermes/profiles/<name>/. A finance Bot can have read-only finance credentials without inheriting GitHub access. A release Bot can know the deployment procedure without seeing personal messages.
The official profile guide gives one firm warning: never point two agent processes at the same profile. Both can write memory automatically, so their state compounds until neither is the agent you intended to configure.
A useful three-Bot starter team
Start with roles that have different access and success criteria:
| Bot | Owns | Access | Routine |
|---|---|---|---|
| Research | Sources and evidence notes | Web, read-only files | Morning topic brief |
| Builder | One repository and its tests | Repo-scoped terminal, Git | No autonomous deploy |
| Operator | Health checks and alerts | Read-only service APIs | Daily status report |
Do not create five Bots because five names look impressive. Create a new Bot when a role needs different credentials, memory, skills, or scheduled work.
Persistent Bot chats
Each Bot gets one canonical Bot Chat when it is created. Hermes treats it as a continuing relationship. In this chat, /new and /reset are redirected to compaction so the working context can shrink without abandoning the canonical conversation.
Regular sessions on the same profile can still branch freely. Use the Bot Chat for the durable operating thread and separate sessions for experiments you may discard.
Routines are cron jobs with a better interface
Bot routines are recurring tasks backed by Hermes cron. A research Bot might gather three source links each weekday; an operator Bot might check a service and report only failures.
Every proactive routine needs a delivery target. Run /sethome in the Telegram or Discord chat where results should arrive. Without a home channel, the automation can complete without producing a useful notification.
Keep routines bounded. A health check should run a deterministic command and report a state, not give an agent an open-ended instruction to “manage the server.” Review token use with /usage and the fixed prompt with hermes prompt-size before scheduling frequent jobs.
Group chats and Bot-to-Bot work
Bot Mode supports group chats where specialists can deliberate and direct messaging between Bots. This is useful when the handoff is explicit: Research gathers evidence, Builder implements against it, and Reviewer checks the resulting diff.
It is less useful when every Bot comments on every task. More participants mean more model calls, more duplicated context, and a harder audit trail. Use the smallest roster that covers genuinely separate work.
Four guardrails before you add credentials
- Give every Bot a separate profile. Isolation is the point of the feature.
- Use least-privilege credentials. A writing Bot does not need production AWS access.
- Gate memory and skill writes. Review what a Bot wants to make permanent.
- Keep deployment human-approved. Let a Builder prepare and test a release; keep the irreversible step explicit.
If a Bot is reachable through Telegram or Discord, also configure an allowlist or DM pairing. A messaging bot with terminal access should never be exposed with an allow-all setting merely to make setup easier.
Bot Mode or delegation?
Use a Bot when the role needs durable identity, memory, skills, credentials, or routines. Use delegate_task for a temporary independent subtask whose summary should return to the current conversation. Persistence is the boundary.
Official references
Related guides
Need OpenClaw fixed live?
Remote rescue sessions for gateway, auth, tunnel, VPS, and model access problems.
See Rescue Session