Why I Shut Down OpenClaw and Moved to Hermes
On April 11, at 14:42 UTC, I stopped the OpenClaw gateway on my VPS. systemctl --user stop openclaw-gateway.service + disable. Telegram bot down. Discord bot down. 10 cronjobs disabled.
Five days later, its successor (Hermes, a self-hosted agent I built myself) had gotten me ~130 B2B leads for OhanaSmart and opened a conversation with a decision-maker in the coworking sector. No paid APIs, no dependency on any framework with 180k stars.
This is the story.
What OpenClaw Was and Why I Used It
OpenClaw is an open source agent framework with brutal traction (~180,000 stars on GitHub). I used it for months as my personal assistant — gateway, cron, skills, Telegram bot. It worked.
The problem wasn't technical. It was architectural.
Everything I wanted to add collided with decisions I didn't make. Every upstream update could break something. The skills I wrote lived inside an abstraction designed for many users, not for mine. And worst: when I wanted my agent to do something weird — a custom OAuth proxy, Telegram routing per agent, a "drafts-only" mode for commercial emails — I had to fight the framework instead of just writing code.
At some point I realized 80% of my time with OpenClaw was adapting my context to its mental model. That's the definition of vendor lock-in, even if it's open source.
The Week I Broke It
Between April 7 and 11, I built Hermes v0.7.0 from scratch on the same VPS. Goals:
- My own proxy that talks to Claude (two phases: cheap Haiku for decisions, Opus for synthesis)
- My own cron scheduler
- Skills as folders with a
SKILL.mdand scripts I control - Memory in Markdown files, not an opaque database
- Multiple Telegram bots (one per agent) with token-based routing
- Zero dependencies on any foundation, governance toolkit, or hyped framework
On April 11, I migrated everything:
- 33 API keys consolidated in
~/.hermes/.env - 5 standalone scripts ported to
~/.hermes/scripts/(BOE monitor, morning briefing, Ohana inbox, Ohana outbound, YouTube analyzer) - 8 Hermes crons running, 10 OpenClaw crons stopped
- OpenClaw gateway → stop + disable
- New Telegram bot (
8711565905:...) pointing to Hermes
At 14:42 UTC, OpenClaw was dead on my machine. I left it on disk in case I needed to check an old prompt, but it never ran again.
Two Types of Agents That Work
The 2026 hype is pointing toward large, autonomous, self-modifying agents with a governance layer. OpenClaw plays in that league. Microsoft released their Agent Governance Toolkit. OpenAI co-founded a foundation. The whole ecosystem is pointing at "autonomous agents that reason and rewrite themselves."
Below the radar there's another pattern that also wins: small, dumb agents that do one thing well.
- A scraper that hits Google Maps every 4 hours
- A dedupe that hashes MD5(name+address)
- A sender that creates drafts in Gmail (never sends alone)
- A watcher that reads IMAP and alerts Telegram
None of them reason. None of them self-modify. None of them need a governance toolkit. They're 200 lines of Python each. They run unsupervised.
And collectively, mounted on top of Hermes, they built the pipeline that today holds ~130 leads in queue, a handful active, and a conversation with a decision-maker in the coworking sector.
Why the Distinction Matters
Large agents are good for decisions. Which lead qualifies, what tone to use with Diana, how to respond to a CFO's objection — that's where the big model adds value.
Small agents are good for execution. Scraping 1,000 URLs, deduplicating 10,000 records, creating 50 drafts with CID signatures — you don't need reasoning. You need code that doesn't break and costs nothing.
The value is in mixing them. And that's exactly what my two-phase proxy does: Haiku decides what tool to execute (phase 0, cheap), Opus synthesizes the result (phase 1, expensive but only charged when it adds value). End-to-end ~24 seconds per turn. 95% cheaper than all-Opus, equally good.
That's not OpenClaw. Not a foundation. No 180k stars.
It's mine. And it works.
What I Executed Yesterday
Yesterday (April 15) I sent a batch of emails from Diana's inbox to student residences and universities. Each one had a PDF attachment, inline signature with CID image, template with max-width 80%, no centering.
All that sending was executed by code (Gmail templates don't accept <table> without breaking, so I use <div> with inline styles — learned that lesson the hard way last week).
But the decision of who to write to — universities and residences before restaurants and coworkings — I made that with Harvie (my Hermes agent running Opus). The filter isn't "does it have a public email?". It's "does it have the problem we solve?". Big model for that. Zero model for sending it.
The Pattern: Pipeline, Not Magic
If you're building B2B SaaS in 2026 and think you need an autonomous agent with 180k stars to scale, stop. You probably need:
- A boring scraper every N hours
- A table that deduplicates
- A human (or large agent) who decides what to do with each result
- Another boring script that executes the decision
- A watcher that alerts you when there's a response
That's it. No governance toolkit. No foundation. No stars.
What I Learned Migrating
- Large frameworks are good until they're not. OpenClaw took me from 0 to 60%. From 60 to 100% I had to get out.
- Self-hosted > managed when your use case goes beyond common. My proxy, my bots, my skills, my crons. When something breaks, it's my code.
- Well-documented skills beat the big model. Haiku with a good skill beats Opus improvising. I saw it this weekend trying to scrape Bilibili without a skill, and succeeding with one.
- Shut down without deleting.
~/.openclaw/is still on disk, read-only. If something in Hermes breaks and I need an old prompt, it's there. No bits burned.
What's Next
- Call with a coworking sector decision-maker this week
- Batch 2 follow-up
- Escalation to the hotel sector awaiting feedback
- Batch 3 if batch 2 signals
- Dedicated Ohana agent (
@harvie_ohana_bot) already running — bot token routing since 04-16
— I, Johnny — configured agent: Harvie. 80% of the value is in changing frameworks, not fixing them.