Skip to content

v0.6.1 — auto-detected search-mode light + semantic-on-no-keyword-match fix

Choose a tag to compare

@cremenescu cremenescu released this 15 Jun 17:50

A small but important follow-up to 0.6.0: semantic search is now self-evident and works for the queries that need it most.

New

  • Search status light on the Memories page — no toggle to remember. It auto-detects the local embedder and tells you what each search actually did: green = Ollama is up, so search is keyword + semantic; gray = it fell back to classic keyword search, with the exact reason (Ollama off / no vectors / unreadable) on hover. The dashboard health panel reports the embedder too (model + vector count).
  • CLI paritymem.py search prints # search mode: hybrid (FTS + semantic) (to stderr, so piped output stays clean), and a new --no-semantic flag forces keyword-only.

Fixed

  • Semantic search now fires even when nothing keyword-matches — previously the web search returned empty (and the light stayed gray) as soon as the FTS query found no rows, skipping the semantic layer entirely. That defeated the whole point. It now surfaces semantic matches for queries like 4090 -> your GPU notes, mirroring mem.py search.
  • A failing semantic layer can no longer mislabel a good keyword result as "substring / FTS5 unavailable" — the keyword and semantic stages are now in separate try/catch blocks; worst case is keyword-only, never a downgrade to substring.
  • An absent .embed.db (truly no vectors) is now distinguished from a present-but-unreadable one (so the advice "run mem.py embed" is only shown when it actually applies).

Install / upgrade: claude plugin marketplace add cremenescu/mem0ry4ai then claude plugin install mem0ry4ai@mem0ry4ai. Full docs in the README.