Comparison
Wenlan vs Basic Memory: Local AI Work Memory vs Markdown Knowledge Base
Compare Wenlan and Basic Memory across Markdown, MCP, local-first control, workflow fit, and how each product helps AI tools use durable context.
Article packet
Comparisons
People choosing a memory layer for AI-assisted work
6 min read
01
Basic Memory is strongest as a Markdown-centered knowledge base with AI access.
02
Wenlan is designed around the AI work loop: sessions, handoffs, distillation, provenance, and shared MCP memory.
03
Both value human-readable memory; the right fit depends on whether you want a knowledge base or a work-session memory layer.
04
This page reflects Basic Memory's public docs and Wenlan v0.9.1 as of 2026-06-24. If something has shifted on either side, please open an issue.
01
Short answer
Choose Basic Memory if you want a Markdown-first knowledge base that humans and AI can both read and update.
Choose Wenlan if your main problem is making AI work carry across sessions, tools, projects, and weeks without turning memory into a black box.
02
What Basic Memory emphasizes
Basic Memory presents itself around readable Markdown files, semantic structure, a knowledge graph, MCP access, and a web editor. That is a strong fit for people who want a knowledge base that AI can work with.
The center of gravity is the knowledge base: notes, links, entities, and human-readable project knowledge.
03
What Wenlan emphasizes
Wenlan starts from the AI work session. It captures decisions, lessons, gotchas, handoffs, and project context, then refines them through manual distillation, optional model-backed page work, linking, and provenance.
Raw captures and recall live in the daemon-owned store. Readable pages, sessions, and status files are projected under `~/.wenlan/` so people can inspect what agents rely on.
04
How to decide
If you mainly want a persistent Markdown knowledge base with AI access, Basic Memory may fit naturally. If you want a local memory loop for coding agents and MCP clients, Wenlan is more directly shaped around that workflow.
The practical question is not which product has the word memory. It is whether your bottleneck is maintaining a knowledge base or carrying work context from one AI session into the next.
05
How the storage models differ in practice
Basic Memory keeps your notes as Markdown files in a vault. When the AI reads context, it reads the file content; when a human edits a note, the file changes; the vault is the source.
Wenlan keeps raw captures in the daemon-owned libSQL store for retrieval and projects readable pages, session logs, and status Markdown under `~/.wenlan/`. Those readable artifacts are versioned in `~/.wenlan/.git/`, so `git log pages/<topic>.md` shows page history while recall and search still come from the daemon.
The split matters at two scales. Search: a five-thousand-memory store needs vector plus FTS retrieval to answer 'what did I decide about token budgets last sprint' in under a second; Markdown-only search degrades fast past a few thousand notes. Audit: when an AI references a distilled page claim, you usually want source memory IDs, provenance state, and git history for the generated artifacts, not just the current page content.
- Basic Memory: vault is the source. AI reads and writes Markdown directly.
- Wenlan: libSQL is the retrieval source, Markdown is the human projection. Daemon writes both atomically.
- Wenlan artifact history is per write for pages, sessions, and status Markdown. Raw capture retrieval remains daemon-owned.
06
A concrete walkthrough: distilling a week of sessions
Here is what a week with Wenlan looks like in my own work. Monday I capture three decisions inside Claude Code via the MCP `/capture` tool. Tuesday two more land from a Cursor session. Wednesday I run `/handoff` at the end of the day, then run `/distill` for the repeated auth theme. The result is a wiki page that quotes the original captures with mandatory source IDs.
Friday I open the projected Markdown at `~/.wenlan/pages/auth.md`. The page reads like a coherent doc, not a chat log. Each claim has a source comment that links back to the originating memory IDs. The next AI session that asks 'what did we decide about retry strategy' gets the distilled answer, not five overlapping captures the model has to reconcile on the fly.
Basic Memory's analog would be writing the wiki page myself, or asking the AI to draft it inside the vault. That works fine for a knowledge base. It is not a work-loop optimization, and the difference compounds across months.
07
When Basic Memory is the better call
I want to be specific about this. If your problem is 'I have hundreds of Markdown notes and I want AI to read and write to them naturally,' Basic Memory is closer to the shape of your problem. The vault is the product. AI is a citizen of the vault.
If your problem is 'AI conversations keep losing context across sessions and tools,' Wenlan is closer. The work session is the product. Markdown is a projection for human readability.
Both can run in parallel. The MCP layer does not care if two memory servers are registered. I have tested this; the practical limit is the human overhead of remembering which content belongs in which store. Most people end up picking one as primary within a couple of weeks.
08
Migration shape, if you decide to switch
Switching from a Basic Memory vault to Wenlan is selective today: pick durable notes that should become AI work memory and move them through `wenlan store`, `/capture`, or a small script over `/api/memory/store`. There is no general Markdown-vault importer in the current CLI.
Going the other way is simpler. Wenlan's projected Markdown under `~/.wenlan/` is readable as plain text. Point Obsidian or another Markdown reader at the pages and sessions when you need a static record. You lose live recall, review, and distillation behavior, but the human-facing record remains portable.
Side-by-side
Quantified dimensions. Where Basic Memory leads, we say so.
| Dimension | Wenlan | Basic Memory |
|---|---|---|
| Center of gravity | AI work session loop: capture, handoff, distill, recall across MCP clients. | Markdown knowledge base humans and AI both read and edit. |
| Storage | Local libSQL for retrieval plus Markdown projections in ~/.wenlan/; readable artifacts are tracked in ~/.wenlan/.git/. | Markdown files in a local Obsidian-style vault. |
| Retrieval | Hybrid: vector (BGE-Base-EN-v1.5-Q 768-dim) + FTS5 + reciprocal-rank fusion + knowledge-graph neighbors + CE reranker. LME_Oracle: 93.6% Recall@5, 0.857 MRR, 0.883 NDCG@10 (500 Q). LME_S: 87.7% Recall@5, 0.815 MRR, 0.822 NDCG@10 (deep, N=90). | Semantic + FTS over Markdown notes; emphasis on note linking, not benchmark retrieval. |
| Provenance | Mandatory source_memory_ids on every distilled page record. Daemon rejects pages with no source (HTTP 422). Pages can grow or refresh without losing the source chain. | Wikilinks between notes; provenance is whatever the author writes by hand. |
| Versioning | Real git history for readable artifacts in ~/.wenlan/.git/. Raw memory captures remain daemon-owned database records. | File mtime; bring-your-own git if you want history. |
| License | Apache-2.0 daemon, CLI, MCP server. | AGPL-3.0 (Basic Memory open-source repo). |
Try the AI work memory loop
Wenlan is built for sessions, handoffs, provenance, and local retrieval across MCP-compatible AI tools.
FAQ