Download Latest Version semlith-v0.51.1-x86_64-pc-windows-msvc.zip (24.5 MB)
Home / v0.49.0
Name Modified Size InfoDownloads / Week
Parent folder
install.ps1 2026-10-28 14.6 kB
install.sh 2026-10-28 12.0 kB
semlith-v0.49.0-aarch64-apple-darwin.tar.gz 2026-10-28 26.7 MB
semlith-v0.49.0-aarch64-apple-darwin.tar.gz.sig 2026-10-28 294 Bytes
semlith-v0.49.0-aarch64-unknown-linux-gnu.tar.gz 2026-10-28 26.4 MB
semlith-v0.49.0-aarch64-unknown-linux-gnu.tar.gz.sig 2026-10-28 294 Bytes
semlith-v0.49.0-x86_64-pc-windows-msvc.zip 2026-10-28 24.4 MB
semlith-v0.49.0-x86_64-pc-windows-msvc.zip.sig 2026-10-28 294 Bytes
semlith-v0.49.0-x86_64-unknown-linux-gnu.tar.gz 2026-10-28 27.7 MB
semlith-v0.49.0-x86_64-unknown-linux-gnu.tar.gz.sig 2026-10-28 294 Bytes
SHA256SUMS 2026-10-28 603 Bytes
SHA256SUMS.sig 2026-10-28 294 Bytes
README.md 2026-10-28 3.4 kB
Semlith 0.49.0 source code.tar.gz 2026-10-28 9.6 MB
Semlith 0.49.0 source code.zip 2026-10-28 10.0 MB
Totals: 15 Items   124.8 MB 0

A machine with no network indexes and searches a folder that holds images, once its model cache is copied from a connected machine. No store format change and no re-index.

Added

  • semlith setup --all-models. Beside the embedding model it fetches the rescoring model and both CLIP encoders, pinned and digest-checked, into the model cache (SEMLITH_MODEL_CACHE when set). It states the total and asks first; --yes answers. A model already cached is skipped, so a second run downloads nothing. With --airgap or SEMLITH_AIRGAP it exits non-zero before any step runs. Without the flag setup downloads what 0.48.0 did.
  • The Privacy page lists every model weight. Rows for the rescoring model, CLIP's vision encoder and CLIP's text encoder, each with its source, size, when it is fetched and whether it is on disk.
  • tests/airgap.sh. A local gate, never run in CI: given a Linux release archive it seeds a cache with setup --all-models in a connected container, then indexes and searches by CLI and stdio MCP in a --network none container with SEMLITH_AIRGAP=1 and the cache mounted read-only.

Fixed

  • A pictured query no longer fails when CLIP's text encoder is missing. Under airgap, or offline, a query that describes something seen ("logo", "a red circle") failed the whole search with the airgap refusal or a DNS error, and the text results went with it. The image lane's error now costs the pictures only: the search answers from its other lists with one note naming why, on stderr for the CLI, in the result text for semlith_search and semlith_brief, and above the portal's results. Nothing is remembered, so the next search after the cache is seeded finds images again.
  • Indexing an image fetches both CLIP encoders. The text encoder waited for the first pictured query, so a cache seeded by indexing on a connected machine had only half of CLIP, although docs/security.md said both came with the first image. It is now fetched and digest-checked with the vision encoder, and still loaded only at the first pictured query. Under airgap a missing text encoder is not an indexing error.
  • A cached rescoring model loads under airgap. The airgap check asked about the reranker by its display name, which no cache directory carries, so SEMLITH_AIRGAP refused a reranker that was on disk. It now asks by repository.

Install

macOS and Linux

:::sh
curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/semlith/semlith/main/install.sh | sh

Windows

:::powershell
irm https://raw.githubusercontent.com/semlith/semlith/main/install.ps1 | iex

Or download the archive for your platform below, unpack it, and put semlith on your PATH. Intel macOS has no prebuilt binary: ONNX Runtime no longer publishes x86_64 macOS builds.

Verify a download against SHA256SUMS before running it, SHA256SUMS against its signature (release key SHA256:a5oJmrakIwDHEWTDWqWe51Ttt6m2tQ0dsGzIqyxDuxs) with echo "semlith-release ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICMTHiHMzeSHzzc+8UDZHUzJcvb6XGUBb+TJdFes91xm" > allowed_signers and ssh-keygen -Y verify -f allowed_signers -I semlith-release -n file -s SHA256SUMS.sig < SHA256SUMS, and its provenance with gh attestation verify <file> --repo semlith/semlith --signer-workflow semlith/semlith/.github/workflows/release.yml.

Source: README.md, updated 2026-10-28