I was checking videos about openclaw memory and i saw different types of things people used. For example QMD, mem0, memory wiki, obsidiant vault, losless claw and such. What are the uses for them? How does ot work and what do you recommend? I currently have qmd but i want to further expand my knowledge and actually learn what each one does.
#Better memory
35 messages · Page 1 of 1 (latest)
Short version: these are different layers, not all the same thing.
What each one is
-
Builtin memory
- OpenClaw default.
- Stores memory in Markdown (
MEMORY.md,memory/YYYY-MM-DD.md) and indexes it in SQLite. - Best if you want simple, official, low-maintenance.
-
QMD
- Memory backend/search engine.
- Better recall than builtin for many setups: BM25 + vectors + reranking + query expansion.
- Can also index extra folders and session transcripts.
- Best if you want local-first, better search, and broader indexing.
-
mem0
- Separate long-term memory plugin/service.
-
Watches chats, extracts facts automatically, recalls them later.
- More “AI memory product” style than “Markdown workspace” style.
- Best if you want automatic cross-session fact memory and don’t mind extra moving parts.
-
memory-wiki
- Knowledge layer on top of memory, not a replacement for memory itself.
- Turns durable memory into structured wiki pages with claims, evidence, contradictions, dashboards.
- Best if you want memory to feel like a maintained knowledge base, not just notes.
-
Obsidian vault
- Not really a memory engine by itself.
- It’s the human-facing note workspace.
- Usually paired with
memory-wiki, or indexed by QMD, so you can browse/edit memory nicely.
-
Lossless Claw
- Not memory, this is a context engine.
- It improves how conversation context is compacted/summarized so less gets lost in long chats.
- Best if your problem is context-window loss, not long-term memory storage.
The mental model
Think of it like this:
- Memory backend: builtin, QMD, mem0
- Knowledge organization layer: memory-wiki
- Human UI/editor: Obsidian
- Live context management: Lossless Claw
What I’d recommend
Since you already have QMD, I’d usually suggest:
- Keep QMD
- Add memory-wiki if you want cleaner long-term organization
- Add Obsidian only if you want to actually browse/edit the vault yourself
- Use Lossless Claw only if long conversations are getting compacted badly
- Try mem0 only if you specifically want automatic fact extraction/recall across sessions and are okay with a more plugin/service-style setup
My practical recommendation
For most people, the sweet spot is:
- QMD + memory-wiki
- optional Obsidian
- Lossless Claw only if needed
That gives you:
- strong recall
- local-first behavior
- structured long-term knowledge
- a nice human-readable vault if you want it
Docs:
- Memory overview: https://docs.openclaw.ai/concepts/memory
- QMD: https://docs.openclaw.ai/concepts/memory-qmd
- Memory Wiki: https://docs.openclaw.ai/plugins/memory-wiki
- Context engines / Lossless Claw category: https://docs.openclaw.ai/concepts/context-engine
If you want, I can also give you a “which one should I use for my exact goal?” matrix, like:
- local-only
- best recall
- Obsidian workflow
- most automatic
- lowest maintenance
What do you mean by local-only
I mean the memory part stays on your machine.
So, for memory:
- Local-only = notes, indexes, embeddings/search data stay on your PC/server
- Not local-only = memory gets sent to some outside service/API
Example
If you use:
- QMD → mostly local-only memory
- memory-wiki → local files
- Obsidian vault → local files
- Lossless Claw → local context handling
But if you use:
- mem0 cloud/platform mode
- Honcho hosted
then your memory is being managed by an external service.
Important distinction
You can have:
- local-only memory
- but still use Claude / GPT / Gemini as your main chat model
That means:
- memory stays local
- replies still come from a cloud model
If you want fully local, then both of these are local:
- memory system
- main model
In practice
- QMD + memory-wiki + Obsidian = very local-first
- mem0 = more service-style memory, often less local depending on setup
So when I said “local-only”, I meant “your memory system doesn’t depend on a hosted memory provider.”
If you want, I can break it down as:
- fully local
- hybrid
- cloud memory
with examples for each.
I want local only since it sounds more secure, i did hear that mem0 has a none cloid version, also what about dreaming?
Yeah, if local-only is your goal, I’d lean toward:
- QMD for recall/search
- memory-wiki if you want more structured knowledge
- Obsidian only if you want a nice human-facing vault
- Dreaming if you want auto-consolidation of important stuff into long-term memory
About mem0 non-cloud
From the mem0 repo, yes, it does have an open-source mode.
But here’s the important catch:
“mem0 open-source” does not automatically mean fully local.
It depends on what you plug into it:
- local vector store? good
- local embedder? good
- local LLM? good
- OpenAI/GPT for extraction or embeddings? then it’s not fully local anymore
So mem0 can be local-ish or fully local, but only if the whole stack is configured that way.
About dreaming
Dreaming is OpenClaw’s background memory consolidation system.
What it does:
- looks at short-term memory signals
- finds recurring/useful patterns
- promotes the good stuff into
MEMORY.md - writes human-readable summaries into
DREAMS.md
Important bits:
- it is opt-in
- it is experimental
- only the deep phase writes durable memory to
MEMORY.md
So dreaming is less “store everything forever” and more:
“figure out what is actually worth remembering long-term”
Does dreaming make sense with QMD?
Yes, that’s actually a pretty sensible combo.
- QMD = strong local search/recall
- Dreaming = long-term consolidation
- memory-wiki = organized knowledge layer
That’s a nice local-first setup.
What I’d recommend for you
If you want secure + local + practical:
- Keep QMD
- Try Dreaming
- Add memory-wiki later if you want a cleaner knowledge system
- Add Obsidian only if you want to browse/edit memory visually
- Only move to mem0 if you specifically want its style of automatic memory extraction and are willing to tune the whole stack
So honestly, for your goal, I would not rush away from QMD. You’re already on one of the better local-first options.
Docs:
- Memory overview: https://docs.openclaw.ai/concepts/memory
- QMD: https://docs.openclaw.ai/concepts/memory-qmd
- Dreaming: https://docs.openclaw.ai/concepts/dreaming
- Memory Wiki: https://docs.openclaw.ai/plugins/memory-wiki
If you want, I can next give you a “best local-only stack” in plain English, like:
- simplest
- best quality
- best with Obsidian
I think i told my opemclaw to use qmd as the embedding
Close, but QMD is not the embedding provider.
It’s more like the memory/search backend.
The difference
- Embedding provider = the thing that turns text into vectors
- QMD = the engine that manages search, reranking, query expansion, indexing, etc.
So in OpenClaw terms:
memory.backend = "qmd"→ use QMDagents.defaults.memorySearch.provider = "openai" | "gemini" | "local" | ...→ builtin memory embedding provider
If you switched to QMD backend, then QMD handles its own embedding/rerank/generation side internally.
With QMD, model overrides usually happen via env vars
Like:
QMD_EMBED_MODELQMD_RERANK_MODELQMD_GENERATE_MODEL
So if you said “use QMD as embedding”, the more correct wording is probably:
“I set OpenClaw to use QMD as the memory backend.”
Easy mental model
- Builtin memory: OpenClaw does embeddings/search itself
- QMD: OpenClaw hands memory search off to QMD
Docs:
- Memory config: https://docs.openclaw.ai/reference/memory-config
If you want, paste your memory section from openclaw.json and I can tell you exactly what your setup is using.
How would i go about correctly updating openclaw without breaking it since i tried it before and it broke my memory. Apparently i found a video saying run openclaw doctor update first so that it installs dependencoes then you can update
First, what does openclaw --version show?
Version mismatch causes a lot of weirdness, and the exact update path can depend on how you installed it.
That said, the normal safe flow is not openclaw doctor update.
It sounds like that video mixed two things together.
Recommended safe update flow
-
Back up your memory files first
- your workspace
MEMORY.mdmemory/DREAMS.mdif you use dreaming- your config
-
Check current health
openclaw status
-
Preview the update
openclaw update --dry-run -
Do the actual update
openclaw update -
Verify after
openclaw doctor
openclaw gateway restart
openclaw health
Important bit
Per the docs, openclaw update already:
- detects install type
- fetches the latest version
- runs
openclaw doctor - restarts the gateway
So doctor is part of the update story already.
If memory looks “broken” after updating
A lot of the time the memory files are still there, but the index/search side got out of sync.
Then check:
openclaw memory status
openclaw memory index --force
That can fix recall/search without meaning your actual memory files were lost.
My advice
- use plain
openclaw update - avoid weird/manual update sequences from random videos
- always keep a backup of the workspace before updating
- if you use QMD, verify memory/search after the update, not just chat replies
Docs:
If you paste:
openclaw --version- how you installed it (
npm, installer, git/source, docker, etc.)
I can tell you the safest exact update workflow for your setup.
I saw that actice memory is also a thing
Yep, Active Memory is another piece, but it’s a different kind of piece than QMD or mem0.
What Active Memory is
Active Memory is basically a pre-reply memory recall step.
Before OpenClaw answers, it does a quick memory pass and asks:
“Is there anything relevant I should remember right now before replying?”
If it finds something useful, it injects a short memory summary into the prompt for that reply.
So it is not
- not a memory database
- not a backend like QMD
- not a knowledge vault like memory-wiki
- not a context engine like Lossless Claw
It’s more like a memory assistant sitting in front of the main reply.
How it fits with the others
- QMD = where/search-how memory is retrieved
- memory-wiki = organized knowledge layer
- Active Memory = automatically checks memory before replying
- Lossless Claw = manages long chat context
- Dreaming = promotes good short-term memories into long-term memory
Practical example
Without Active Memory:
- the agent only remembers if it naturally decides to search memory, or if you ask it to
With Active Memory:
- it proactively does a quick recall pass first, so replies can feel more natural
Should you use it?
If you already have QMD, Active Memory can be a nice add-on.
The combo is basically:
- QMD finds stuff well
- Active Memory makes that recall happen automatically before replies
My recommendation
For your setup, I’d think of it like this:
- QMD first
- Dreaming second
- Active Memory third
- memory-wiki / Obsidian if you want better organization and browsing
Reason: Active Memory is nice, but it works best after your base memory setup already works well.
One important caveat for “local-only”
Active Memory itself uses a model to do that recall/summarize step.
So if:
- your session model is cloud, or
- Active Memory fallback model is cloud
then that part is not fully local
So for a truly local-only setup, you’d want:
- local memory backend
- local main model
- local Active Memory model too
Docs: https://docs.openclaw.ai/concepts/active-memory
If you want, I can make you a map of all memory-related features and show exactly which ones are:
- storage
- retrieval
- organization
- compaction
- promotion
- proactive recall
How should i tell my ai to setul these memory improvements
Best way is to be very specific.
Don’t say:
“improve my memory setup”
Say something like:
I’m using OpenClaw with QMD and I want a local-only memory setup.
Keep QMD as the memory backend.
Add memory improvements one at a time and do not use cloud memory services.
First inspect my current config and tell me what I already have.
Then propose the smallest safe changes for:
- dreaming
- active memory
- memory-wiki
- optional Obsidian support
Before editing anything:
- show me my current
openclaw --version- show me how OpenClaw was installed
- back up my config and memory files
- explain each change in plain English
After each change, verify with:openclaw doctoropenclaw statusopenclaw memory status- a test memory search
Don’t do all changes at once. Stop after each step and confirm it works.
Even better prompt for your exact goal
Help me build a local-first OpenClaw memory stack.
I want to keep QMD.
I want to understand and optionally enable:
- Dreaming for memory consolidation
- Active Memory for proactive recall before replies
- memory-wiki for structured knowledge
- Obsidian only as a human-facing vault, if useful
Constraints:
- local-only if possible
- no mem0 cloud / no hosted memory service
- do not replace QMD unless you explain why
- make reversible changes
- show diffs before editing config
Start by checking:
openclaw --version- install method
- current memory config
- whether QMD is actually active