It was tough to get a decent functioning memory setup for my openclaw personal assistant. A lot of trial & error, going back to the drawing board, nuking different setups. But I think I finally have landed on something that works for me.
The key was the Honcho (
https://app.honcho.dev/) memory plugin for OpenClaw. I’ve used it enough at this point to be able to say that it makes a significant difference over OpenClaw’s out-of-the-box memory tool. I used to cuss out my agent every five minutes because it was so stupid and forgetful between sessions, now it’s actually a helpful personal assistant and fun to work with.
I now have a four-layer, fully automated memory setup:
1. Honcho is the base layer - ambient memory that absorbs every chat turn. It runs on my
@Umbrel ☂️ in a Docker container next to the OpenClaw container. Honcho is backed by a PostgreSQL database that constantly distills, summarizes, reasons, and dreams about the chat logs. It provides all the rich history and context to the LLM.
2. Agent operational memory in the form of MEMORY.md and YYYY-MM-DD.md files in the OpenClaw agent workspace. The agent maintains these automatically. A shell script prunes operational memory after 30 days to keep things tidy.
3. My Obsidian vault lives on my phone but is synced to Umbrel with Syncthing so it also accept writes from the agent. It functions as my 2nd brain. A nightly agent cron job reviews operational memory and automatically promotes stuff worth keeping into my 2nd brain.
4. The agent pushes to GitHub its project files, scripts, and anything else it produces for me. Fully synced so it just pushes files to the private repo.
I set the whole thing up from my iPhone. Linux systemd runs a shell script that does Honcho Postgres dumps nightly to Umbrel’s Documents Folder, then Umbrel backs everything up to an external drive. I’m not paying for Honcho’s cloud service. Just paying for OpenAI tokens to run the OpenClaw model and Anthropic tokens to run the Honcho in the background.
Next up is to give my agent a Claude Code terminal and a Google Workspace and see what I can make it do.