Skip to content

Releases: formation-res/querylight-cli

Querylight CLI 0.2.0

21 May 12:58

Choose a tag to compare

Highlights

  • qli ingest now runs the full refresh path. It fetches sources, re-chunks affected documents, and refreshes the retrieval index in one command. You can search immediately after qli ingest without running qli rebuild.
  • New workspaces enable dense and sparse retrieval by default. qli init now pulls missing configured models when the runtime is available.
  • Model assets are now stored under ~/.qli/models/ by default so multiple workspaces can reuse the same downloads.

Source registration and crawling

  • qli source add page is now the documented one-page source type. It replaces url in help text and examples.
  • qli source add website can detect one site feed during registration, add it as an rss source, and exclude the inferred article prefix from the website crawl to reduce duplicate ingestion.
  • Website and RSS sources now support --max-concurrent-requests. You can also update that setting later with qli source config.
  • RSS sources now store retention per feed. When you omit --retention-days, qli stores the workspace default from config.yaml.
  • Source add validation is stricter. Website-only crawl flags are rejected for single-page sources instead of being accepted silently.
  • Website crawling now normalizes fragment links, skips low-value query-string and XML variants, and deduplicates canonical page aliases before indexing.
  • Remote ingestion now preserves existing raw content and crawledAt on 304 Not Modified responses while still updating lastSeenAt.
  • qli reprocess can rebuild normalized content from stored raw documents without refetching remote sources.

Search, models, and CLI output

  • qli search can now return the latest matching documents when you omit the query text.
  • Search supports expanded document-date filters, including publication, first seen, last seen, last changed, and crawled timestamps.
  • Search output is cleaner. qli now prefers stronger page titles, hides heading breadcrumbs in CLI results, and collapses duplicate matches for the same canonical page more aggressively.
  • Long-running commands now stream progress to stderr by default. Use --silent to suppress progress output and --json for stable automation output.
  • status and doctor return stable JSON envelopes.
  • qli models pull can pull all available models by default or only missing configured models when needed. Model status now reports artifact and runtime availability.
  • Sparse vector builds now skip cleanly when uv is not installed, and doctor reports that state instead of failing.
  • Dense retrieval now falls back to exact scoring when the approximate index returns no candidates.

Documentation

  • Built-in help now reflects the updated workflow, including qli ingest as the common refresh command, page examples, feed detection behavior, concurrency settings, and --json guidance for automation.
  • The README now matches the current CLI behavior and includes an automation example skill for running qli with bunx and uv.