Nickolay Kondratyev2k downloadsSearch your vault (Notes, Canvas, Images) with hybrid semantic and lexical retrieval, powered by an on-device embedding model.
Find anything in your vault — even when you don't remember the exact words.
Seeker is hybrid search for Obsidian. It combines meaning-based (semantic) search with classic keyword search, so it finds buried notes in large, messy vaults. Everything runs inside Obsidian on your device: no API keys, no servers, and your notes never leave your machine.

.base) and Canvas boards (.canvas). Opening a Canvas result jumps to the matching card when it can.tom links kindle finds person/Tom/links/send-to-kindle.md.The first index downloads the embedding model once per device (see Network use).
| Command | What it does |
|---|---|
| Search | Search the whole vault. |
| Search in current folder | Search only the active note's folder and its subfolders. Opens search pre-filled with an editable path:"Folder/*" filter; delete it to search the whole vault again. |
| Open similar notes | Open the Similar notes panel in the right sidebar. Running it again brings the panel forward. |
Inside the search window:
| Key | Action |
|---|---|
↑ ↓ |
Move through results |
Enter |
Open the result |
Cmd/Ctrl + Enter |
Open in a new tab (configurable in settings) |
Tab |
Accept the autosuggestion |
Shift + Enter |
Insert a link to the result into the current note |
| copy link (footer) | Copy a shareable obsidian:// link that reopens this search |
Esc |
Close |
With the mouse: click opens, Cmd/Ctrl-click opens in a new tab, Shift-click inserts a link.
On desktop, the search window shows your results as a map next to the list:
The map shows when the Obsidian window is wide enough. Drag the divider to resize it, or use the tuning icon in the map's corner to adjust grouping and layout live. Turn it off under Settings → Display → Show result map.

Run Open similar notes to open a side panel that follows the note you are reading and shows the notes most like it — as a map (desktop) and a ranked list. Click any note to open it.
Type these in the search box alongside your words. Autosuggestions help you complete them.
| Filter | Example | Meaning |
|---|---|---|
| Tag | #project, #area/work |
Notes with the tag (nested tags included) |
| Folder | path:"Work/*" |
Notes under a folder |
| Property | [status:draft], [status:"done"] |
Frontmatter contains / exactly equals the value |
| Number property | [rating>3] |
Numeric comparison on a number property |
| Date | after:2026-01-01, before:2026-06-30 |
By the note's date (when the recency bonus is on) |
| Exclude | -draft |
Leave out notes containing the word |
Seeker can read the text in your images so it turns up in search. It is on by default; toggle it under Settings → Index (advanced) → Index text in images (OCR).
<your index folder>/ocr/ inside the vault, so it syncs with everything else and no image is read twice across your devices.png, jpg, webp, gif and bmp. svg and heic/heif are skipped (the settings tab shows how many).eng deu fra) in settings. Changing languages does not re-read cached images — use Rebuild OCR cache for that.Seeker embeds your notes with a local embedding model (by default the IBM Granite multilingual model, ~100 MB) and blends those semantic scores with a keyword (BM25) ranker. Each note's folder path and file name are part of what the model reads, so where a note lives counts toward matches (moving a note re-embeds it). Indexing, embedding and ranking all happen inside Obsidian.
The original Seek documentation also applies to Seeker: the user guide and relevance tuning and evaluation.
Seeker indexes on your GPU (WebGPU) when it can and falls back to the CPU otherwise. Search works either way, but indexing on the CPU is much slower. If Seeker is on the CPU, the top of its settings tab says so and a pop-up appears when a full reindex starts.
Obsidian on Linux often ships with WebGPU disabled. The fix is a few launch flags — see the step-by-step guide: WebGPU on Linux.
Seeker runs the embedding model locally, but downloads the model and its runtime once per device, the first time you index a vault:
huggingface.co) — the IBM Granite multilingual embedding model (~100 MB, quantized).cdn.jsdelivr.net).With image OCR on (desktop only), the OCR engine and language data are also downloaded once per device:
cdn.jsdelivr.net).tessdata.projectnaptha.com).These assets are cached on-device afterward, so there are no repeat downloads and Seeker works fully offline once they are in place. Only these assets are ever fetched. No note content, image data, query text, or usage data is transmitted.
Seeker writes diagnostic logs (indexing progress, search activity, and errors) to local files inside your vault to help debug performance and relevance. These logs stay on your device and are never transmitted. You can also generate a search and relevance diagnostics report of your recent searches, with note titles and metadata (no note content); it is written to Seeker's local plugin folder.
Seeker sends no logs or data about your index or your queries to anyone.
Building, testing and releasing: see README_DEVELOPERS.md.
Seeker is a fork of Obsidian-Seek by Ryan Manor, maintained by nickolaykondratyev at nickolay-kondratyev/Obsidian-Seeker. The fork was started to add Canvas and image OCR support and to flag clearly when indexing is not using the GPU, since the original does not take outside contributions (context).
Like the original, Seeker is released under the MIT License (see LICENSE). The original copyright notice is retained alongside the fork's.
It builds on: