Skip to content

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.

Qi-Xuan LuUpdated 6 min read

Article packet

01

Comparisons

02

People choosing a memory layer for AI-assisted work

03

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.

DimensionWenlanBasic Memory
Center of gravityAI work session loop: capture, handoff, distill, recall across MCP clients.Markdown knowledge base humans and AI both read and edit.
StorageLocal libSQL for retrieval plus Markdown projections in ~/.wenlan/; readable artifacts are tracked in ~/.wenlan/.git/.Markdown files in a local Obsidian-style vault.
RetrievalHybrid: 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.
ProvenanceMandatory 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.
VersioningReal 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.
LicenseApache-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

Is Basic Memory a competitor to Wenlan?+
They overlap around AI-readable memory and Markdown, but the product shapes differ. Basic Memory is closer to a Markdown knowledge base; Wenlan is closer to a local AI work memory loop.
Can someone use both?+
Yes, through MCP. Each registers as a distinct memory server with the AI client. The friction is human: you decide which one owns which kind of content. Most people pick one as primary within a few weeks.
Does Wenlan work without the daemon running?+
Reads of the projected Markdown under `~/.wenlan/` work without the daemon since the files are plain text. Anything that needs retrieval, capture, or distillation needs the daemon process. I run it as a launchd user service on macOS so I never think about it; the equivalents on Linux (systemd user unit) and Windows (Task Scheduler ONLOGON) ship in current Wenlan releases.
How does Wenlan handle wikilinks compared to Basic Memory?+
Wenlan extracts wikilinks during capture and creates explicit graph edges in the knowledge-graph layer, alongside the Markdown link. That lets hybrid retrieval traverse neighbors at query time. Basic Memory treats wikilinks primarily as Markdown links between notes.
How fresh is this comparison?+
Reflects Basic Memory's public docs and Wenlan v0.9.1 as of 2026-06-24. If something material changes on either side, please open an issue on github.com/7xuanlu/wenlan and I will update.