diff --git a/README.md b/README.md
index 4269e84..c18eedf 100644
--- a/README.md
+++ b/README.md
@@ -48,6 +48,7 @@ Your microphone **and** the meeting's audio become a live, per-speaker transcrip
| 🔌 **Zero dependencies** | One-click system-audio capture — **no BlackHole**, no kernel extensions, no virtual devices |
| 🎛️ **Truly customizable** | Choose, configure, and **delete** models freely. Language, accuracy/speed, decoding params — all in your hands |
| 📄 **SOTA file transcription** | Accurate batch transcription with diarization, word-level timestamps, custom vocabulary, and structured export |
+| 🧠 **Private searchable memory** | Every meeting auto-saved to a local library you can search by **meaning**, not just keywords — on-device embeddings (Qwen3, BGE-M3, multilingual E5) with hybrid keyword + semantic ranking |
| 🪶 **Tiny footprint** | An 8–22 MB installer; multi-GB models stream in only when you ask for them |
---
@@ -83,6 +84,19 @@ Drop in any audio or video file and get a transcript you can trust:
+## 🧠 A private, searchable memory
+
+Every meeting Wisp transcribes is saved to a **local notes library** — and you can search across all of them by *meaning*, fully on-device.
+
+- **Semantic + keyword, fused.** Search *"the budget discussion"* and Wisp finds the right note even if those exact words were never spoken — SQLite FTS5 keyword matching fused with vector similarity (hybrid). Every hit shows *why* it matched: keyword highlights and a semantic confidence score.
+- **SOTA local embeddings — your pick.** Download, switch, and delete on-device embedding models right in Settings:
+ - **Qwen3-Embedding 0.6B** — a state-of-the-art instruction-tuned **decoder** embedder
+ - **BGE-M3** — 1024-dim, 100+ languages, strong CJK
+ - plus **GTE multilingual**, **Multilingual E5** (small / base / large), and **BGE-Chinese**
+
+ Switching models re-indexes your library **atomically** — an interrupted or failed switch never corrupts the existing index.
+- **Nothing leaves the device.** Notes are embedded and searched locally through ONNX Runtime. Prefer a hosted embedder for a job? OpenAI-compatible cloud models are **opt-in**, with your own key.
+
## 🔒 Local-first & genuinely private
Transcription, diarization, denoising, and VAD all run **on-device** through `sherpa-onnx` and Metal/ANE — no audio ever touches a network. Models are pulled from Hugging Face **only when you choose to install them**, then cached locally.
diff --git a/README.zh-Hans.md b/README.zh-Hans.md
index ede81a5..366e386 100644
--- a/README.zh-Hans.md
+++ b/README.zh-Hans.md
@@ -48,6 +48,7 @@
| 🔌 **零依赖** | 一键采集系统声音 —— **不用 BlackHole**、不用内核扩展、不用虚拟声卡 |
| 🎛️ **真正可定制** | 自由选择、配置、**删除**模型。语言、精度/速度、解码参数 —— 全在你手上 |
| 📄 **顶尖的文件转写** | 精准的批量转写,带说话人分离、词级时间戳、自定义词表,以及结构化导出 |
+| 🧠 **私密可搜索的记忆** | 每场会议自动存入本地笔记库,按**语义**搜索,而不只是关键词 —— 设备端嵌入模型(Qwen3、BGE-M3、多语 E5),关键词 + 语义混合排序 |
| 🪶 **极小体积** | 8–22 MB 的安装包;动辄数 GB 的模型只在你需要时才下载 |
---
@@ -83,6 +84,19 @@
+## 🧠 一个私密、可搜索的记忆库
+
+Wisp 转写的每场会议都会存入**本地笔记库** —— 你可以按*语义*搜索所有笔记,全程在设备端完成。
+
+- **语义 + 关键词,融合检索。** 搜*「预算讨论」*,即使原话从没出现过这几个字,Wisp 也能找到对的那条笔记 —— SQLite FTS5 关键词匹配与向量相似度融合(混合检索)。每条结果都告诉你*为什么*命中:关键词高亮 + 语义置信度。
+- **顶尖的设备端嵌入模型 —— 由你挑选。** 在设置里直接下载、切换、删除设备端嵌入模型:
+ - **Qwen3-Embedding 0.6B** —— 顶尖的指令微调**解码器**嵌入模型
+ - **BGE-M3** —— 1024 维、100+ 语言、强中文
+ - 以及 **GTE 多语**、**多语 E5**(small / base / large)、**BGE 中文**
+
+ 切换模型会**原子地**重建索引 —— 切换中断或失败绝不会损坏已有索引。
+- **不上传任何内容。** 笔记通过 ONNX Runtime 在本地嵌入与检索。某个任务想用托管模型?OpenAI 兼容的云端嵌入模型**按需启用**,用你自己的密钥。
+
## 🔒 本地优先、真正私密
转写、说话人分离、降噪、VAD 全部通过 `sherpa-onnx` 和 Metal/ANE **在设备端**运行 —— 音频从不碰网络。模型**只在你选择安装时**才从 Hugging Face 拉取,然后缓存到本地。