Download Latest Version semlith-v0.51.1-x86_64-pc-windows-msvc.zip (24.5 MB)
Home / v0.1.0
Name Modified Size InfoDownloads / Week
Parent folder
semlith-v0.1.0-aarch64-apple-darwin.tar.gz 2026-07-26 12.7 MB
semlith-v0.1.0-aarch64-unknown-linux-gnu.tar.gz 2026-07-26 15.4 MB
semlith-v0.1.0-x86_64-pc-windows-msvc.zip 2026-07-26 11.4 MB
semlith-v0.1.0-x86_64-unknown-linux-gnu.tar.gz 2026-07-26 14.1 MB
SHA256SUMS 2026-07-26 444 Bytes
README.md 2026-07-26 2.3 kB
Semlith 0.1.0 source code.tar.gz 2026-07-26 60.9 kB
Semlith 0.1.0 source code.zip 2026-07-26 71.2 kB
Totals: 8 Items   53.7 MB 0

First release.

Added

  • Local semantic search over files. semlith index walks paths, extracts text, chunks it, embeds it locally, and stores the result. semlith search returns the best-matching excerpts with their file path and line range.
  • turbovec-backed vector index. Vectors are quantized to 4 bits per coordinate and searched with SIMD. No training step, no rebuild as the corpus grows.
  • SQLite for everything else. Chunk text, file paths, line spans and content hashes live in store.db; the vector index holds only vectors keyed by chunk id.
  • Incremental indexing. Files are content-hashed with BLAKE3, so re-running index only re-embeds what changed and prunes what disappeared from disk. A file's hash is committed only after the vector index is durable, so an interrupted run re-indexes rather than leaving chunks that can never match.
  • MCP server. semlith mcp speaks JSON-RPC over stdio and exposes semlith_search and semlith_stats, so any MCP-capable agent can query the store as a tool. The embedding model is loaded at startup so the first call is as fast as the rest.
  • PDF support. PDFs are extracted to text automatically. Parser panics are caught so one malformed file cannot abort an indexing run.
  • Sensible skipping. Honours .gitignore (including outside git repos), skips hidden files, binaries, and files over 8 MiB.
  • Commands for inspecting and maintaining a store: stats, files, forget, models.
  • Model selection. --model picks the embedding model when a store is created; the choice is then pinned, since vectors from two models are not comparable.

Performance

Measured on an 8-core Apple Silicon laptop with 8 GB of RAM over 79 Rust source files (1.5 MB, 2375 chunks):

  • Warm query: ~6 ms
  • Cold CLI start: ~250 ms, almost all of it loading the ONNX model
  • Indexing: ~13 chunks/sec, ~1.7 GB peak RSS
  • Re-index with nothing changed: 17 ms

Install

Download the archive for your platform, unpack it, and put semlith on your PATH. Linux builds need OpenBLAS at runtime (apt-get install libopenblas-dev or your distribution's equivalent). Intel macOS has no prebuilt binary: ONNX Runtime no longer publishes x86_64 macOS builds.

Verify a download against SHA256SUMS before running it.

Source: README.md, updated 2026-07-26