leonrjg/Wilkes

Perform exact or semantic search across multiple PDFs and text files, with highlights. Local, plug-and-play GUI.

Rust

3

128 commits

updated Sep 19, 2026

See the code
embeddings
grep
gui
huggingface
local
local-ai
pdf
semantic-search

README

Light mode Dark mode

Wilkes

Wilkes

Perform exact or semantic search across multiple PDFs and text files, with highlights.

This project aims to provide a plug-and-play, cross-platform solution for local semantic search.

Features

  • Document viewer with match highlighting
  • Local semantic search: uses open-source embedding models; no cloud
    • You can choose from a set of predefined models or any HuggingFace model
  • Fully configurable: adjust embedding chunk size and overlap, or just use the default settings
  • Cross-platform: works on Windows, Linux, and macOS
  • Web version

Installation

Desktop

Docker

Docker allows you to run software in isolation from your system.

docker run --rm -p 2000:2000 -v wilkes-data:/data ghcr.io/leonrjg/wilkes:latest
# Now you can visit localhost:2000

If you want to build locally instead:

git clone https://github.com/leonrjg/Wilkes
cd Wilkes
docker compose up
# Now you can visit localhost:2000

Demo

You can visit https://demo.wilkes.app to use the app online with your own sample files. The demo is reset every hour.

Why? | Similar software

  • Recoll is complex and has no first-party PDF support
  • Clapgrep is good but only for Linux
  • Docfetcher (Free) doesn't show highlights
  • Baloo is only for Linux
  • Open Notebook requires setting up Ollama and has no exact search
  • Semantra has no exact search and is unmaintained
  • Semantic is single-file and unmaintained
  • File-Brain looks pretty good, actually - I found this later :)
  • Most others are terminal-based

Engines

Engine selection

The app supports multiple engines to maximize model availability:

  • Fastembed (Default)
    • Default model: all-miniLM-L6-v2-onnx
  • Sentence Transformers (SBERT) via Python
    • Default model: e5-small-v2
    • This has the widest variety of models, but you need to have Python installed. The environment is automatically set up by the app.
  • Candle
    • Default model: all-miniLM-L6-v2

Q&A

  • What model should I use?
    • You can use those marked as "Recommended", try multiple, or just use the default model. You can check the MTEB ranking and use any model from that list (through specific engines). Note that the top 10 of the ranking are too large to run on consumer hardware.

Interface

image SCR-20260410-sbcv SCR-20260410-sjcn SCR-20260410-slfi SCR-20260410-smdp SCR-20260410-slzb SCR-20260410-sllg

Roadmap

  • Workspaces (virtual folders) rather than 1:1 folder mapping
    • Drag-and-drop files
  • Support for EPUB, MOBI, FB2, XPS, CBZ
  • Support for images
  • HTML viewer
  • Office documents

If you have feature requests, feel free to open an issue (or a PR).

Changelog

0.9.5 - 2026-04-20

Added

  • Document metadata extraction (DOI, author, date).
  • External links (Google Scholar) on viewer.
  • Context menu.

Contributing

Coverage Contributions are welcome! Please fork the repository and submit a pull request with your changes.

License

Licensed under either of MIT or Apache-2.0 at your option.

Contributors

leonrjg

123 commits

Copilot

3 commits

leonrjg/Wilkes

Perform exact or semantic search across multiple PDFs and text files, with highlights. Local, plug-and-play GUI.

Rust

3

128 commits

updated Sep 19, 2026

See the code
embeddings
grep
gui
huggingface
local
local-ai
pdf
semantic-search

README

Light mode Dark mode

Wilkes

Wilkes

Perform exact or semantic search across multiple PDFs and text files, with highlights.

This project aims to provide a plug-and-play, cross-platform solution for local semantic search.

Features

  • Document viewer with match highlighting
  • Local semantic search: uses open-source embedding models; no cloud
    • You can choose from a set of predefined models or any HuggingFace model
  • Fully configurable: adjust embedding chunk size and overlap, or just use the default settings
  • Cross-platform: works on Windows, Linux, and macOS
  • Web version

Installation

Desktop

Docker

Docker allows you to run software in isolation from your system.

docker run --rm -p 2000:2000 -v wilkes-data:/data ghcr.io/leonrjg/wilkes:latest
# Now you can visit localhost:2000

If you want to build locally instead:

git clone https://github.com/leonrjg/Wilkes
cd Wilkes
docker compose up
# Now you can visit localhost:2000

Demo

You can visit https://demo.wilkes.app to use the app online with your own sample files. The demo is reset every hour.

Why? | Similar software

  • Recoll is complex and has no first-party PDF support
  • Clapgrep is good but only for Linux
  • Docfetcher (Free) doesn't show highlights
  • Baloo is only for Linux
  • Open Notebook requires setting up Ollama and has no exact search
  • Semantra has no exact search and is unmaintained
  • Semantic is single-file and unmaintained
  • File-Brain looks pretty good, actually - I found this later :)
  • Most others are terminal-based

Engines

Engine selection

The app supports multiple engines to maximize model availability:

  • Fastembed (Default)
    • Default model: all-miniLM-L6-v2-onnx
  • Sentence Transformers (SBERT) via Python
    • Default model: e5-small-v2
    • This has the widest variety of models, but you need to have Python installed. The environment is automatically set up by the app.
  • Candle
    • Default model: all-miniLM-L6-v2

Q&A

  • What model should I use?
    • You can use those marked as "Recommended", try multiple, or just use the default model. You can check the MTEB ranking and use any model from that list (through specific engines). Note that the top 10 of the ranking are too large to run on consumer hardware.

Interface

image SCR-20260410-sbcv SCR-20260410-sjcn SCR-20260410-slfi SCR-20260410-smdp SCR-20260410-slzb SCR-20260410-sllg

Roadmap

  • Workspaces (virtual folders) rather than 1:1 folder mapping
    • Drag-and-drop files
  • Support for EPUB, MOBI, FB2, XPS, CBZ
  • Support for images
  • HTML viewer
  • Office documents

If you have feature requests, feel free to open an issue (or a PR).

Changelog

0.9.5 - 2026-04-20

Added

  • Document metadata extraction (DOI, author, date).
  • External links (Google Scholar) on viewer.
  • Context menu.

Contributing

Coverage Contributions are welcome! Please fork the repository and submit a pull request with your changes.

License

Licensed under either of MIT or Apache-2.0 at your option.

Contributors

leonrjg

123 commits

Copilot

3 commits

Languages

Rust

65.7%

TypeScript

32.0%

Python

1.4%