I’ve been running self-hosted AI agents for a while. Tools like OpenClaw and Hermes do this well and were a big inspiration, but they’re CLI/dev-first and headless. I wanted that kind of power with a real, mobile-friendly UI my non-technical wife could actually use from her phone. I couldn’t find it, so I built it for my own household and open-sourced it. Not claiming to reinvent anything (there’s a new “AI agents platform” every other week right now), I just took the UI-first angle.
Self-hosting fundamentals:
- Single Docker container. Bun + SQLite, no Postgres, no Redis, no external cloud. All state in one volume.
- Light enough to run on a small home server.
- Secrets are stored in an AES-256-GCM encrypted vault and never sent to the LLM provider.
- Reachable over Telegram, WhatsApp, Slack, Discord, Signal and Matrix.
- Bring your own keys: Anthropic, OpenAI, Gemini, OpenRouter (an OpenAI-compatible endpoint for llama.cpp / LM Studio / vLLM is in progress).
- MIT, actively maintained.
The parts I focused on (where having a UI actually pays off):
- A proper web UI that works on mobile, not a terminal.
- Full transparency into what the model sees: you can inspect the exact context sent to the LLM and the token cost of every message. No black box.
- Tool calls rendered visually in the chat with custom renderers (a weather call shows a weather card, not raw JSON).
- Mini-apps embedded in the UI: small interactive apps, dashboards, even live background services.
- Create your own tools from inside the platform, instantly reusable by any agent.
- A Kanban board to manage projects and tickets the agents work on.
- A plugin system (NPM) to add providers, channels, tools and more.
- Connected accounts with triggers (e.g. an incoming email can wake an agent).
- A workspace file browser and terminal, in the UI.
- Conversational setup: an onboarding agent walks you through configuring everything.
- Image generation and TTS/STT built in.
Install:
docker run -d -p 3000:3000 -v hivekeep:/app/data ghcr.io/marlburrow/hivekeep:latest
Open the web UI and the setup agent takes it from there.
GitHub: https://github.com/MarlBurroW/hivekeep Site + demo: https://hivekeep.app/
It’s young and I’m after honest feedback. Disclosure: I’m the author, happy to answer anything.



Friendly feedback (genuinely) per your request.
Cardinal sins on Lemmy -
Speaking of, code base itself has “llm wrote this, no one checked” stank.
I pointed Claude at the first file I could see
https://github.com/MarlBurroW/hivekeep/blob/main/e2e/01-onboarding.spec.ts
Issues identified (first 5, trimmed for brevity).
Ghost import (
TEST_USER) - classic back-fill residue. Pulled in because it “felt right” alongside the other two helpers, never wired up. No fail-loud catch on it - lint should’ve flagged it, didn’t.Copy-paste boilerplate x3 instead of
beforeEach- pattern got nailed once, then stamped two more times instead of abstracted.networkidlereflex - slapped after everygoto, despite Playwright’s own docs actively discouraging that specifically.Hedge-bet regex (
/password/i+ filter on/match|mismatch/i). LLM didn’t know the exact copy, didn’t go check it against source (the grounding step), so it just widened the net to pass either way. Not minding that it hallucinates, in test form.Comments narrating the line directly below them - zero information gain, pure token filler.
= you’re going to get downvoted to hell because this stinks of AI slop.
Personally, while Lemmy is militantly FuckAI, I think properly orchestrated, ticketed and reviewed AI code is defensible.
https://lemmy.ml/post/48724623/26190950
AI slop (which is sadly what this reads like - please prove us wrong) is going to get kick fucked to death…especially on !selfhosted.
Not trying to dunk on you…trying to give you a chance to tell us why we should care about this project / install it / what problem it solves.