Hermes Agent Bot Mode — What It Is and Why I Didn't Use It
What is Bot Mode?
Bot Mode is a desktop app UI feature that turns Hermes profiles into a roster of named "Bots." Each Bot is just a Hermes profile — isolated config, memory, skills, credentials, and chat history — but with a visual management layer.
Key capabilities:
- Bots tab in the left sidebar shows all profiles as a roster with avatars, latest-message preview, and timestamps
- Click a Bot to land in its canonical "Bot Chat" — a forever conversation
that can't be accidentally forked by
/new(it reroutes to/compact) - Routines — recurring tasks (cron jobs) attached to each Bot, visible in a
docked pane. Named
[bot:<name>] <routine>and also appear inhermes cron list - Groups — put 2-6 Bots in a shared room where they coordinate. Your message triggers up to 3 serial rounds of member turns. Bots @mention each other and escalate to you with @user
- Bot-to-bot messaging — @mention a Bot from any chat to hand off work and get a reply back
- Avatars — geometric faces, uploaded images, AI-generated portraits, or pixel pets from the petdex gallery
- Create on remote machines — with multiple connections, you can create a Bot on a different machine from the desktop UI
A Bot IS a profile. There is no new primitive. Everything visible in Bot Mode
is also accessible via CLI: hermes -p <bot> chat, hermes cron list, etc.
How to Create a Bot
Via Desktop App (the intended way)
- Open Hermes Desktop
- Click the "Bots" tab in the left sidebar
- Click "New Agent"
- Fill in: Name, Title, Description
- Optionally open "Advanced" for: clone from existing profile, model/provider pin, custom SOUL.md, per-skill/toolset/MCP enablement
- Bot exists in seconds, introduces itself as first message of its Bot Chat
Via CLI (equivalent)
# Create a profile (this IS creating a Bot)
hermes profile create <name>
# Or clone from an existing one
hermes profile create <name> --clone-from coding
# Then chat with it
hermes -p <name> chat
# Set up a routine (cron job)
hermes cron create "0 9 * * *" --prompt "Summarize my inbox" --profile <name>
Why I Didn't Use It for Your Request
You asked for "a bot whose job is to create bots for different projects." I built
a Python script (project-manager.py) and a registry (projects.json) instead.
Here's why — and where the gap is:
What I built (project-manager.py)
- A Python script that creates Hermes profiles via
shutil.copytree - A JSON registry tracking project metadata (name, profile, repo, description)
- Integration with the session-finder to search across profiles
- CLI-only, no GUI, no avatars, no group coordination
What Bot Mode would have given you
- Visual roster of all project Bots with avatars and latest activity
- One-click access to any project's chat
- Routines pane showing each Bot's recurring tasks at a glance
- Group chats where project Bots can coordinate (e.g., "fichub Bot, talk to sysadmin Bot about deployment")
- Bot-to-bot messaging — hand work between specialists
- Remote creation — create a Bot on a different machine from the UI
The real answer
Bot Mode IS the "bot factory" you wanted. The desktop app's "New Agent" dialog is exactly the interface for creating project-specific Bots. I didn't know it existed because:
- It's a desktop app feature — I was operating from CLI context where Bot Mode doesn't have a visual presence
- It shipped recently — the docs describe it as "built into the desktop app and on by default," but the CLI skill I loaded didn't mention it
- I defaulted to scripts — when you said "bot," I thought you meant a programmatic tool, not the desktop UI's Bot management layer
What you should actually do
If you have the Hermes desktop app:
- Open it → Bots tab → New Agent
- Create a Bot per project (fichub, dotfiles, hermes, etc.)
- Each Bot gets its own SOUL.md with project-specific context
- Add Routines for recurring tasks (deploy checks, CI monitoring, etc.)
- Put related Bots in a group for coordination
If you're CLI-only (like this session):
hermes profile create <name>IS creating a Bothermes -p <name> chatIS talking to a Bothermes cron listshows all Bot routines- The project-manager.py script I built is a thin wrapper around the same underlying profile mechanism
The project-manager.py is still useful for
- Registry — tracking which profile maps to which project/repo
- Session finding — searching across all profiles for past work
- Batch creation — scripting multiple profile creations from the terminal
- Integration — the session-finder uses the registry to route searches
But the "bot creation" part is redundant with hermes profile create / the
desktop app's New Agent dialog. I should have pointed you there first.
Summary
| Feature | Bot Mode (Desktop) | project-manager.py (CLI) |
|---|---|---|
| Create Bot/Profile | ✅ GUI wizard | ✅ shutil.copytree |
| Visual roster | ✅ Avatars, previews | ❌ text list |
| Routines (cron) | ✅ Docked pane | ⚠️ separate hermes cron |
| Group coordination | ✅ Multi-Bot rooms | ❌ |
| Bot-to-bot messaging | ✅ @mentions | ❌ |
| Session search | ❌ | ✅ Cross-profile finder |
| Project registry | ❌ (metadata in profile) | ✅ JSON registry |
| Remote creation | ✅ Multi-machine | ❌ |
| CLI access | ✅ hermes -p <name> |
✅ Same |
Bottom line: Bot Mode is the first-class way to manage project Bots in Hermes. The script I built complements it with CLI registry + session search, but shouldn't have been positioned as the primary "bot factory."