wenlan-mcp 0.19.1 → 0.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +149 -259
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,13 +1,14 @@
1
1
  <p align="center">
2
2
  <picture>
3
3
  <source media="(max-width: 600px)" srcset="./docs/assets/readme-banner-mobile.png">
4
- <img src="./docs/assets/readme-banner.png" alt="Wenlan: A living personal wiki. AI organizes. You stay in control." width="100%">
4
+ <img src="./docs/assets/readme-banner.png" alt="Wenlan: A living personal wiki" width="100%">
5
5
  </picture>
6
6
  </p>
7
7
 
8
- Wenlan turns your documents, notes, and AI conversations into editable pages with links to their sources, so you and your AI tools can keep building on them.
9
-
10
- As sources change, you can ask AI to update the pages or enable background updates. If you’ve edited a page, Wenlan proposes revisions for you to review instead of automatically overwriting your work.
8
+ <p align="center">
9
+ Wenlan organizes scattered notes, documents, and conversations into a knowledge base that stays current and links back to its sources,<br>
10
+ so you and AI tools like Claude and Codex can reuse what you learned without explaining past decisions again.
11
+ </p>
11
12
 
12
13
  <p align="center">
13
14
  English | <a href="./README.zh-Hans.md">简体中文</a> | <a href="./README.zh-Hant.md">繁體中文</a> | <a href="./README.es-ES.md">Español</a>
@@ -15,293 +16,224 @@ As sources change, you can ask AI to update the pages or enable background updat
15
16
 
16
17
  <p align="center">
17
18
  <a href="https://github.com/wenlan-app/wenlan/actions/workflows/ci.yml?query=branch%3Amain"><img alt="CI" src="https://github.com/wenlan-app/wenlan/actions/workflows/ci.yml/badge.svg?branch=main&event=push"></a>
18
- <a href="https://github.com/wenlan-app/wenlan/releases/latest"><img alt="Latest release" src="https://img.shields.io/github/v/release/wenlan-app/wenlan?sort=semver&label=release"></a>
19
+ <a href="https://github.com/wenlan-app/wenlan/releases/latest"><img alt="Latest release" src="https://img.shields.io/github/v/release/wenlan-app/wenlan?label=release"></a>
19
20
  <a href="#license"><img alt="License: Apache-2.0 and AGPL-3.0" src="https://img.shields.io/badge/license-Apache--2.0%20%2B%20AGPL--3.0-blue.svg"></a>
20
21
  </p>
21
22
 
22
23
  <p align="center">
23
24
  <a href="#start-in-30-seconds">Get&nbsp;started</a> ·
24
- <a href="#what-does-wenlan-build">What&nbsp;is&nbsp;this?</a> ·
25
- <a href="#what-can-it-do">Capabilities</a> ·
26
- <a href="#how-does-it-work">Daily&nbsp;workflow</a> ·
27
- <a href="#evaluation">Evaluation</a> ·
28
- <a href="#learn-more">Learn&nbsp;more</a>
25
+ <a href="#what-can-i-bring-in">Capabilities</a> ·
26
+ <a href="#learn-more">Docs</a> ·
27
+ <a href="https://discord.gg/nmzVTTU3HG">Discord</a>
29
28
  </p>
30
29
 
31
- https://github.com/user-attachments/assets/35f06749-00e5-484d-a9f4-5e462de8d11e
30
+ <!-- R113 walkthrough: approved 0.5-second cover; 1080p; original video/audio and masters retained. -->
32
31
 
33
- <p align="center">
34
- <sub>The opening frame is a composed preview, not a native three-pane view. The rest shows the app in use, including pages and source citations.</sub>
35
- </p>
32
+ https://github.com/user-attachments/assets/5e661389-d7ea-4a36-a645-2b1ec2a92d32
33
+
34
+ <p>Cover: localized composite of App views with demo data; the graph is illustrative, not a native three-column layout.</p>
36
35
 
37
36
  <a id="quickstart"></a>
38
37
  <a id="start-in-30-seconds"></a>
39
-
40
- ## Get started
41
-
42
38
  <a id="start-with-the-app"></a>
43
39
  <a id="open-the-wiki"></a>
44
40
  <a id="desktop-app"></a>
45
-
46
- ### 1. Download and open Wenlan
47
-
48
- [Download the app](https://github.com/wenlan-app/wenlan/releases/latest), then open it:
49
-
50
- - **macOS (Apple Silicon):** open the `.dmg` and drag Wenlan to Applications. The app is signed and notarized.
51
- - **Windows x64:** run the `-setup.exe`. It is not signed yet. If SmartScreen warns you, confirm you downloaded it from the official Releases page before choosing "More info" → "Run anyway".
52
- - **Linux:** no desktop build yet; follow the [setup guide](docs/setup-with-ai.md#install-the-runtime) to use Wenlan with your AI tools without the app.
53
-
54
- First launch downloads a model for local search, so keep an internet connection until setup finishes. [Download and privacy details](docs/PRIVACY.md#when-wenlan-reaches-the-network).
55
-
56
41
  <a id="claude-code-in-30-seconds"></a>
57
-
58
42
  <a id="codex-plugin"></a>
59
-
60
43
  <a id="mcp-setup"></a>
61
44
  <a id="mcp-clients"></a>
62
45
 
63
- ### 2. Start with your own note
64
-
65
- Choose **Open notes** to enter Wenlan, then create a page of your own. The welcome screen also offers a sample to explore first. You can start writing without importing material, connecting an AI tool, or setting up an AI model.
66
-
67
- ### 3. Bring in sources when you want
68
-
69
- You can [import notes or ChatGPT / Claude conversation exports](#what-can-i-bring-in) whenever you are ready. Import is optional; you can begin with a page of your own.
70
-
71
- ### 4. Connect AI tools when you want AI help
72
-
73
- Connect Claude Code, Codex, or other supported AI tools when you want them to use the same knowledge. A connected AI can write pages without an additional local language model.
74
-
75
- <details>
76
- <summary>Need help connecting? Ask your AI</summary>
77
-
78
- Restart your AI tool if prompted. For help with setup, paste this into Claude Code, Codex, or another tool that can follow a setup guide:
79
-
80
- ```text
81
- Connect this AI tool to Wenlan by following:
82
- https://raw.githubusercontent.com/wenlan-app/wenlan/main/docs/setup-with-ai.md
83
-
84
- Reuse my existing Wenlan installation if available.
85
- Set up only this AI tool, then check that it can save and find a test memory.
86
- ```
87
-
88
- </details>
89
-
90
- To organize a topic with a connected AI, open a work conversation worth keeping and ask:
91
-
92
- > Turn the conclusions, reasoning, and sources about [topic] in this conversation into a Wenlan page with source citations.
93
-
94
- You can also ask your AI to organize a topic from material you imported into a page.
46
+ <br>
95
47
 
96
- When it's ready, open the new page in Wenlan, click a citation to check its source, and add your own thoughts. Next time you work on that topic, ask your AI to read this page before continuing.
97
-
98
- Background organization and automatic updates are optional and need a [configured model](#models-and-privacy). For terminal installation, other platforms, and updates, see the [setup guide](docs/setup-and-data.md#installation).
99
-
100
- Need help? [Setup guide](docs/setup-with-ai.md) · [Report a problem](https://github.com/wenlan-app/wenlan/issues). Issues are public: redact secrets, credentials, access tokens, identifiers, private or personal content from anything you share, including logs.
101
-
102
-
103
- <a id="what-does-wenlan-build"></a>
104
- <a id="why-it-compounds"></a>
48
+ ## Get started
105
49
 
106
- <a id="what-is-this"></a>
50
+ Save your material in Wenlan so your everyday AI tools can use it to answer questions and get work done.
107
51
 
108
- ## Your wiki, for you and your AI
52
+ ### 1. Download and open Wenlan
109
53
 
110
- - **Turn scattered material into connected topics.** Bring documents, notes, and AI conversations together in linked pages, with citations you can open and check.
111
- - **Read it yourself. Use it with your AI.** Read and edit your pages, or ask Claude Code or Codex to use them for your next task.
112
- - **Maintain knowledge without starting over.** Track source changes, update related pages, and keep their history. AI proposes revisions to pages you've edited for you to review.
54
+ [Download the desktop app](https://github.com/wenlan-app/wenlan/releases/latest) (macOS Apple Silicon or Windows x64), install it, and open it.
113
55
 
114
- Your pages are local Markdown files you can read, edit, and take with you.
56
+ Prefer the terminal? [Use Wenlan through the CLI or AI tools](docs/setup-and-data.md#installation).
115
57
 
116
- <p align="center">
117
- <picture>
118
- <source media="(max-width: 900px)" srcset="./docs/assets/wenlan-system-mobile.png">
119
- <img src="./docs/assets/wenlan-system.png" alt="Sources and memories feed an illustrative Agent Loop page. It combines retry guidance with a concrete lesson: tests passed, but a line still covered a mobile label. Desktop and mobile visual checks become part of the completion criteria for later work with Claude or Codex." width="100%">
120
- </picture>
121
- </p>
58
+ Optionally enable Steep with a [local model](docs/steep.md#enable-steep) to organize memories and update knowledge pages in the background.
122
59
 
123
- <a id="what-wenlan-is-not"></a>
60
+ ### 2. Create a page or import existing material
124
61
 
125
- The illustration shows a reusable working rule, not customer results or an automated page-generation test. [How sources, memories, and pages work together](docs/knowledge-guide.md#sources-and-pages).
62
+ Create a page in Wenlan, connect an Obsidian vault, or import earlier AI conversations and memories. [Import guide](docs/import-guide.md).
126
63
 
127
- <a id="knowledge-graph"></a>
64
+ ### 3. Connect an AI tool when you want
128
65
 
129
- ### Follow the connections behind a page
66
+ | AI tool | Connection | Setup |
67
+ |---|---|---|
68
+ | Claude Code / Claude Desktop | Plugin / MCP | [Claude guide](docs/setup-with-ai.md#claude-code) |
69
+ | ChatGPT Desktop (Codex), Codex CLI | Plugin | [Codex guide](docs/setup-with-ai.md#codex) |
70
+ | Cursor, VS Code, Gemini CLI, Muse Code | MCP | [MCP guide](docs/setup-with-ai.md#mcp-only-setup-and-other-clients) |
130
71
 
131
- The Agent Loop example connects a retry rule, a lesson from a UI review, and an acceptance checklist you can reuse.
72
+ After installing a plugin, start a new AI session and run `/wenlan` (`$wenlan` in Codex). It checks that Wenlan works and sets it up when needed. Type what you want after it, such as `/wenlan open my note on the release plan`, to reach everything else.
132
73
 
133
- <p align="center">
134
- <picture>
135
- <source media="(max-width: 900px)" srcset="./docs/assets/wenlan-knowledge-network-mobile.png">
136
- <img src="./docs/assets/wenlan-knowledge-network.png" alt="Illustrative Agent Loop page citing an agent-design guide and UI-review note; named memories include retry guidance and a visual-check lesson, linked to a reusable acceptance checklist and related concepts and tools." width="100%">
137
- </picture>
138
- </p>
74
+ Imported material is ready to use; you do not need to create a page first. Ask your AI:
139
75
 
140
- <a id="retrieval"></a>
141
- <a id="retrieval-across-words-meaning-and-connections"></a>
76
+ > Use what I’ve saved in Wenlan to help me with this task: …
142
77
 
143
- Follow a page to related concepts and evidence. [How graph and search work](docs/knowledge-guide.md#graph-and-search).
78
+ <a id="daily-workflow"></a>
144
79
 
145
- <a id="what-makes-wenlan-distinct"></a>
146
- <a id="why-is-wenlan-different"></a>
147
- <a id="two-lifecycles"></a>
148
- <a id="two-lifecycles-one-maintained-knowledge-system"></a>
80
+ <br>
149
81
 
150
- ### Knowledge changes. History stays.
82
+ ## In everyday use
151
83
 
152
- New experience improves your notes without hiding earlier decisions. This example replaces “tests passed, so the UI is done” with “check tests and the desktop and mobile views,” keeping the reason and evidence for the change.
84
+ Save new findings and progress as you work, then pick up where you left off next time.
153
85
 
154
86
  <p align="center">
155
- <picture>
156
- <source media="(max-width: 900px)" srcset="./docs/assets/wenlan-lifecycle-mobile.png">
157
- <img src="./docs/assets/wenlan-lifecycle.png" alt="Illustrative before and after: “tests passed, so the UI is done” becomes “check tests and desktop and mobile views”; the evidence is a mobile label obscured despite passing tests. During automatic refresh, changes to a page you edited are proposed for your review." width="100%">
158
- </picture>
87
+ <img src="./docs/assets/wenlan-daily-workflow.png" alt="Sources and saved memories accumulate in Wenlan; use them in the App or AI tools, then save new memories and work progress for later." width="100%">
159
88
  </p>
160
89
 
161
- <a id="local-markdown"></a>
162
- <a id="atomic-memory"></a>
163
- <a id="maintained-page"></a>
164
- <a id="local-markdown-that-works-with-obsidian"></a>
165
-
166
- Review applies to AI updates; direct file edits and forced regeneration follow different rules. [Updates, review, and local files](docs/knowledge-guide.md#updates-and-history).
167
-
168
- ### Already using Obsidian with AI plugins?
169
-
170
- You can use [Copilot](https://docs.obsidiancopilot.com/agent-mode-and-tools/) for AI-assisted reading and editing, [Smart Connections](https://github.com/brianpetro/obsidian-smart-connections) to find related notes, and [Obsidian Git](https://github.com/Vinzent03/obsidian-git) to keep version history. That gives you flexibility, but choosing how the plugins work together, when to organize new material, and how to update older pages is still a workflow you arrange.
90
+ Simplified workflow. Plugin commands and page organization are optional, with no fixed sequence.
171
91
 
172
- Wenlan connects topic-page creation, source-change tracking, page updates, and revision history in one workflow, saving you the work of assembling and maintaining those steps yourself. You can read the resulting knowledge directly or let Claude Code, Codex, and other tools build on it.
173
-
174
- Ask your connected AI to update a page, or [configure a model](#models-and-privacy) to enable background updates. When AI updates a page you've edited, Wenlan proposes a revision for you to review.
175
-
176
- Connect your existing Obsidian vault as a read-only source without moving your notes. Wenlan does not modify the vault or sync changes back to it.
92
+ - **Work in the App.** Add material, write or edit pages, follow citations, and review proposed changes without connecting AI.
93
+ - **Use your knowledge and write new pages.** Ask your AI to find relevant sources and memories for the task (`/recall`). It can also write cited pages or update existing ones from their current version, then save them to Wenlan.
94
+ - **Keep what you learn.** Save a decision or lesson, with its reasons and sources, in the App or through your AI (`/capture`).
95
+ - **Pause and resume.** Save findings and a session log, update affected pages, and record progress and next steps in the project Brief (`/handoff`). Pick up that context next time (`/brief`).
177
96
 
97
+ **Organize accumulated memories when needed:** Synthesize or refresh cited pages from related memories (`/wenlan distill`); writing a new page does not require this step. [Plugin commands](plugin/skills/README.md).
178
98
 
99
+ <a id="what-does-wenlan-build"></a>
100
+ <a id="why-it-compounds"></a>
101
+ <a id="what-is-this"></a>
179
102
  <a id="what-you-get"></a>
180
103
  <a id="what-can-it-do"></a>
181
104
  <a id="what-can-i-bring-in"></a>
105
+ <a id="knowledge-graph"></a>
182
106
 
183
- ## Capabilities
184
-
185
- ### Bring your material in
186
-
187
- - **Keep useful AI conversations:** Import ChatGPT or Claude export ZIPs without duplicating conversations already imported.
188
- - **Bring your existing notes:** Import Markdown, text files, or text-extractable PDFs, by file or folder; connect an Obsidian vault as a source. Scanned PDFs need text extraction first.
189
- - **Quick Capture:** Save a thought or decision directly in the desktop app without opening an AI chat.
190
- - **[Capture decisions with your AI](https://wenlan.app/learn/ai-work-memory):** Ask your AI tool to save decisions, lessons, corrections, preferences, and facts, with their sources and what they replace.
191
- - **Bring in another wiki:** Import an external OKF wiki through the CLI or API, preserving source references and links. Reimporting Wenlan's own OKF exports is not supported.
192
-
193
- ### Explore your personal wiki
107
+ <a id="browse-and-organize-your-knowledge"></a>
194
108
 
195
- - **[Editable, source-linked Pages](https://wenlan.app/docs/source-backed-pages):** Turn related documents and Memories into Markdown Pages with citations and links to other Pages.
196
- - **Cards or lists:** Browse Pages, Entities, and Spaces in the view that suits you.
197
- - **[Knowledge graph](docs/technical-foundations.md#graph-data-and-entity-resolution):** Explore connections between people, projects, claims, and the Memories supporting them.
109
+ <a id="connect-your-knowledge"></a>
198
110
 
199
- ### Use it with your AI tools
111
+ <br>
200
112
 
201
- - **[Pick up in another AI tool](https://wenlan.app/docs/architecture):** Connected Claude Code, Codex, and other MCP clients can use the same local Pages and Memories as the desktop app and CLI.
202
- - **[Search by words and meaning](docs/technical-foundations.md#retrieval-pipeline):** Combine exact matches with local semantic search; graph connections can add relevant context.
203
- - **[Optional deeper search](docs/technical-foundations.md#optional-channels-and-defaults):** Search Pages and finer-grained Memories, with optional reranking to refine results.
204
- - **[Keep projects separate](https://wenlan.app/docs/spaces):** Use Spaces to choose which work, personal, client, or repository knowledge your AI searches.
205
- - **Web access (experimental):** Connect a supported web AI client to your whole library, or to one Space you choose, while your computer is online. Queries and results pass through a relay; see [how access works and its privacy limits](docs/PRIVACY.md#pre-release-standalone-wenlan-relay-connector).
206
- - **Connect your own tools:** Send prepared text, webpage content, or Memories through the local HTTP API. It accepts content, not URLs to fetch.
113
+ ## Organize scattered material into knowledge
207
114
 
208
- ### Keep knowledge current
115
+ **Sources** preserve documents and conversations; **memories** keep the decisions, lessons, and reasons worth reusing. Combine them in editable **Markdown pages with citations**, connect pages with `[[wikilinks]]`, and follow citations back to the originals.
209
116
 
210
- Optional background organization and Page updates need a [configured model](#models-and-privacy).
117
+ - **Atomic memories:** Following [Zettelkasten’s principle of atomicity](https://zettelkasten.de/posts/create-zettel-from-reading-notes/), keep findings independently retrievable and reusable without loading an entire conversation or page.
118
+ - **Shared topics:** With an enrichment model configured, LLM entity extraction and entity resolution link mentions of the same person, project, or concept across documents and conversations, retaining their memories and sources.
119
+ - **Knowledge communities:** Group connected topics to reveal related knowledge across your material. Label Propagation runs by default; Leiden is available as an opt-in algorithm. [Graph details](docs/technical-foundations.md#graph-data-and-entity-resolution).
211
120
 
212
- - **Incremental sync:** File and folder Sources track changes in the background. Obsidian vaults stay read-only and resync on demand.
213
- - **[Organize saved knowledge](docs/technical-foundations.md#typed-memory-schema):** A configured model can add types, structured details, relevant dates, tags, search cues, and graph links to Memories.
214
- - **Updates backed by sources:** Automatic refresh rejects drafts with insufficient citations. AI-generated Pages can update; changes to Pages you have edited become review proposals.
215
- - **[Review where judgment matters](https://wenlan.app/docs/review-and-trust):** Review protected conflicts, Page revisions, entity merges, and new vocabulary.
216
- - **See what is happening:** Check progress and blockers in Activity. Configured sync, Steep (background enrichment), and eligible Page updates can continue after the app window closes while the local service runs.
121
+ ### Sources and imports
217
122
 
218
- ### Keep ownership and control
123
+ | Bring in | How you can use it |
124
+ | --- | --- |
125
+ | Markdown, text, text-based PDFs, or a folder | Search and cite the imported text; refresh connected file sources from disk. |
126
+ | An Obsidian vault | Search and cite existing notes through a read-only connection. Refresh on demand; nothing is written back. |
127
+ | Web excerpts with a URL | Paste the text and its URL to save searchable material with a link to the original. |
128
+ | ChatGPT or Claude export ZIPs | Retrieve earlier conversation text and cite it as context; imports are snapshots, not live account connections. |
129
+ | Existing memories as text | Save preferences, decisions, or lessons as individual memories. |
219
130
 
220
- - **[Local, inspectable knowledge](https://wenlan.app/learn/local-first-ai-memory):** Keep Markdown Pages, citations, revisions, and Obsidian exports; Memories and graph data live in local libSQL.
221
- - **Take your wiki with you:** Export eligible Pages across Spaces as an OKF v0.2 wiki from Settings or the CLI. This is a wiki export, not a full database backup.
222
- - **[Model choice](docs/technical-foundations.md#model-roles):** Base retrieval stays local. Steep, the optional background enrichment and synthesis, can use on-device Qwen, a local endpoint, or a cloud model; remote providers receive the content needed for their tasks.
223
- - **Health checks and reviewed repairs:** [Doctor](https://wenlan.app/docs/diagnostics-and-issue-reports) and [lint](plugin/skills/lint/SKILL.md) report problems without rewriting knowledge. For supported findings, the app lets you preview and explicitly apply a repair, then verify it.
131
+ Scanned PDFs need text extraction first; chat attachments are not imported. [Import guide](docs/import-guide.md).
224
132
 
225
- **Start with a note you want to keep.** [Get started](#start-in-30-seconds). Star this repo if you'd like to come back and try it later.
133
+ <a id="explore-your-personal-knowledge-graph"></a>
226
134
 
135
+ <p align="center">
136
+ <img src="./docs/assets/wenlan-personal-graph.png" alt="Wenlan knowledge graph with illustrative regions for personal interests, research, and development" width="100%">
137
+ </p>
138
+ <p>App nodes and connections; translated labels and illustrative regions.</p>
227
139
 
228
140
  <a id="how-wenlan-works"></a>
229
141
  <a id="how-does-it-work"></a>
230
142
 
231
- ## Daily workflow
232
-
233
- Once your AI tool is connected, you can ask in plain language:
143
+ <a id="what-wenlan-is-not"></a>
144
+ <a id="retrieval"></a>
145
+ <a id="retrieval-across-words-meaning-and-connections"></a>
234
146
 
235
- With the Wenlan plugin installed, you can also use the slash commands below.
147
+ <a id="use-your-knowledge-with-ai"></a>
236
148
 
237
- ### Before starting a task
149
+ <br>
238
150
 
239
- > Find what I've saved in Wenlan about [topic], including earlier decisions and their sources.
151
+ ## Put your knowledge to work with AI
240
152
 
241
- Shortcut: `/recall [topic]`
153
+ An agent can read files and write text. Wenlan adds a **shared knowledge base maintained across tasks and AI tools**: retrieve earlier decisions with their supporting material, save new work, and keep using it as the evidence changes.
242
154
 
243
- ### When you reach a useful conclusion
155
+ **Use it for:**
244
156
 
245
- > Save this decision and why we made it in Wenlan, with its sources.
157
+ - **Development:** Bring earlier technical decisions, lessons, and acceptance criteria into implementation and debugging.
158
+ - **Products and websites:** Use customer research, positioning, and design principles to draft specifications or build pages.
159
+ - **Research and learning:** Turn reading material and saved findings into cited reports or study notes you can reuse.
246
160
 
247
- Shortcut: `/capture [decision, reasons, and sources]`
161
+ **Retrieval and connections:** Plugins guide retrieval and saving; MCP connections expose the tools for your AI to call.
248
162
 
249
- ### When a topic deserves a page
163
+ - **[Local hybrid retrieval](docs/technical-foundations.md#retrieval-pipeline):** Find exact terms and similar meaning with SQLite FTS5 and BGE embeddings, fused by weighted Reciprocal Rank Fusion (RRF); base search needs no API key.
164
+ - **Graph-assisted ranking:** Shared-entity links boost related memories even when their wording differs. Optional cross-encoder reranking compares each candidate with the question to refine the order.
165
+ - **Space-scoped retrieval:** Select a Space to limit returned knowledge to the relevant project or personal collection.
250
166
 
251
- > Create or update a Wenlan page on [topic] from the material we've saved. Keep the citations.
167
+ **Coming soon:** Coding repository support in Spaces.
252
168
 
253
- To organize saved knowledge into pages: `/distill`
169
+ <p align="center">
170
+ <img src="./docs/assets/wenlan-knowledge-to-work.png" alt="Let AI continue from what you already know: keyword, semantic and Graph retrieval" width="100%">
171
+ </p>
172
+ <p>Fictional example, not a product test; Wenlan adds context alongside Claude’s native memory.</p>
254
173
 
255
- Open the page in Wenlan to read, edit, and check its sources. Next time, ask your AI to use it for your next task.
174
+ Turn on **Web access** in Settings to let supported web AI clients such as Claude, ChatGPT, or Muse search your library or a chosen Space while your computer is online. This feature is experimental; queries and results pass through a relay. See the [privacy limits](docs/PRIVACY.md#pre-release-standalone-wenlan-relay-connector).
256
175
 
257
- ### When you wrap up
176
+ <a id="what-makes-wenlan-distinct"></a>
177
+ <a id="why-is-wenlan-different"></a>
178
+ <a id="two-lifecycles"></a>
179
+ <a id="two-lifecycles-one-maintained-knowledge-system"></a>
180
+ <a id="local-markdown"></a>
181
+ <a id="atomic-memory"></a>
182
+ <a id="maintained-page"></a>
183
+ <a id="local-markdown-that-works-with-obsidian"></a>
258
184
 
259
- > Save this session's progress, decisions, and open questions in Wenlan so we can pick up next time.
185
+ <a id="keep-knowledge-current-and-preserve-history"></a>
260
186
 
261
- Shortcut: `/handoff`
187
+ <br>
262
188
 
263
- <details>
264
- <summary>Plugin commands and maintenance</summary>
189
+ ## Steep: keep knowledge useful as it changes
265
190
 
266
- - **Read the project summary:** `/brief [topic]` reads the current Space's project summary; an optional topic adds related context from that Space.
267
- - **Check and review:** `/lint` checks knowledge health; `/curate` reviews pending captures or revisions.
191
+ Saving material is only the start. **Steep prepares it for reuse and keeps supported pages current**, so you and your AI can build on earlier findings instead of repeatedly working through the originals.
268
192
 
269
- These shortcuts are available through the Wenlan plugins. Other connected clients use the equivalent MCP tools. Optional background organization and Page updates need a [configured model](#models-and-privacy).
193
+ - **Enrich memories:** Add types, structured details, search cues, and graph links so individual findings are easier to retrieve in context.
194
+ - **Follow the evidence:** Changed sources or memories flag dependent pages for refresh; new memories can enrich eligible pages. Refresh keeps the saved page if a draft fails citation checks. Passing these checks does not establish factual correctness.
195
+ - **Keep control and history:** Background refresh updates eligible AI-maintained pages; your authored or edited pages receive proposed revisions. Explicit memory replacements hide or archive earlier memories while preserving their links. Page revisions remain inspectable.
270
196
 
271
- [Full command reference](plugin/skills/README.md).
197
+ [Steep guide: triggers, review rules, and model setup](docs/steep.md). Choose an on-device model, a local server, or a cloud provider; model-backed background work is optional.
272
198
 
273
- </details>
199
+ <p align="center">
200
+ <img src="./docs/assets/wenlan-updates-history.png" alt="Illustrative flow: a finding in a source document updates memory from V1 to V2, then informs a note that is either updated automatically or sent for review." width="100%">
201
+ </p>
202
+ <p>Illustration based on current update behavior; not an App screenshot.</p>
274
203
 
275
- <a id="offline-queue-outbox"></a>
204
+ <a id="architecture"></a>
276
205
 
277
- [CLI offline writes and replay](docs/setup-and-data.md#offline-queue).
206
+ <br>
278
207
 
279
- <a id="models-and-privacy"></a>
208
+ ## Architecture
280
209
 
281
- ### Models and privacy
210
+ **One local knowledge base.** App, CLI, and connected AI tools read and write through Wenlan’s local service. Pages are Markdown files; memories, relationships, and search indexes live in local libSQL.
282
211
 
283
- Use your connected AI to write pages without installing an additional local language model. Background organization and automatic updates are optional and need a configured model.
212
+ <p align="center">
213
+ <img src="./docs/assets/wenlan-architecture.png" alt="Architecture overview: App and AI tools share a local knowledge base, with optional background enrichment models." width="100%">
214
+ </p>
284
215
 
285
- - **Search stays local.** The search model downloads at first launch and runs on your machine, without an API key.
286
- - **Connected AI can receive your knowledge.** A cloud AI client can send retrieved content to its provider. Choosing a cloud model for background organization also sends the material needed for that task. Local storage does not make those interactions local.
287
- - **Usage statistics are off by default.** If you opt in, Wenlan sends limited operation counts, version, and platform, not your knowledge content or an installation ID. [Details](docs/PRIVACY.md#telemetry).
216
+ Architecture overview. [Retrieval, evidence, and models](docs/technical-foundations.md).
288
217
 
289
- See [network and privacy details](docs/PRIVACY.md#when-wenlan-reaches-the-network) for downloads, update checks, remote images, and optional remote access.
218
+ <a id="models-and-privacy"></a>
290
219
 
291
- [Model choices and configuration](docs/setup-and-data.md#models).
220
+ <br>
292
221
 
293
- ### Your data and uninstall
222
+ ## Data and privacy
294
223
 
295
- Your pages and session notes are Markdown files; memories and the graph live in a local database. You can keep your knowledge when you uninstall the app.
224
+ **Export your wiki:** Export eligible pages as an Open Knowledge Format (OKF) wiki.
296
225
 
297
- [File locations, backup, and removal](docs/setup-and-data.md#backup-and-removal).
226
+ A cloud AI client may send retrieved knowledge to its provider, and a cloud model receives the material it processes. Local storage does not keep those interactions local. Usage statistics are off by default.
298
227
 
228
+ [File locations, backup, and removal](docs/setup-and-data.md#backup-and-removal) · [Network and privacy details](docs/PRIVACY.md#when-wenlan-reaches-the-network).
299
229
 
300
230
  <a id="evaluation"></a>
301
231
 
232
+ <br>
233
+
302
234
  ## Evaluation
303
235
 
304
- This is a retrieval-only snapshot, not a claim about end-to-end answer quality. Method, environment receipts, and the update workflow live in [docs/eval](docs/eval/README.md).
236
+ These LongMemEval (LME) snapshots measure retrieval of saved knowledge, not AI answer quality. Recall@5 measures how much relevant material appears in the top five results.
305
237
 
306
238
  <!-- EVAL_SNAPSHOT_START -->
307
239
  | Benchmark | Recall@5 | MRR | NDCG@10 |
@@ -310,94 +242,52 @@ This is a retrieval-only snapshot, not a claim about end-to-end answer quality.
310
242
  | LME_S (deep, 90 Q) | 87.7% | 0.815 | 0.822 |
311
243
  <!-- EVAL_SNAPSHOT_END -->
312
244
 
245
+ [Evaluation method and benchmark details](docs/eval/README.md).
313
246
 
314
247
  <a id="learn-more"></a>
315
248
 
316
- ## Learn more
317
-
318
- More detailed documentation, concepts, and comparisons:
319
-
320
- ### Docs
321
-
322
- - [Get started](https://wenlan.app/docs/get-started): install and verify the first local loop.
323
- - [Daily workflow](https://wenlan.app/docs/daily-workflow): brief, capture, recall, handoff, distill, lint, and curate.
324
- - [MCP clients](https://wenlan.app/docs/mcp-clients): connect Claude Code, Codex, Cursor, Claude Desktop, and other clients.
325
-
326
- ### Workflow guides
327
-
328
- - [Build your first LLM Wiki](https://wenlan.app/learn/distilled-wiki-pages-ai-memory): work through a three-source example, check its citations, and review what changes when a source is updated.
329
- - [Build a client project knowledge base for consulting](https://wenlan.app/learn/build-client-project-knowledge-base-for-consulting)
330
- - [Build an investment research knowledge base](https://wenlan.app/learn/build-investment-research-knowledge-base)
331
- - [Build a product research knowledge base before writing a PRD](https://wenlan.app/learn/build-product-research-knowledge-base-for-prd)
332
- - [Build an SRE incident knowledge base](https://wenlan.app/learn/build-sre-incident-knowledge-base)
333
- - [Build a business metric definition knowledge base](https://wenlan.app/learn/build-business-metric-definition-knowledge-base): turn approved KPI specifications into a source-backed data dictionary with formula text, grain, exclusions, owners, revisions, and review state.
334
-
335
- ### Concepts
249
+ <a id="offline-queue-outbox"></a>
336
250
 
337
- - [Why a living wiki, not just AI memory](https://wenlan.app/learn/ai-work-memory): the problem and product model in depth.
338
- - [MCP memory server](https://wenlan.app/learn/mcp-memory-server): how Wenlan exposes knowledge across AI tools.
339
- - [Local-first AI memory](https://wenlan.app/learn/local-first-ai-memory): data, privacy, and control.
340
- - [Markdown and local index](https://wenlan.app/learn/local-first-ai-memory): storage, retrieval, and ownership.
341
- - [AI agent handoff loop](https://wenlan.app/learn/ai-agent-handoff-loop): carrying work cleanly into the next session.
342
- - [Research knowledge base from papers](https://wenlan.app/learn/source-backed-research-knowledge-base): build an inspectable literature matrix and source-backed synthesis from papers you already have.
251
+ <br>
343
252
 
344
- ### Comparisons
253
+ ## Learn more
345
254
 
346
- - [Wenlan vs Basic Memory](https://wenlan.app/learn/wenlan-vs-basic-memory)
347
- - [Wenlan vs claude-mem](https://wenlan.app/learn/wenlan-vs-claude-mem)
348
- - [Wenlan vs Superlocal Memory](https://wenlan.app/learn/wenlan-vs-superlocal-memory)
255
+ - [Get started and install](docs/setup-and-data.md#installation)
256
+ - [Connect an AI tool](docs/setup-with-ai.md)
257
+ - [Sources and imports](docs/import-guide.md)
258
+ - [Local files, backups, and offline use](docs/setup-and-data.md)
259
+ - [Privacy](docs/PRIVACY.md)
260
+ - [Doctor and issue reports](https://wenlan.app/docs/diagnostics-and-issue-reports)
261
+ - [Full documentation index](docs/README.md)
349
262
 
263
+ <br>
350
264
 
351
265
  ## Contributing
352
266
 
353
- Bug fixes, eval cases, docs, and features are welcome. Installing Wenlan does not require building from source. For local development, run these commands from this repository's root:
354
-
355
- ```bash
356
- # daemon crates (default-members — the desktop app is not compiled)
357
- cargo build
358
- cargo test
359
-
360
- # desktop app (Cargo target and root-level frontend tooling)
361
- pnpm install
362
- pnpm dev:all
363
- pnpm build:all
364
- ```
365
-
366
- `pnpm dev:all` is the supported development entry point for the desktop app. It keeps development ports, data, process ownership, app identity, MCP sockets, and Remote Access state separate from the installed production runtime; a debug app started without that isolation refuses to run. See this repository's [AGENTS.md](AGENTS.md) and [CONTRIBUTING.md](.github/CONTRIBUTING.md), plus the in-tree [app/AGENTS.md](app/AGENTS.md), for the complete development workflow. Security reports: [SECURITY.md](.github/SECURITY.md). Privacy policy: [PRIVACY.md](docs/PRIVACY.md). Please also read the [Code of Conduct](.github/CODE_OF_CONDUCT.md).
267
+ Join the [Discord community](https://discord.gg/nmzVTTU3HG). Report bugs or request features in [GitHub issues](https://github.com/wenlan-app/wenlan/issues); issues are public, so redact secrets and personal information.
367
268
 
269
+ For code and docs, see [Contributing](.github/CONTRIBUTING.md), [Security](.github/SECURITY.md), and the [Code of Conduct](.github/CODE_OF_CONDUCT.md).
368
270
 
369
271
  <a id="code-signing-policy"></a>
370
272
 
371
- ## Code signing policy
372
-
373
- macOS desktop releases are Developer ID signed and notarized. Windows installers are not signed yet.
273
+ <br>
374
274
 
375
- Releases are built from tagged commits by this repository's release workflow on GitHub-hosted runners. Maintainers must use multi-factor authentication on GitHub.
376
-
377
- [Platform signing details](docs/code-signing.md) · [Privacy policy](docs/PRIVACY.md).
275
+ ## Code signing policy
378
276
 
277
+ See the [platform signing and notarization details](docs/code-signing.md).
379
278
 
380
279
  <a id="license"></a>
381
280
 
382
- ## License
383
-
384
- Wenlan uses two licenses, one per part of the repository.
281
+ <br>
385
282
 
386
- - **Apache-2.0** ([`LICENSE`](LICENSE)) covers the local runtime, CLI, MCP server, shared types, and the Claude Code and Codex plugin files. Build on these freely.
387
- - **AGPL-3.0-only** ([`app/LICENSE`](app/LICENSE)) covers the desktop app: the `app/` crate and the React frontend it ships. If you run a modified version of the app as a network service, the AGPL asks you to offer that modified source to its users.
388
-
389
- The split is deliberate. Apache-2.0 code may be used inside an AGPL-3.0 program, so the desktop app builds on the runtime without either license being violated.
283
+ ## License
390
284
 
285
+ The local runtime, CLI, MCP server, shared types, and plugins use [Apache-2.0](LICENSE). The desktop app and its frontend use [AGPL-3.0-only](app/LICENSE); modified versions run as a network service must offer their source to users.
391
286
 
392
287
  <a id="acknowledgments"></a>
393
288
 
394
- ## Lineage and peers
395
-
396
- Wenlan (文瀾) takes its name from 文瀾閣, an imperial library that held 四庫全書 as part of one of China's largest book collections.
289
+ <br>
397
290
 
398
- Wenlan's llm-wiki v2 model is its own product direction, informed by the LLM-wiki and agent-memory lineages:
291
+ ## Lineage and peers
399
292
 
400
- - [Karpathy's LLM-wiki note](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) established the raw-source-to-maintained-wiki pattern.
401
- - [Rohitg00's LLM Wiki v2 proposal](https://gist.github.com/rohitg00/2067ab416f7bbe447c1977edaaa681e2) extends that pattern with memory lifecycle, confidence, graph, and retrieval mechanisms. [agentmemory](https://github.com/rohitg00/agentmemory) is its concrete agent-memory implementation.
402
- - [nashsu/llm_wiki](https://github.com/nashsu/llm_wiki) is a full desktop implementation of the document-centered LLM-wiki pattern.
403
- - [basic-memory](https://github.com/basicmachines-co/basic-memory), [obsidian-mind](https://github.com/breferrari/obsidian-mind), [mcp-memory-service](https://pypi.org/project/mcp-memory-service/), [Memoria](https://github.com/matrixorigin/Memoria), and [OpenMemory](https://github.com/CaviraOSS/OpenMemory) explore adjacent local knowledge and agent-memory shapes.
293
+ Wenlan takes its name from Wenlan Pavilion. Its direction builds on the LLM-wiki and agent-memory lineages: [Karpathy’s LLM-wiki note](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f), [Rohitg00’s proposal](https://gist.github.com/rohitg00/2067ab416f7bbe447c1977edaaa681e2), and [nashsu/llm_wiki](https://github.com/nashsu/llm_wiki).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wenlan-mcp",
3
- "version": "0.19.1",
3
+ "version": "0.19.2",
4
4
  "description": "MCP server for Wenlan, a living knowledge base your agents build as they work",
5
5
  "keywords": [
6
6
  "mcp",