Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
3e64560
feat(embeddings): add nomic daemon + IPC client + protocol
efenocchi Apr 22, 2026
8d375a3
chore(build): add @huggingface/transformers + embed-daemon bundle entry
efenocchi Apr 22, 2026
755da50
feat(db): add summary_embedding / message_embedding FLOAT4[] columns
efenocchi Apr 22, 2026
bfff7be
feat(capture): embed message inline before sessions INSERT
efenocchi Apr 22, 2026
f9d81b9
feat(deeplake-fs): embed summaries in batched flush + split virtual i…
efenocchi Apr 22, 2026
7b51043
feat(grep): hybrid LIKE+semantic retrieval with inline date prefix
efenocchi Apr 22, 2026
27753f8
build: regenerate bundles with embeddings + hybrid grep
efenocchi Apr 22, 2026
51c5881
test(embeddings): raise coverage >=90% on all new + touched files
efenocchi Apr 22, 2026
0c3a94d
fix(deeplake-fs): use MAX(size_bytes) to work around NULL SUM on backend
efenocchi Apr 23, 2026
c36bac0
feat(session-start): steer agents toward the Grep tool, document bash…
efenocchi Apr 23, 2026
11457e1
fix(session-start): revert Grep tool steering + add HIVEMIND_AUTOUPDA…
efenocchi Apr 23, 2026
6b6cf26
chore(hooks): raise PreToolUse timeout 10 -> 60 s for concurrent-load…
efenocchi Apr 23, 2026
0a2147c
chore: bump version to 0.7.0
efenocchi Apr 23, 2026
1d538ca
test(deeplake-fs): align mocks with MAX(size_bytes) in sessions boots…
efenocchi Apr 23, 2026
23b059a
revert(session-start): drop HIVEMIND_AUTOUPDATE env var (redundant)
efenocchi Apr 23, 2026
0f634c7
Merge branch 'main' into embedding_generation
efenocchi Apr 23, 2026
3979d09
feat(session-start-setup): pre-warm the nomic embed daemon
efenocchi Apr 23, 2026
6402e35
feat(embeddings): unified HIVEMIND_EMBEDDINGS=false kill-switch + sch…
efenocchi Apr 23, 2026
0ec2139
feat(wiki-worker): embed the final summary before the memory upload
efenocchi Apr 23, 2026
9f4c30d
fix(grep-core): exclude empty [] embeddings from semantic search
efenocchi Apr 27, 2026
fbc3024
feat(virtual-index): cap rendered index.md to 50 most-recent per section
efenocchi Apr 27, 2026
60236a6
docs(session-start): two-tier recall workflow + Grep-broken warning
efenocchi Apr 27, 2026
0c8625a
build: rebuild bundles for grep-core / virtual-index / session-start
efenocchi Apr 27, 2026
3d204e6
Merge remote-tracking branch 'origin/main' into embedding_generation
efenocchi Apr 27, 2026
de9893d
fix(embed-client): bump first-call timeout 200ms → 2000ms
efenocchi Apr 27, 2026
973dd34
perf(deeplake-api): fail fast on 500 "already exists" instead of retr…
efenocchi Apr 27, 2026
227af98
build: rebuild bundles for embed timeout + deeplake-api fail-fast
efenocchi Apr 27, 2026
6b77d6d
feat(embeddings): degrade to lexical-only when transformers is missing
efenocchi Apr 27, 2026
a9c8ffd
build: rebuild bundles for embeddings detection
efenocchi Apr 27, 2026
0aef2df
refactor(session-start): log specific reason embeddings are off
efenocchi Apr 27, 2026
008fb07
test(schema-scenarios): cover the 7 new-user upgrade scenarios
efenocchi Apr 27, 2026
4dd1c32
feat(codex): embed message inline before sessions INSERT
efenocchi Apr 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
},
"metadata": {
"description": "Cloud-backed persistent shared memory for AI agents powered by Deeplake",
"version": "0.6.48"
"version": "0.7.0"
},
"plugins": [
{
"name": "hivemind",
"description": "Persistent shared memory powered by Deeplake — captures all session activity and provides cross-session, cross-agent memory search",
"version": "0.6.48",
"version": "0.7.0",
"source": "./claude-code",
"homepage": "https://github.com/activeloopai/hivemind"
}
Expand Down
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "hivemind",
"description": "Cloud-backed persistent memory powered by Deeplake — read, write, and share memory across Claude Code sessions and agents",
"version": "0.6.48",
"version": "0.7.0",
"author": {
"name": "Activeloop",
"url": "https://deeplake.ai"
Expand Down
34 changes: 34 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,8 +244,42 @@ This plugin captures session activity and stores it in your Deeplake workspace:
| `HIVEMIND_SESSIONS_TABLE` | `sessions` | SQL table for per-event session capture |
| `HIVEMIND_MEMORY_PATH` | `~/.deeplake/memory` | Path that triggers interception |
| `HIVEMIND_CAPTURE` | `true` | Set to `false` to disable capture |
| `HIVEMIND_EMBEDDINGS` | `true` | Set to `false` to force lexical-only mode |
| `HIVEMIND_DEBUG` | — | Set to `1` for verbose hook debug logs |

## Optional: enable semantic search (embeddings)

Hivemind can run a local embedding daemon (nomic-embed-text-v1.5, ~130 MB)
so that `Grep` over `~/.deeplake/memory/` uses hybrid semantic + lexical
ranking instead of pure BM25. This is **off by default** — the daemon
depends on `@huggingface/transformers`, which has native bindings that
can't be bundled into the plugin and is therefore not shipped with the
marketplace install.

To enable:

```bash
# Install the dependency inside the plugin's cache directory.
cd ~/.claude/plugins/cache/hivemind/hivemind/<version>
npm install @huggingface/transformers@^3.0.0
```

Restart Claude Code afterwards. From the next session, captured messages
and AI-generated summaries will include a 768-dim embedding, and
semantic recall queries will route through the local daemon (the model
is downloaded on first use and cached in `~/.cache/huggingface/`).

If `@huggingface/transformers` is **not** present (or `npm` is unavailable
on your system), Hivemind silently degrades to lexical-only mode:

- ✅ Capture continues; rows still land in Deeplake.
- ✅ `Grep` still works via BM25 / `ILIKE` matching on text columns.
- ⚪ The `message_embedding` / `summary_embedding` columns stay `NULL`.
- ⚪ The hook log notes `embeddings: no-transformers` once at session start.

You can also force lexical-only mode explicitly with
`HIVEMIND_EMBEDDINGS=false` (useful for CI or air-gapped environments).

## Architecture

### Hook lifecycle (Claude Code)
Expand Down
2 changes: 1 addition & 1 deletion claude-code/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "hivemind",
"description": "Cloud-backed persistent memory powered by Deeplake — read, write, and share memory across Claude Code sessions and agents",
"version": "0.6.48",
"version": "0.7.0",
"author": {
"name": "Activeloop",
"url": "https://deeplake.ai"
Expand Down
Loading
Loading