Skip to main content
ClaudeWave

Windows-native full-disk search: file names, document contents, and text inside screenshots. Acrylic command palette on Alt+`. Rust · tantivy · Tauri. 本地全盘搜索:文件名、文档内容、截图文字。

MCP ServersOfficial Registry1 stars0 forksRustApache-2.0Updated today
Install in Claude Code / Claude Desktop
Method: Manual · dowse
Claude Code CLI
git clone https://github.com/ltspace/dowse
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "dowse": {
      "command": "dowse"
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Install the binary first: cargo install dowse (or build from https://github.com/ltspace/dowse).
Use cases

MCP Servers overview

English | [简体中文](README.zh-CN.md)

<p align="center">
  <img src="crates/dowse-app/src-tauri/icons/128x128@2x.png" width="96" height="96" alt="dowse logo">
</p>

<h1 align="center">dowse</h1>

<p align="center">
  Open-source local file content search for Windows. Find file names, PDF and Office contents, source code, and text inside screenshots — one hotkey away.
</p>

<p align="center">
  <a href="https://lter.space/dowse/">Website</a> ·
  <a href="https://lter.space/dowse/en/">English product page</a> ·
  <a href="https://lter.space/dowse/windows-file-content-search/">Windows file-content search guide(中文)</a>
</p>

<p align="center">
  <a href="#license"><img src="https://img.shields.io/badge/license-MIT%2FApache--2.0-blue.svg" alt="License"></a>
  <a href="https://github.com/ltspace/dowse/releases/latest"><img src="https://img.shields.io/github/v/release/ltspace/dowse" alt="Latest release"></a>
  <a href="https://github.com/ltspace/dowse/actions/workflows/ci.yml"><img src="https://github.com/ltspace/dowse/actions/workflows/ci.yml/badge.svg" alt="CI status"></a>
  <a href="https://github.com/ltspace/dowse/stargazers"><img src="https://img.shields.io/github/stars/ltspace/dowse?style=flat" alt="GitHub stars"></a>
  <img src="https://img.shields.io/badge/platform-Windows-0078D6?logo=windows&logoColor=white" alt="Platform: Windows">
  <a href="https://www.rust-lang.org"><img src="https://img.shields.io/badge/rust-2024_edition-orange?logo=rust&logoColor=white" alt="Rust edition 2024"></a>
  <a href="https://github.com/ltspace/dowse/releases"><img src="https://img.shields.io/github/downloads/ltspace/dowse/total" alt="Downloads"></a>
  <a href="https://glama.ai/mcp/servers/ltspace/dowse"><img src="https://glama.ai/mcp/servers/ltspace/dowse/badges/score.svg" alt="Glama MCP server score"></a>
</p>

The name comes from a dowsing rod.

![dowse overlay mid-search, query "sql" with ranked file results and a live preview pane](docs/screenshots/hero.png)

## Motivation

No Windows tool satisfies all three of the following at once:

- Keep a persistent index of file contents, not just file names (Everything can scan contents on demand, but its instant index is centered on names and paths)
- Recognize and index text inside images on ordinary Windows PCs without requiring a Copilot+ device
- One hotkey to summon, full keyboard operation, no perceptible latency

The closest open-source implementation is sist2, but it targets Linux (on Windows it only runs via Docker), treats Chinese text as trigrams, and the project is no longer maintained. dowse is a Windows-native implementation built around these three points.

## Features

| | |
|---|---|
| 🔍 **File name search** | Instant, as you type |
| 📄 **Document content search** | Plain text, Markdown, code, and document formats (PDF, Word, Excel, PowerPoint) |
| 🖼️ **Screenshot / image OCR** | Text inside PNG/JPG/WebP/BMP images, fully offline (Windows.Media.Ocr) |
| 🈶 **Chinese word segmentation** | jieba + BM25 ranking, not trigrams — plus automatic GBK encoding detection |
| ⚡ **Incremental indexing** | File-watch during runtime, mtime/size reconciliation at startup |
| 🤖 **MCP server** | Exposes local search to AI agents over stdio |
| 🚀 **NTFS fast path** | MFT enumeration + USN Journal, admin-only, falls back transparently otherwise |

## dowse vs. the alternatives

| | dowse | Everything | Windows Search | sist2 |
|---|:---:|:---:|:---:|:---:|
| File name search | ✓ | ✓ | ✓ | ✓ |
| Document content search | ✓ (persistent index) | on-demand scan | depends on indexed locations and filters | ✓ |
| Screenshot / image OCR | ✓ | ✗ | device/version dependent | limited (optional Tesseract) |
| Proper Chinese segmentation | ✓ (jieba) | — | limited | ✗ (trigrams) |
| Fully local, no network | ✓ | ✓ | ✓ | ✓ |
| Global hotkey overlay | ✓ | ✓ | ✓ (Win key) | ✗ (web UI) |
| Windows-native | ✓ | ✓ | ✓ | ✗ (Linux-first, Docker on Windows) |

## Chinese text handling

- Word segmentation via jieba, ranking via BM25 (tantivy engine). No trigrams.
- Automatic file encoding detection (chardetng). GBK-encoded files are decoded correctly before indexing — this matters because a large share of Chinese-language documents on Windows, especially older ones, are still saved in GBK rather than UTF-8, and a search tool that assumes UTF-8 will silently mis-index or garble them.
- Multi-term queries default to AND semantics. Quoted phrase queries match on exact position. Inline operators narrow things down further: `path:reports`, `mtime:>2026-01-01`, `size:>10mb`, uppercase `OR` between groups, `-term` to exclude.
- OCR runs on the Windows-native engine (Windows.Media.Ocr), fully offline. The zh-Hans language pack also covers mixed Chinese/English text, no extra configuration required.

## Performance

Design targets; exceeding them is treated as a defect. "Measured" is a from-scratch
benchmark of `dowse 0.7.0` (i7-13700K / 24 logical cores / 64GB RAM, single machine,
single session, 2026-07-12), reusing the byte-identical corpus from the v0.6.1 round-3
benchmark for direct comparability. Full raw output (index/search logs, JSON result
files) is kept with the benchmark working directory, outside this repo.

| Metric | Design target | Measured (v0.7.0, 2026-07-12) |
|---|---|---|
| Hotkey to window visible | < 50ms | not measured — CLI-only benchmark, no overlay-app instrumentation |
| Keystroke to results rendered | < 80ms | not measured — same |
| OCR, single image | ~112ms / 1080p screenshot | ~170ms isolated (480×200 synthetic image), unchanged from v0.6.1 — the OCR pipeline was not modified this release. Sub-30ms readings on immediate repeat runs of the same image reflect OS-level recognition caching, not real recognition, and are excluded here. Not real 1080p screenshots |
| Resident memory | < 150MB idle | not measured (idle); peak working set during full-corpus indexing was ~327MB — a different metric, not a regression against the idle target |
| Installer size | < 50MB (revised 2026-07 — the original 15MB target predates the bundled CLI sidecar) | **14.98MB** (`dowse-app_0.9.0_x64-setup.exe`, published release) |
| Full-text index build, 10,000 files / 437MB | seconds (planned filename-only fast path) | 10.0–10.6s — current full-content `dowse index`, not the planned filename-only MFT path |
| Full-text index build + OCR, 15,100 files (incl. 5,100 images) | — | ~46.6s first pass, all 5,100/5,100 images OCR'd in that same pass — no pending, no second pass needed |
| Search latency, P50 (5 required categories) | — | 30.7–161.1ms across single word / Chinese phrase / English phrase / multi-word AND / zero-result, on a 15,100-document index |
| Search latency, P95 | — | 39.1–172.3ms, same 5 categories |
| `ext:` filter query latency | — | P50 155.6ms, same band as the non-zero-result query categories |
| Index size ÷ corpus size | — | 0.36 (text-only), down from 0.54 in the v0.6.1 round |

Full-corpus rows measured on the same 10,000-file / 437.66MB text corpus plus 5,100
synthetic 480×200 OCR images (89.8MB) used for the v0.6.1 round-3 numbers above —
byte-identical, reused directly rather than regenerated. Indexing is roughly 2x faster
and the on-disk text index roughly a third smaller than v0.6.1; both track the new
tokenizer (lowercase normalization, alphanumeric-boundary splitting of Latin words)
producing a leaner term dictionary. The zero-result query dropped from 135ms (v0.6.1)
to a startup-noise-level 31ms, consistent with less index to scan before concluding a
term is absent. OCR recognition speed is unchanged this release, since the pipeline was
not touched: single-image recognition stays around 170ms, and the sub-30ms readings on
repeated identical images are OS-level caching artifacts, not real recognition. The
full-corpus text-plus-OCR pass got faster (83s to 46.6s) from the quicker tokenizer and
write path, not from faster recognition.

## Quick start

**Download** — grab the installer from the [latest release](https://github.com/ltspace/dowse/releases/latest) (`dowse-app_*_x64-setup.exe`), run it, then `Alt+\`` to summon.

The installer is unsigned, so Windows SmartScreen will flag it on first run. To proceed, click **More info** and then **Run anyway**. A code-signing certificate is a recurring cost that is hard to justify for an independent project; it may be reconsidered for a future release.

**Install the CLI** — the library and command-line tool ship as one `dowse` package:

```powershell
cargo install dowse                 # once published to crates.io
cargo install --path crates/dowse   # from a local checkout
```

**Build from source:**

```powershell
git clone https://github.com/ltspace/dowse && cd dowse

# CLI
cargo run -p dowse -- index D:\docs      # build the index
cargo run -p dowse -- search 限流         # search
cargo run -p dowse -- search "精确短语"   # phrase query
cargo run -p dowse -- add E:\projects     # add another root incrementally (no full rebuild)
cargo run -p dowse -- rules show          # view index rules (excluded dirs, extra extensions, size cap)

# Overlay app (Tauri 2 + Svelte 5)
cd crates/dowse-app
npm install
cargo tauri build      # produces the installer under target/release/bundle
```

Overlay app: `Alt+\`` to summon, `↑↓` to select, `Enter` to open, `Ctrl+Enter` to reveal in Explorer, `Ctrl+C` to copy path, `Esc` to hide. Two nearly invisible dropdowns sit at the right of the search bar — file type filter (`Ctrl+P`) and sort order (`Ctrl+S`, relevance / newest / oldest / largest); both stay faint until you select a non-default value. Right-click a result row for a native Explorer-style context menu (open / reveal in folder / copy path / copy name). A pin toggle at the top-right keeps the window open when it loses focus (session-only, resets on restart). With an empty input, the overlay lists your recent searches (last 10, stored locally) — `↑↓`/`Enter` to reuse one, `Delete` to remove it. `Ctrl+,` opens the settings panel — general (hotkey re
chinesedesktop-searcheverything-alternativefile-searchfull-text-searchjiebalauncherlocal-firstocrprivacyrustsearchspotlight-alternativetantivytauriwindowswindows-11

What people ask about dowse

What is ltspace/dowse?

+

ltspace/dowse is mcp servers for the Claude AI ecosystem. Windows-native full-disk search: file names, document contents, and text inside screenshots. Acrylic command palette on Alt+`. Rust · tantivy · Tauri. 本地全盘搜索:文件名、文档内容、截图文字。 It has 1 GitHub stars and was last updated today.

How do I install dowse?

+

You can install dowse by cloning the repository (https://github.com/ltspace/dowse) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is ltspace/dowse safe to use?

+

ltspace/dowse has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.

Who maintains ltspace/dowse?

+

ltspace/dowse is maintained by ltspace. The last recorded GitHub activity is from today, with 0 open issues.

Are there alternatives to dowse?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy dowse to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: ltspace/dowse
[![Featured on ClaudeWave](https://claudewave.com/api/badge/ltspace-dowse)](https://claudewave.com/repo/ltspace-dowse)
<a href="https://claudewave.com/repo/ltspace-dowse"><img src="https://claudewave.com/api/badge/ltspace-dowse" alt="Featured on ClaudeWave: ltspace/dowse" width="320" height="64" /></a>

More MCP Servers

dowse alternatives