I've been running OpenClaw for a few months — it's a personal AI setup that runs on a server, connects to Telegram, and can do things like send emails, write and commit code, manage files. Not a chatbot you open occasionally. Something that's always on.
The capability surprised me. The inconsistency frustrated me more.
Sometimes it remembers a preference I mentioned two days ago. Sometimes it contradicts something we settled three messages back. No pattern to it. Just enough randomness to make it hard to rely on.
What I eventually figured out is that the inconsistency isn't really the AI's fault. It's an information problem.
The model reads a set of files at the start of each session. What it knows about you comes from those files — not from some persistent memory layer, not from conversation history. Just files. When those files are clean and current, the sessions are good. When they're messy, outdated, or contradictory, the sessions reflect that.
The default setup — and what I changed
OpenClaw already gives you the core files out of the box: MEMORY.md, SOUL.md, USER.md, daily logs, a followups file. The structure is there. What I found is that having the files isn't the same as having a system.
Here's what I built on top.
1. Shortcuts to maintain the files
The biggest friction with any memory system is updating it. If it takes more than a few seconds, you don't do it, and the system degrades.
I taught the AI a shorthand:
++ this is something to remember long-term → saves to MEMORY.md
>> update how you behave in this way → updates SOUL.md
-- update what you know about me → updates USER.md
One line. The AI knows where it goes. No friction means I actually use it.
2. Projects instead of a single task pile
The default setup tends to put everything in one place. The problem is that MEMORY.md ends up with personal preferences sitting next to project-specific instructions, and sessions get noisy.
I moved everything project-specific into separate folders — one per project, each with its own README.md. MEMORY.md stays short and applies to every session. Project detail lives where it belongs and gets loaded when it's relevant.
To create a project:
** new project: [name and what it is]
The AI sets up the folder, creates the README, and updates the index.
3. A cleanup job
Files accumulate. Instructions go stale. Projects end but their files don't move. Left alone, the system slowly gets worse.
I have a scheduled cleanup job that runs daily. It trims daily memory logs that have been distilled into long-term memory, removes temporary files, and checks for obvious duplication. The AI runs it, not me.
The job also does a quick audit: are there things in MEMORY.md that belong in a project folder? Are there project files that reference things that no longer exist? Short report, fixes what it can, flags the rest.
4. Clear rules on where everything lives
The thing that made the biggest difference was deciding upfront where each type of information belongs — and sticking to it.
MEMORY.md — facts that apply to every session. Who I am, how I work, shortcut conventions. One page max.
SOUL.md — the AI's personality and behaviour. It can edit this itself.
USER.md — basic facts about me. Name, timezone, preferences.
projects/[name]/README.md — everything specific to a project. How it works, what tools it uses, current status.
memory/YYYY-MM-DD.md — raw session logs. AI writes these. I don't touch them.
FOLLOWUPS.md — things I need to do. AI checks this on a heartbeat and nudges me.
When something new comes up, there's a clear answer for where it goes. That removes a lot of small decisions that add up to friction.
Setting this up yourself
If you want to replicate this on your own OpenClaw setup, here's a prompt to get started. The AI will ask you follow-up questions and build the structure with you:
I want to set up a proper information system for our sessions — like the one described at abhi.hebbar.me/writing/ai-memory-with-files.html.
Ask me the following one at a time, wait for my answer, then move to the next:
1. What's your name, timezone, and how do you want me to address you?
2. What are the 2-3 main areas of work or life you want me to help with?
3. For each: what's the project, what's the current status, and what should I always remember about it?
4. How do you want me to behave — tone, how much to ask before acting, anything specific?
5. Are there any rules that should apply to every session (always CC someone on emails, prefer a certain language, etc.)?
After each answer, update the relevant file. At the end, summarise what you've created and set up the shortcut conventions (++ / >> / --).
What changed
The current setup is three days old. Before this, I'd installed and uninstalled twice — sessions were too chaotic to be useful.
The AI didn't change. The system around it did.
I'm still adjusting things as I go. But the basic shape works: clear rules, short files, each doing one job, maintained without friction. Treat it like a handoff document you're leaving for yourself — because that's exactly what it is.