activeloopai / activeloopai/hivemind
recall: proactive recall silently no-ops on a default install (embeddings opt-in, no lexical fallback, no user signal)
- 主要语言
- TypeScript
- 星标
- 1.6k
- 派生
- 107
- 平均合并
- 17 小时 30 分钟
- 30 天内合并 PR
- 6
描述
Proactive recall is **semantic-only** — `bae7bbb1` dropped the ILIKE fallback because unindexed scans blew the 1500ms blocking budget (`src/hooks/recall.ts:13-17`). That was the right call for latency.
But embeddings are **opt-in**: a fresh marketplace install has no `@huggingface/transformers`, so `detectStatus()` returns `no-transformers` (`src/embeddings/disable.ts:18-22`) and `SEMANTIC_ENABLED` is false (`src/hooks/recall.ts:60`).
**Net effect: on a default install, proactive recall does nothing, forever, with no user-visible signal.** The hook runs, gates, finds no embeddings, emits nothing. Nothing tells the user the headline feature is inactive or how to turn it on.
Degradation today:
| | embeddings ON | embeddings OFF (default) |
|---|---|---|
| Proactive recall | semantic, top-1 | **completely off** |
| Reactive (VFS grep) | lexical + semantic UNION | lexical — still works |
| Capture | writes vectors | writes NULL embedding |
**Suggested fixes**, cheapest first:
1. **One-time notice** via the existing notifications framework: "Proactive recall is off — run `hivemind embeddings install` to enable it." Fires once, at SessionStart, same channel as the referral nudge.
2. **Server-side query embedding** — Deeplake embeds the query; no local deps, one extra hop inside the existing budget.
3. **Ship a small quantized model** in the default bundle, upgrade to nomic on explicit install.
Related but distinct: #184 (upgraders get `enabled=false` from an unset env var) and #296 (hook hangs when the launcher is missing *despite* embeddings enabled). This one is about a **fresh, correctly-configured install** where the feature is simply absent and silent.
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。