github dualeai/seek v0.18.0

3 hours ago

v0.18.0 makes local semantic code search the default for plain descriptions. It also adds --lexical-only for strict Zoekt-only search.

Changes

  • Plain queries with two or more words now use the bundled LateOn model without a flag. One clean, unscoped Git worktree, one stable file, or one stable folder without a nested Git worktree combines lexical and semantic retrieval. Other scopes can still re-rank lexical candidates.
  • Exact identifiers and phrases, sym: queries, filters, regular expressions, Boolean operators, negation, and one-word queries keep strict BM25 order. Plain descriptions now accept programming names such as C++, operator[], and std::vector.
  • Seek builds and reuses semantic data automatically. If semantic indexing or model scoring fails, lexical results remain available.
  • The release replaces the INT8 model with a static FP16 model and adds native tokenizers and semantic search to all four targets. It uses Core ML on macOS arm64 and the CPU provider elsewhere.

Upgrade

  • Remove --rerank from existing commands. Plain multi-word descriptions now use the model by default:

    seek 'find request parser'
  • Every default query can build semantic data, including exact and router-generated queries. A first large-repository search can take tens of seconds, use several GiB of memory, and create about 1 GiB of cache data. Use --lexical-only for the previous Zoekt-only cost and behavior. GOMAXPROCS does not limit Core ML, ctags, or all native work.

  • Go 1.27 or newer remains required. Source builds now also require CGO and a native C compiler. Use make build; direct go install and CGO_ENABLED=0 builds are not supported. Source targets are macOS and glibc Linux on amd64 and arm64.

Known issue

On macOS 15.x arm64, Seek's Core ML path can return incorrect FP16 scores without an error and can change semantic ranking. The CPU retry runs only when the Core ML session fails to start, so it does not detect this fault. Use --lexical-only on affected systems. See ONNX Runtime issue #32569.

Packages

The release has four archives for macOS and Linux on amd64 and arm64, plus SHA-256 checksums and a CycloneDX SBOM. macOS packages need macOS 15 or newer. Linux packages use glibc and were built on Ubuntu 24.04; musl is not supported.

Each archive includes the binary, license, and third-party notices. Archives and checksums have build-provenance attestations, and archives also have SBOM attestations. The binary contains its model and native libraries; it does not download a model or use a remote API.

Seek needs Universal Ctags to build or update an index. Git worktree search also needs Git 2.36 or later.

Install

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

Full changelog: v0.17.1...v0.18.0

Don't miss a new seek release

NewReleases is sending notifications on new releases.