github dualeai/seek v0.17.0

latest release: v0.17.1
4 hours ago

v0.17.0 adds opt-in local code re-ranking and replaces go-git indexing with native Git commands. BM25 remains the default. Query syntax is unchanged.

Highlights

  • Use seek --rerank 'find request parser' for a plain query of two or more words. Seek scores up to 20 candidate files.
  • The pinned 17M-parameter LateOn-Code-edge model and ONNX Runtime 1.29.0 run locally. Seek sends no code or query to a service and downloads no model.
  • Exact phrases, sym: queries, filters, regular expressions, Boolean expressions, negation, and one-word queries stay on BM25. The seek router does not add --rerank.
  • Output flags still control the displayed result. The model can use hidden nearby context. Normal BM25 matches stay in the result set, and any re-ranking failure returns the normal all-term BM25 results.
  • Re-ranking now avoids INT8 score overflow on affected x64 AVX2 and AVX512 systems.
  • Full, scoped, and delta Git indexing now use direct Git commands with full object IDs, batched blob reads, and bounded delta work. The go-git and zoekt/gitindex committed-data paths are gone.
  • Published shard manifests detect missing, extra, or size-changed files. Seek rebuilds interrupted or unloadable shard families.
  • Supported files up to 100 MiB keep full content and Universal Ctags analysis.

Upgrade notes

  • Git 2.36 or later is now required for every Git-backed search.
  • Index generation v3 gives existing Git and folder indexes new cache IDs. Their first search builds a new index. Old cache entries can use extra disk until normal garbage collection removes them after the default 14-day unused age.
  • Universal Ctags is still required to build or update an index.
  • Source builds require Go 1.27 or later. A supported native re-ranker build also needs CGO and a C compiler. CGO_ENABLED=0 make build makes a BM25-only binary.
  • Git origin URLs no longer change cache identity, rank, or links. Local [zoekt] settings can still set the repository name and web-url.

Packages

The release provides native archives for macOS 15 or later and glibc-based Linux, on amd64 and arm64. The Linux archives are built on Ubuntu 24.04 and do not support Alpine or other musl systems.

Assets also include checksums.txt and a CycloneDX SBOM. GitHub provides build-provenance attestations for the archives and checksums, and SBOM attestations for the archives.

Install

curl -sSfL \
  https://raw.githubusercontent.com/dualeai/seek/v0.17.0/install.sh |
  sh -s -- v0.17.0

Known limits

  • Re-ranking can move a less useful file upward. It also uses more time and memory than BM25. First use can take longer while Seek extracts the runtime.
  • Git applies limits of 10,000,000 files and 10 GiB separately to committed and working-tree families. Committed counts happen before .sourcegraph/ignore filtering. A scoped search can still work when the full repository exceeds a limit.
  • The Git rows in the local field benchmark table use the former go-git reader. Use CodSpeed for current comparisons.

Validation

Race-enabled Go tests and plugin tests passed on seven Linux and macOS targets. Static checks and all four release builds passed. The release job published all six assets and the attestations.

Full changelog: v0.16.2...v0.17.0

Don't miss a new seek release

NewReleases is sending notifications on new releases.