OpenLobster – Go Rewrite of OpenClaw with Neo4j, OAuth 2.1, Proper RBAC

4 pointsposted 8 hours ago
by neirth

2 Comments

neirth

8 hours ago

I've been running OpenClaw since it went viral. It worked surprisingly well for personal use, but I kept hitting the same walls every time I tried to do anything beyond the basic setup.

The memory system is a folder of markdown files. Fine for one user, but it breaks badly with concurrent sessions — and the docs literally document it as expected behavior. The "scheduler" is a daemon that wakes up every 30 minutes to read a HEARTBEAT.md checklist. The MCP integration felt bolted on. And after the CVE batch, I started looking more carefully at the auth story — disabled by default, which is how 40K+ instances ended up on Censys.

I didn't want to patch it. The issues are architectural, not bugs. So a few weeks ago I started a rewrite in Go to see if I could fix the fundamentals:

- Memory: Neo4j graph database (typed relationships, proper queries). File-based fallback for people who don't want to run Neo4j. - Multi-user: Each user on each channel is a first-class entity with isolated history, permissions, and a pairing flow. - Scheduler: Real task runner with cron expressions and ISO 8601 datetimes. - MCP: Streamable HTTP, full OAuth 2.1 flow, per-user permission matrix. - Security: Auth on by default, encrypted secrets backend (OpenBao or file), no plain-text API keys. - Performance: 200ms cold start, 30MB RAM with everything loaded. Runs fine on a Raspberry Pi 3.

It worked better than I expected, so I cleaned it up and published it.

It's still Beta and rough around some edges. GPL-3.0.

github.com/Neirth/OpenLobster Docs: neirth.gitbook.io/openlobster

Happy to answer questions about the architecture or any of the decisions.