You put Hermes on a VPS. Here are 3 things you probably got wrong.
Installing Hermes on a VPS takes twenty minutes, and once it answers on Telegram you think you're done. I thought so too. After a few months on a small Hetzner server, most of it only worked once I fixed three things.
1. Your agent can't really search the web
You ask about last week, and either the search breaks or the agent answers from old training data and sounds sure of itself. So people stop asking it to research, which wastes half the point of an agent running all day.
You need a proper search backend. Firecrawl and Tavily both have a free plan with 1,000 credits a month.
I started with Firecrawl. Then my morning job scan ran 22 searches and only 1 came back. A Firecrawl search costs 2 credits and the free plan is heavily rate limited. On Tavily a search costs 1 credit with fewer limits, and the first run got 22 out of 22. Tavily is now my main backend, with Firecrawl as the fallback.
2. You only talk to it through Telegram
Telegram is fine for "remind me at 6". But everything piles into one long thread, so going back to an older conversation or keeping two topics apart is a mess.
I use Hermes WebUI (mine is called hermex). It has separate sessions I can jump between, I can watch the agent work, and files show up properly.
Only my own devices can reach it, through Tailscale, so it's not on the public internet. I added it to my iPhone home screen from Safari, and it opens like a normal app.
3. One agent is doing every job
Hermes loads its memory into every conversation, and that memory has a size limit. After a few weeks of coding, mine was full of repo paths and old bugs, and the things that matter (who I am, how I work) were getting pushed out.
So I split it up. My main agent is my personal assistant and never writes code. Forge is a developer agent with its own memory.
I never talk to Forge. My main agent puts a brief on Hermes's shared task board, and when Forge finishes, it sends me the result.
Quill does the same for writing. For this post I jotted down notes in simple words, Quill turned them into a draft, and I changed what didn't sound like me. The thinking and the experience are mine; Quill does the tidying.
4. Optional, for Mac users: mount the server in Finder
Everything your agent writes sits on the server. With SSHFS it shows up in Finder like a USB drive. This post is a file in that folder right now.
Let your agent set it up
Paste this into your Hermes and it will walk you through every step, asking before it touches anything.
Help me set up my Hermes. Rules:
- Go one step at a time and check your work after each step.
- Ask me before you change any config or install anything.
- Never print secrets (API keys, passwords, tokens).
- When you need a key, a password or an approval, stop and ask me.
Step 1: Web search
Tell me to get a free key at tavily.com (and optionally one at firecrawl.dev as a fallback). Save TAVILY_API_KEY in ~/.hermes/.env. Set web.search_backend and web.extract_backend to tavily with `hermes config set`, not by editing config.yaml. Test with a real search about something from this week.
Step 2: WebUI on my phone
Clone https://github.com/nesquena/hermes-webui into a folder I choose. Bind it to 127.0.0.1 only and set a password. Run it as a systemd service so it survives reboots. Expose it privately with `tailscale serve`, never to the public internet. Then tell me to open the URL in Safari on my iPhone and use Share > Add to Home Screen.
If `hermes update` breaks it with "ModuleNotFoundError: No module named 'api'", set HERMES_DISABLE_LAZY_INSTALLS=1 and point HERMES_WEBUI_PYTHON at Hermes's managed Python in the service. Save that fix as a skill.
Step 3: Specialist profiles
Create a dev profile with `hermes profile create forge --clone --description "..."`. Offer me a writing one too, like quill. Give each its own trimmed memory. Add to your own memory that coding tasks go to forge via `hermes kanban create "<title>" --assignee forge --body "<context>" --workspace dir:<repo>`, plus `hermes kanban notify-subscribe <id> ...` so you're woken with the result. Run a tiny smoke-test task to prove the handoff works.
Step 4 (optional, Mac only)
You can't reach my Mac, so print these for me to run myself:
- brew install --cask macfuse
- brew install gromgit/fuse/sshfs-mac
- a Host alias in ~/.ssh/config
- the sshfs mount command with -o reconnect,ServerAliveInterval=15,defer_permissions
- a LaunchAgent with KeepAlive for auto-remount
When you're done, give me a short summary of what's done and what's left.That's it
The installer gives you an agent that replies. With these fixes it finds things, works from my phone and remembers who I am.
What did you have to fix in yours?