Skip to content

Wenlan

A living wiki you can trust.

The second brain your agents write as they work: repo facts, client calls, training plans. Every page stays cited, linked, and current, so you don't have to.

every claim citedstale facts supersededpages linked
Works withClaude CodeCursorCodexClaude DesktopVS CodeObsidian

Every wiki dies of neglect.

First the hand-tended vault. Then agents bolted onto wikis: faster writing, same rot. Wenlan is what comes after.

gen 0The wiki graveyardsuperseded

Obsidian vaults, Notion pages, team wikis. Hand-tended, and alive exactly as long as your discipline.

gen 1llm-wiki 1.0superseded

Agents dump notes to Markdown files. No sources, no recall, no upkeep. It rots faster, with more confidence.

Obsidian + agentssuperseded

Agents write into your vault, but the gardening is still yours. Easier capture, same rot.

gen 2 and beyondWenlancurrent

The llm-wiki that maintains itself: written during real work, cited to sources, found by hybrid recall, enriched while you sleep.

capturerecallenrich

And while you sleep, the wiki gets better.

LLM wiki for code, clients, and research.

Wenlan turns repo facts, client constraints, source trails, and study notes into source-cited pages agents can brief, recall, and hand off.

Keep the codebase docs engineers actually update.

living engineering docs · 28 sources

Auth v2 migration

Source-backed
token backfill
flag flip
30d expiry
Rollout

Cutover blocks on the session-token backfill; run it before the flag flip.1

Legacy tokens stay valid for 30 days after cutover, then hard-expire.2

Cites

/migrations/auth-v2Rollout
/runbooks/releaseRollback

The next agent opens the same living docs an engineer would update.

The long tail
[[meeting notes]][[incident reviews]][[trip planning]][[reading lists]][[hiring loops]][[home lab]][[language study]][[competitor teardowns]][[grant applications]][[garden log]][[gift ideas]][[tax season]]
[[postmortems]][[api quirks]][[vendor notes]][[recipe box]][[team rituals]][[conference notes]][[side projects]][[health logs]][[renovation plans]][[paper trails]][[dnd campaigns]][[onboarding docs]]

A handoff loop for AI work.

Wenlan captures decisions as work happens, refines the wiki between sessions, and briefs the next session when it starts.

/capture · during the session

Work leaves a trail

  • + rollback needs db lock
  • + client capped budget at 40k
  • + claim in section 2 went stale

/distill · between sessions

Repeats become a page

DedupLinkSupersede

Agents also create pages directly when a topic deserves one right away.

/brief · next session

The next agent starts warm

Release runbook

cites /runbooks/release, /docs/architecture

The next conversation starts from the handoff instead of reconstructing the past.

The work becomes reusable pages.

Readable by humans, organized for agents

Cleaned decisions and lessons become durable pages instead of buried chat logs.

Migration plan

6 sources cited

Runbook

8 sources cited

Architecture map

10 sources cited

Recall arrives connected

People, projects, and pages come back linked to the memory and to each other, so recall arrives with its whole neighborhood.

Every claim keeps its source

Wenlan refuses unsourced pages. Every distilled claim cites the memory that produced it, so it can be traced back and re-checked.

# Architecture map

Search writes go through the ingest daemon; the API crate only reads.[1]

[1] mem_0142 · decisionfrom/docs/architecture

Review before trust

Low-confidence captures and contradictions surface for review instead of silently entering context. You step in only when it matters.

contradiction

low confidence

new: “staging deploys from main”

mem_0087: “staging deploys from release branches”

supersedekeep both

Fresher every pass

Between sessions, background passes link entities, grow matching pages, and fade stale memories.

+ linked Dana to checkout redesign

~ refreshed page: architecture map

faded 3 stale memories

Spaces keep work apart

Tag captures and recalls with a space, so a client fact never bleeds into a side project brief.

space: work128

space: personal41

space: client-arden67

Versioned like code

Memory, pages, and session artifacts live in real git history. Inspect, diff, revert.

a41f2c distill: architecture map

9d03b7 capture: rollback lesson

3c88e1 handoff: session close

One home, locked to none

Every MCP client reads the same shared memory through one local daemon. The files stay yours.

Claude CodeCursorCodexClaude DesktopVS CodeGemini CLI

~/.wenlan

one shared memory

local daemon · plain files

Agents get an index. You get files.

Captures stage in a fast local index, then solidify into Markdown pages you can open, diff, and keep.

Index · working memory for agents

recall:“staging rollback”
FTS5 · exact termmem_0231 · rollback needs db lock
vectors · paraphrasemem_0142 · deploy reverts hang
graph · entity linkmem_0087 · project: checkout → deploy gotcha
all three return together, rankedreciprocal rank fusion

Three ways in, one query. Any single route misses two of these.

staging

mem_0231 · rollback needs db lockstaging
mem_0198 · budget capped at 40kready to distill

Markdown · lasting record for you

~/.wenlan/pages/architecture-map.md

# Architecture map

Writes go through the daemon. [^1]

[^1]: /docs/architecture

a1b2c3d page: architecture-map refreshed (4 sources)

Obsidian-compatible · grep-able · yours to move

×Files alone

Every recall re-reads whole folders. The context window pays for it.

×A database alone

Fast but opaque. Nothing you can open, diff, or move.

Index + files

One query for agents. Readable, versioned files for you.

Hybrid retrieval, measured

96% fewer tokens.

Hybrid retrieval finds the right local context without replaying chat history.

Run the harness yourself.

Full chat replay

4,505 tokens / query

No retrieval, whole transcript in context

Wenlan retrieval

168 tokens / query

CE-reranked, 500-question snapshot

93.6% Recall@50.883 NDCG@100.857 MRRLME_Oracle snapshot

Retrieval-only snapshots. LME_S records 87.7% R@5 and 0.815 MRR on the stratified N=90 deep-S fixture. Token comparison is full replay vs retrieved context.

Common questions.

What is Wenlan?

Wenlan is an LLM wiki for AI work. Agents capture what they learn, you add sources you trust, and the local daemon keeps source-backed wiki pages current across chats, tools, projects, and time.

How is Wenlan different from built-in AI memory?

Built-in memory stores what the AI decided was important. You usually cannot trace it, correct it, or use it from another tool. Wenlan keeps memory local, visible, correctable, and traceable. Readable pages, session logs, and project status are versioned in ~/.wenlan/.git/, and every distilled page cites the source memory IDs that produced it.

What retrieval quality does Wenlan reach?

Hybrid retrieval combines vector search (BGE-Base-EN-v1.5-Q, 768-dim), FTS5, reciprocal-rank fusion, knowledge-graph context, and the local BGE reranker. LME_Oracle is 93.6% Recall@5, 0.857 MRR, and 0.883 NDCG@10 on the 500-question snapshot. LME_S is 87.7% Recall@5, 0.815 MRR, and 0.822 NDCG@10 on the stratified N=90 deep-S snapshot. The eval harness ships in the repo at crates/wenlan-core/src/eval/.

Is my data private?

Yes. Wenlan runs on your machine and stores its database locally. No cloud sync or telemetry by default. Local memory setup works without a model or API key. On-device models or an Anthropic key are opt-in for automatic page distillation, recaps, and richer graph work.

Is Wenlan just another memory MCP?

No. The MCP server is the connector. Wenlan also includes the local daemon, manual /distill, optional model-backed background extraction and page work, a libSQL store with DiskANN vectors, FTS5 + knowledge graph, mandatory provenance, real git versioning for memory, page, and session artifacts, and readable Markdown export paths.

What AI tools work with Wenlan?

Claude Code and Codex have plugin paths. Cursor, Claude Desktop, VS Code, Gemini CLI, and other local clients connect through Wenlan's MCP server. ChatGPT and Claude.ai connect through Streamable HTTP MCP, with Remote Access in the desktop app providing the guided path. Remote Access has no authentication; anyone with the URL can access Wenlan, so stop Remote Access when unused.

Is Wenlan a replacement for Notion or Obsidian?

No. Wenlan is not a notes app or a writing tool. It captures and refines what you learn from AI conversations. The Markdown projection under ~/.wenlan/ can be symlinked into Obsidian if you want to read it there.

How do I set it up?

Claude Code uses the marketplace plugin and /setup. Codex can run Wenlan through its plugin or through wenlan connect codex. Other local clients use wenlan connect <client>. ChatGPT and Claude.ai use the desktop app's Remote Access URL through Streamable HTTP MCP. The URL has no authentication, so treat it as a secret and stop Remote Access when unused.

Does Wenlan work on Windows or Linux?

Yes. The current prebuilt daemon release covers macOS Apple Silicon, Linux (x86_64, aarch64; glibc), and Windows (x86_64). macOS Intel has source/dev paths but no current prebuilt macOS Intel runtime. Service registration uses launchd on macOS, systemd-user on Linux, and Task Scheduler (schtasks) on Windows.

Can I keep work and personal memory separate?

Yes. Memories, pages, and recalls belong to a space (for example, work, personal, or client-X). Set the active space per shell with WENLAN_SPACE, or declare them in ~/.wenlan/spaces.toml. The auto-detector also picks a space from the current repo or workspace.

Is Wenlan free?

Yes. Wenlan is open-source. The local runtime, CLI, MCP server, Claude Code plugin, and Codex plugin files in the Wenlan repo are Apache-2.0.

Open source

Open where it matters.

The local runtime, CLI, MCP server, Claude Code plugin, and Codex plugin are Apache-2.0.

Get release updates.