Introduction
OpenClaw made self-hosted AI agents accessible. Hermes Agent goes one step further with a built-in learning loop — an agent that creates new skills from your conversations, persists memories intelligently, and improves at the work you actually do as you use it. If you’re running a single primary agent for personal automation (briefings, reminders, research, messaging), Hermes is arguably the cleaner choice; OpenClaw remains stronger for multi-channel, multi-agent setups.
This is a full setup tutorial: choosing where to run Hermes safely, installing it on a Hostinger VPS with the one-click template, wiring it up to Telegram, OpenAI Codex, and Firecrawl for web search, adding voice, scheduling cron jobs, and the security guardrails to keep an autonomous agent from nuking your life. By the end you’ll have a Hermes bot you can talk to from your phone that runs 24/7 and gets smarter every week.
📚 Table of contents
- What Hermes Agent is and how it differs from OpenClaw
- Hardware choice: VPS or local machine
- One-click install on Hostinger
- Manual install on Linux / Mac / WSL
- Connecting a model provider
- Wiring up Telegram (or Slack / Discord)
- Securing the bot with allowed user IDs
- Adding Firecrawl for web search
- Voice mode (in and out)
- Cron jobs and the daily-briefing pattern
- The self-improving skills loop
- Best practices and security
- Common mistakes
- Frequently asked questions
🔁 Hermes vs OpenClaw
Both are open-source self-hosted agents that run on your hardware, both call tools, both work with multiple model providers. The decisive differences:
Hermes Agent
- Built-in self-improving learning loop
- Creates new skills from conversations automatically
- Smarter long-term memory model
- Strong fit for one primary personal agent
- Built by NOA Research
OpenClaw
- More mature multi-agent support
- Wider channel and tool ecosystem
- Better for advanced orchestration
- Memory drifts more over long sessions
- Easier to extend with custom MCPs
🖥️ Where to run Hermes
Hermes has full computer access — it can open browsers, run shell, delete files, create directories. Security matters. Two viable choices:
Recommended: VPS (Hostinger or any provider)
- Cheap, disposable, runs 24/7
- Isolated from your real machine and personal data
- One-click template available on Hostinger for instant setup
- Survives power outages, theft, accidental laptop sleep
Alternative: local machine (Mac mini, dedicated laptop)
- Best for running local models alongside
- Higher upfront cost, lower ongoing
- Use a dedicated user account with no access to your sensitive data
- Don’t run it on your daily-driver machine
⚡ One-click install on Hostinger
- Pick a Hostinger VPS plan — KVM 2 is a sweet spot for cost and performance.
- Pick duration (12+ months unlocks promo discounts).
- Optionally enable daily auto-backups.
- Choose server location closest to you.
- Pick the “Hermes Agent” one-click template when prompted.
- Note the admin username (default
hermes) and password — you can recover the password later from the VPS environment variables. - Once deployed, open the Docker manager and click into the Hermes container’s web terminal.
⌨️ Manual install (Linux / Mac / WSL / Android)
If you prefer your own server, grab the curl install command from the Hermes Agent docs. The interactive setup that runs afterwards is identical to the one-click flow.
- Linux, Mac, WSL on Windows: one curl command
- Android via Termux: a slightly different command (in docs)
- Both drop you into the same interactive configurator
🧠 Pick a model provider
Inside the configurator, pick Quick setup, then a provider. Strong options:
- OpenAI Codex (GPT 5.4 / 5.5): best value if you already have ChatGPT Pro at $200/month
- Anthropic Claude: excellent for nuanced agent tasks
- Minimax M2.x: cost-effective for high-volume use
- Local via Ollama: free, private, slower
Authorize the provider (paste the OAuth code or API key), pick a model, and move on. You can add more
providers later through hermes setup.
📱 Wiring Telegram (Slack / Discord similar)
Telegram is the easiest first channel. Slack and Discord require creating a bot app first.
- In Telegram, search @BotFather (the official verified one).
- Send
/newbot. - Give it a display name and a username ending in
_bot. - Copy the bot token BotFather replies with.
- Back in Hermes setup, paste the token where prompted.
- Get your user ID: in Telegram, message @userinfobot, send
/start, copy your ID. - Paste your user ID as the allowed user(s). Multiple IDs comma-separated if needed.
- Confirm your ID as the home channel.
⚠️ Always set at least one allowed user ID. Leaving it blank means anyone on Telegram can message your bot and trigger actions on your VPS. This is a serious security issue.
🚪 Starting the gateway
The Telegram bot won’t respond until the gateway is running. Two-step boot:
- Test locally first — the configurator drops you into the TUI. Say “hello world”, confirm you get a reply.
Ctrl+Cout of the TUI.- Run
hermes gateway— this starts message bridging. - Open Telegram, find your bot, click Start, send a message.
- The bot replies. You’re live.
🔥 Adding Firecrawl for web search
Without web search, the bot only knows what its model was trained on. Firecrawl is the easiest to wire up.
- Sign up at firecrawl.dev (free tier).
- Generate an API key.
- In Hermes:
hermes config set firecrawl_api_key <your_key> - Copy the Firecrawl skill markdown from their docs.
- Message the bot: “Create this skill: [paste skill markdown]”.
- Test: “Search for [topic] and give me the first result.”
🎙️ Voice mode
Voice in and voice out. The bot transcribes your audio, processes it, and replies in audio. Setup is two commands the agent can run for you:
- From Telegram, tell the bot to run
pip install hermes-agent[all]. - Tell it to install the OS-specific system deps from the Hermes docs (apt or brew commands).
- Send a voice message in Telegram — bot replies in voice.
By default Hermes uses local speech-to-text and text-to-speech — no extra paid APIs. You can swap in ElevenLabs, Groq, or OpenAI Whisper if you want premium quality.
⏰ Cron jobs and the daily briefing
Most of the long-term value comes from scheduled tasks. The pattern: do it once interactively, then schedule it.
Example flow
- “Research the top three trending AI topics today and summarize them.”
- Review the output, tweak the prompt or template.
- “Run this every day at 9 AM, EST.”
- Hermes sets up a cron job behind the scenes, no commands needed from you.
Repeat the pattern for any recurring task — gym reminders, Google Drive summaries, ad-spend reports, content briefs. The bot handles scheduling on its own.
🧠 The self-improving skills loop
Skills are repeatable workflows the agent can call by name. Hermes’s differentiator is that it creates new skills from conversations automatically, and improves them as you use them.
How the loop works
- You do something repeatable, like “research X and summarize”
- Hermes notices the pattern, drafts a skill
- Next time you ask, it invokes the skill instead of rediscovering the steps
- It refines the skill as you give feedback (“use bullet points,” “skip the disclaimer”)
- Memories persist across sessions; the bot “remembers” you over time
There’s also an official skill hub for downloading community-built skills. Be selective — a malicious skill can do real damage. Prefer creating skills yourself, or only pulling from sources you trust.
🛡️ Security and best practices
- Set allowed user IDs. Always. Never deploy with the bot open.
- Run on a VPS, not your daily machine. Blast radius is contained.
- Give it separate accounts. Don’t link your main email or Google Drive.
- Rotate API keys. Especially if you ever paste them in a public-facing tool.
- Watch the doctor command.
hermes doctorreports config issues; rerun after big changes. - Audit skills. Don’t blindly accept community skills; read what they do.
- Use cron sparingly at first. Confirm the prompt works once before scheduling it daily.
❌ Common mistakes
- Forgetting to set allowed user IDs — opens your bot to anyone
- Running Hermes on your daily-driver machine with full file access
- Not starting the gateway — Telegram won’t get replies
- Connecting it to your main Google Drive too early
- Scheduling crons before verifying the prompt works manually
- Pulling random skills from the hub without auditing them
- Treating it as set-and-forget; it improves only if you actually use and correct it
Conclusion
Hermes Agent is the self-hosted assistant that gets better the longer you use it. The setup — pick a VPS, run the one-click template, wire Telegram, add Firecrawl, optionally voice, then schedule your routines — takes about an afternoon. After that the agent runs continuously, builds skills from your patterns, and starts to feel like an actual personal AI rather than a stateless chat bot.
Keep the security guardrails in place, start with a narrow set of capabilities, and expand only when you trust each new integration. A month in, you’ll have routines you didn’t think to ask for and skills the agent built itself.
Explore More on DevShelf
-
OpenClaw — Tool Profile
The multi-agent alternative to Hermes — better for orchestrating fleets of specialized agents rather than one primary personal bot.
-
Deploy OpenClaw to the Cloud
Same Hostinger one-click pattern as Hermes — follow this if you want to run both agents on the same VPS.