superlocalmemory 3.0.14 → 3.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +193 -191
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/src/superlocalmemory/core/embeddings.py +57 -2
- package/src/superlocalmemory.egg-info/PKG-INFO +194 -192
package/README.md
CHANGED
|
@@ -3,57 +3,104 @@
|
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<h1 align="center">SuperLocalMemory V3</h1>
|
|
6
|
-
<p align="center"><strong>
|
|
6
|
+
<p align="center"><strong>The first local-only AI memory to break 74% retrieval on LoCoMo.<br/>No cloud. No APIs. No data leaves your machine.</strong></p>
|
|
7
7
|
|
|
8
8
|
<p align="center">
|
|
9
|
-
|
|
9
|
+
<code>+16pp vs Mem0 (zero cloud)</code> · <code>85% Open-Domain (best of any system)</code> · <code>EU AI Act Ready</code>
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
13
|
-
<a href="https://
|
|
14
|
-
<a href="https://
|
|
15
|
-
<a href="https://
|
|
13
|
+
<a href="https://arxiv.org/abs/2603.14588"><img src="https://img.shields.io/badge/arXiv-2603.14588-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="arXiv Paper"/></a>
|
|
14
|
+
<a href="https://pypi.org/project/superlocalmemory/"><img src="https://img.shields.io/pypi/v/superlocalmemory?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI"/></a>
|
|
15
|
+
<a href="https://www.npmjs.com/package/superlocalmemory"><img src="https://img.shields.io/npm/v/superlocalmemory?style=for-the-badge&logo=npm&logoColor=white" alt="npm"/></a>
|
|
16
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=for-the-badge" alt="MIT License"/></a>
|
|
17
|
+
<a href="#eu-ai-act-compliance"><img src="https://img.shields.io/badge/EU_AI_Act-Compliant-brightgreen?style=for-the-badge" alt="EU AI Act"/></a>
|
|
18
|
+
<a href="https://superlocalmemory.com"><img src="https://img.shields.io/badge/Web-superlocalmemory.com-ff6b35?style=for-the-badge" alt="Website"/></a>
|
|
16
19
|
</p>
|
|
17
20
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Why SuperLocalMemory?
|
|
24
|
+
|
|
25
|
+
Every major AI memory system — Mem0, Zep, Letta, EverMemOS — sends your data to cloud LLMs for core operations. That means latency on every query, cost on every interaction, and after **August 2, 2026**, a compliance problem under the EU AI Act.
|
|
26
|
+
|
|
27
|
+
SuperLocalMemory V3 takes a different approach: **mathematics instead of cloud compute.** Three techniques from differential geometry, algebraic topology, and stochastic analysis replace the work that other systems need LLMs to do — similarity scoring, contradiction detection, and lifecycle management. The result is an agent memory that runs entirely on your machine, on CPU, with no API keys, and still outperforms funded alternatives.
|
|
28
|
+
|
|
29
|
+
**The numbers** (evaluated on [LoCoMo](https://arxiv.org/abs/2402.09714), the standard long-conversation memory benchmark):
|
|
30
|
+
|
|
31
|
+
| System | Score | Cloud Required | Open Source | Funding |
|
|
32
|
+
|:-------|:-----:|:--------------:|:-----------:|:-------:|
|
|
33
|
+
| EverMemOS | 92.3% | Yes | No | — |
|
|
34
|
+
| Hindsight | 89.6% | Yes | No | — |
|
|
35
|
+
| **SLM V3 Mode C** | **87.7%** | Optional | **Yes (MIT)** | $0 |
|
|
36
|
+
| Zep v3 | 85.2% | Yes | Deprecated | $35M |
|
|
37
|
+
| **SLM V3 Mode A** | **74.8%** | **No** | **Yes (MIT)** | $0 |
|
|
38
|
+
| Mem0 | 64.2% | Yes | Partial | $24M |
|
|
39
|
+
|
|
40
|
+
Mode A scores **74.8% with zero cloud dependency** — outperforming Mem0 by 16 percentage points without a single API call. On open-domain questions, Mode A scores **85.0% — the highest of any system in the evaluation**, including cloud-powered ones. Mode C reaches **87.7%**, matching enterprise cloud systems.
|
|
41
|
+
|
|
42
|
+
Mathematical layers contribute **+12.7 percentage points** on average across 6 conversations (n=832 questions), with up to **+19.9pp on the most challenging dialogues**. This isn't more compute — it's better math.
|
|
43
|
+
|
|
44
|
+
> **Upgrading from V2 (2.8.6)?** V3 is a complete architectural reinvention — new mathematical engine, new retrieval pipeline, new storage schema. Your existing data is preserved but requires migration. After installing V3, run `slm migrate` to upgrade your data. Read the [Migration Guide](https://github.com/qualixar/superlocalmemory/wiki/Migration-from-V2) before upgrading. Backup is created automatically.
|
|
26
45
|
|
|
27
46
|
---
|
|
28
47
|
|
|
29
|
-
##
|
|
48
|
+
## Quick Start
|
|
30
49
|
|
|
31
|
-
|
|
50
|
+
### Install via npm (recommended)
|
|
32
51
|
|
|
33
|
-
|
|
52
|
+
```bash
|
|
53
|
+
npm install -g superlocalmemory
|
|
54
|
+
slm setup # Choose mode (A/B/C)
|
|
55
|
+
slm warmup # Pre-download embedding model (~500MB, optional)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Install via pip
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
pip install superlocalmemory
|
|
62
|
+
```
|
|
34
63
|
|
|
35
|
-
|
|
64
|
+
### First Use
|
|
36
65
|
|
|
37
|
-
|
|
66
|
+
```bash
|
|
67
|
+
slm remember "Alice works at Google as a Staff Engineer"
|
|
68
|
+
slm recall "What does Alice do?"
|
|
69
|
+
slm status
|
|
70
|
+
```
|
|
38
71
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
72
|
+
### MCP Integration (Claude, Cursor, Windsurf, VS Code, etc.)
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"mcpServers": {
|
|
77
|
+
"superlocalmemory": {
|
|
78
|
+
"command": "slm",
|
|
79
|
+
"args": ["mcp"]
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
24 MCP tools available. Works with Claude Code, Cursor, Windsurf, VS Code Copilot, Continue, Cody, ChatGPT Desktop, Gemini CLI, JetBrains, Zed, and 17+ AI tools.
|
|
45
86
|
|
|
46
87
|
---
|
|
47
88
|
|
|
48
89
|
## Three Operating Modes
|
|
49
90
|
|
|
50
|
-
| Mode | What |
|
|
51
|
-
|
|
52
|
-
| **A** | Local Guardian |
|
|
53
|
-
| **B** | Smart Local | Local only (Ollama) | Compliant |
|
|
54
|
-
| **C** | Full Power | Cloud
|
|
91
|
+
| Mode | What | Cloud? | EU AI Act | Best For |
|
|
92
|
+
|:----:|:-----|:------:|:---------:|:---------|
|
|
93
|
+
| **A** | Local Guardian | **None** | **Compliant** | Privacy-first, air-gapped, enterprise |
|
|
94
|
+
| **B** | Smart Local | Local only (Ollama) | Compliant | Better answers, data stays local |
|
|
95
|
+
| **C** | Full Power | Cloud LLM | Partial | Maximum accuracy, research |
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
slm mode a # Zero-cloud (default)
|
|
99
|
+
slm mode b # Local Ollama
|
|
100
|
+
slm mode c # Cloud LLM
|
|
101
|
+
```
|
|
55
102
|
|
|
56
|
-
**Mode A** is the only agent memory that operates with **zero cloud dependency** while achieving competitive retrieval accuracy. All data stays on your device. No API keys
|
|
103
|
+
**Mode A** is the only agent memory that operates with **zero cloud dependency** while achieving competitive retrieval accuracy on a standard benchmark. All data stays on your device. No API keys. No GPU. Runs on 2 vCPUs + 4GB RAM.
|
|
57
104
|
|
|
58
105
|
---
|
|
59
106
|
|
|
@@ -61,8 +108,8 @@ SuperLocalMemory gives AI assistants persistent, structured memory that survives
|
|
|
61
108
|
|
|
62
109
|
```
|
|
63
110
|
Query ──► Strategy Classifier ──► 4 Parallel Channels:
|
|
64
|
-
├── Semantic (Fisher-Rao
|
|
65
|
-
├── BM25 (keyword matching
|
|
111
|
+
├── Semantic (Fisher-Rao geodesic distance)
|
|
112
|
+
├── BM25 (keyword matching)
|
|
66
113
|
├── Entity Graph (spreading activation, 3 hops)
|
|
67
114
|
└── Temporal (date-aware retrieval)
|
|
68
115
|
│
|
|
@@ -75,104 +122,79 @@ Query ──► Strategy Classifier ──► 4 Parallel Channels:
|
|
|
75
122
|
◄── Top-K Results with channel scores
|
|
76
123
|
```
|
|
77
124
|
|
|
78
|
-
### Mathematical Foundations
|
|
79
|
-
|
|
80
|
-
1. **Fisher-Rao Retrieval Metric** — Similarity scoring derived from the Fisher information structure of diagonal Gaussian families. Graduated ramp from cosine to Fisher-information-weighted scoring over the first 10 accesses per memory.
|
|
81
|
-
|
|
82
|
-
2. **Sheaf Cohomology for Consistency** — Algebraic topology detects contradictions between facts by computing coboundary norms on the knowledge graph. Non-trivial restriction maps amplify disagreements along discriminative subspaces.
|
|
83
|
-
|
|
84
|
-
3. **Riemannian Langevin Lifecycle** — Memory positions evolve on the Poincare ball via a discretized Langevin SDE. Frequently accessed memories stay near the origin (ACTIVE); neglected memories diffuse toward the boundary (ARCHIVED). The potential is modulated by access frequency, age, and importance.
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## Prerequisites
|
|
125
|
+
### Mathematical Foundations
|
|
89
126
|
|
|
90
|
-
|
|
91
|
-
|:-----------|:--------|:----|
|
|
92
|
-
| **Node.js** | 14+ | npm package manager |
|
|
93
|
-
| **Python** | 3.11+ | V3 engine runtime |
|
|
94
|
-
| **pip** | Latest | Python dependency installer |
|
|
127
|
+
Three novel contributions replace cloud LLM dependency with mathematical guarantees:
|
|
95
128
|
|
|
96
|
-
|
|
129
|
+
1. **Fisher-Rao Retrieval Metric** — Similarity scoring derived from the Fisher information structure of diagonal Gaussian families. Graduated ramp from cosine to geodesic distance over the first 10 accesses. The first application of information geometry to agent memory retrieval.
|
|
97
130
|
|
|
98
|
-
|
|
131
|
+
2. **Sheaf Cohomology for Consistency** — Algebraic topology detects contradictions by computing coboundary norms on the knowledge graph. The first algebraic guarantee for contradiction detection in agent memory.
|
|
99
132
|
|
|
100
|
-
|
|
101
|
-
|:----------|:-----|:-----|
|
|
102
|
-
| Core math libraries (numpy, scipy, networkx) | ~50MB | During `npm install` |
|
|
103
|
-
| Search engine (sentence-transformers, einops, torch) | ~200MB | During `npm install` |
|
|
104
|
-
| Embedding model (nomic-ai/nomic-embed-text-v1.5) | ~500MB | On first use OR `slm warmup` |
|
|
133
|
+
3. **Riemannian Langevin Lifecycle** — Memory positions evolve on the Poincare ball via discretized Langevin SDE. Frequently accessed memories stay active; neglected memories self-archive. No hardcoded thresholds.
|
|
105
134
|
|
|
106
|
-
|
|
135
|
+
These three layers collectively yield **+12.7pp average improvement** over the engineering-only baseline, with the Fisher metric alone contributing **+10.8pp** on the hardest conversations.
|
|
107
136
|
|
|
108
137
|
---
|
|
109
138
|
|
|
110
|
-
##
|
|
139
|
+
## Benchmarks
|
|
111
140
|
|
|
112
|
-
|
|
141
|
+
Evaluated on [LoCoMo](https://arxiv.org/abs/2402.09714) — 10 multi-session conversations, 1,986 total questions, 4 scored categories.
|
|
113
142
|
|
|
114
|
-
|
|
115
|
-
npm install -g superlocalmemory
|
|
116
|
-
```
|
|
143
|
+
### Mode A (Zero-Cloud, 10 Conversations, 1,276 Questions)
|
|
117
144
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
-
|
|
122
|
-
|
|
145
|
+
| Category | Score | vs. Mem0 (64.2%) |
|
|
146
|
+
|:---------|:-----:|:-----------------:|
|
|
147
|
+
| Single-Hop | 72.0% | +3.0pp |
|
|
148
|
+
| Multi-Hop | 70.3% | +8.6pp |
|
|
149
|
+
| Temporal | 80.0% | +21.7pp |
|
|
150
|
+
| **Open-Domain** | **85.0%** | **+35.0pp** |
|
|
151
|
+
| **Aggregate** | **74.8%** | **+10.6pp** |
|
|
123
152
|
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
slm setup # Choose mode, configure provider
|
|
127
|
-
slm warmup # Pre-download embedding model (~500MB, optional)
|
|
128
|
-
```
|
|
153
|
+
Mode A achieves **85.0% on open-domain questions — the highest of any system in the evaluation**, including cloud-powered ones.
|
|
129
154
|
|
|
130
|
-
|
|
155
|
+
### Math Layer Impact (6 Conversations, n=832)
|
|
131
156
|
|
|
132
|
-
|
|
157
|
+
| Conversation | With Math | Without | Delta |
|
|
158
|
+
|:-------------|:---------:|:-------:|:-----:|
|
|
159
|
+
| Easiest | 78.5% | 71.2% | +7.3pp |
|
|
160
|
+
| Hardest | 64.2% | 44.3% | **+19.9pp** |
|
|
161
|
+
| **Average** | **71.7%** | **58.9%** | **+12.7pp** |
|
|
133
162
|
|
|
134
|
-
|
|
135
|
-
pip install superlocalmemory
|
|
136
|
-
# or with all features:
|
|
137
|
-
pip install "superlocalmemory[full]"
|
|
138
|
-
```
|
|
163
|
+
Mathematical layers help most where heuristic methods struggle — the harder the conversation, the bigger the improvement.
|
|
139
164
|
|
|
140
|
-
###
|
|
165
|
+
### Ablation (What Each Component Contributes)
|
|
141
166
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
167
|
+
| Removed | Impact |
|
|
168
|
+
|:--------|:------:|
|
|
169
|
+
| Cross-encoder reranking | **-30.7pp** |
|
|
170
|
+
| Fisher-Rao metric | **-10.8pp** |
|
|
171
|
+
| All math layers | **-7.6pp** |
|
|
172
|
+
| BM25 channel | **-6.5pp** |
|
|
173
|
+
| Sheaf consistency | -1.7pp |
|
|
174
|
+
| Entity graph | -1.0pp |
|
|
145
175
|
|
|
146
|
-
|
|
147
|
-
slm recall "What does Alice do?"
|
|
176
|
+
Full ablation details in the [Wiki](https://github.com/qualixar/superlocalmemory/wiki/Benchmarks).
|
|
148
177
|
|
|
149
|
-
|
|
150
|
-
slm status
|
|
178
|
+
---
|
|
151
179
|
|
|
152
|
-
|
|
153
|
-
slm mode a # Zero-LLM (default)
|
|
154
|
-
slm mode b # Local Ollama
|
|
155
|
-
slm mode c # Full power
|
|
156
|
-
```
|
|
180
|
+
## EU AI Act Compliance
|
|
157
181
|
|
|
158
|
-
|
|
182
|
+
The EU AI Act (Regulation 2024/1689) takes full effect **August 2, 2026**. Every AI memory system that sends personal data to cloud LLMs for core operations has a compliance question to answer.
|
|
159
183
|
|
|
160
|
-
|
|
184
|
+
| Requirement | Mode A | Mode B | Mode C |
|
|
185
|
+
|:------------|:------:|:------:|:------:|
|
|
186
|
+
| Data sovereignty (Art. 10) | **Pass** | **Pass** | Requires DPA |
|
|
187
|
+
| Right to erasure (GDPR Art. 17) | **Pass** | **Pass** | **Pass** |
|
|
188
|
+
| Transparency (Art. 13) | **Pass** | **Pass** | **Pass** |
|
|
189
|
+
| No network calls during memory ops | **Yes** | **Yes** | No |
|
|
161
190
|
|
|
162
|
-
|
|
163
|
-
{
|
|
164
|
-
"mcpServers": {
|
|
165
|
-
"superlocalmemory": {
|
|
166
|
-
"command": "slm",
|
|
167
|
-
"args": ["mcp"]
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
```
|
|
191
|
+
To the best of our knowledge, **no existing agent memory system addresses EU AI Act compliance**. Modes A and B pass all checks by architectural design — no personal data leaves the device during any memory operation.
|
|
172
192
|
|
|
173
|
-
|
|
193
|
+
Built-in compliance tools: GDPR Article 15/17 export + complete erasure, tamper-proof SHA-256 audit chain, data provenance tracking, ABAC policy enforcement.
|
|
194
|
+
|
|
195
|
+
---
|
|
174
196
|
|
|
175
|
-
|
|
197
|
+
## Web Dashboard
|
|
176
198
|
|
|
177
199
|
```bash
|
|
178
200
|
slm dashboard # Opens at http://localhost:8765
|
|
@@ -193,82 +215,58 @@ slm dashboard # Opens at http://localhost:8765
|
|
|
193
215
|
</p>
|
|
194
216
|
</details>
|
|
195
217
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
- **Dashboard** — Mode switcher, health score, quick store/recall
|
|
199
|
-
- **Recall Lab** — Search with per-channel score breakdown (Semantic, BM25, Entity, Temporal)
|
|
200
|
-
- **Knowledge Graph** — Interactive entity relationship visualization
|
|
201
|
-
- **Memories** — Browse, search, and manage stored memories
|
|
202
|
-
- **Trust Dashboard** — Bayesian trust scores per agent with Beta distribution visualization
|
|
203
|
-
- **Math Health** — Fisher-Rao confidence, Sheaf consistency, Langevin lifecycle state
|
|
204
|
-
- **Compliance** — GDPR export/erasure, EU AI Act status, audit trail
|
|
205
|
-
- **Learning** — Adaptive ranking progress, behavioral patterns, outcome tracking
|
|
206
|
-
- **IDE Connections** — Connected AI tools status and configuration
|
|
207
|
-
- **Settings** — Mode, provider, auto-capture/recall configuration
|
|
208
|
-
|
|
209
|
-
> The dashboard runs locally at `http://localhost:8765`. No data leaves your machine.
|
|
218
|
+
17 tabs: Dashboard, Recall Lab, Knowledge Graph, Memories, Trust Scores, Math Health, Compliance, Learning, IDE Connections, Settings, and more. Runs locally — no data leaves your machine.
|
|
210
219
|
|
|
211
220
|
---
|
|
212
221
|
|
|
213
|
-
##
|
|
222
|
+
## Features
|
|
214
223
|
|
|
215
|
-
### Retrieval
|
|
216
|
-
-
|
|
217
|
-
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
220
|
-
- RRF fusion (k=60) + cross-encoder reranking
|
|
224
|
+
### Retrieval
|
|
225
|
+
- 4-channel hybrid: Semantic (Fisher-Rao) + BM25 + Entity Graph + Temporal
|
|
226
|
+
- RRF fusion + cross-encoder reranking
|
|
227
|
+
- Agentic sufficiency verification (auto-retry on weak results)
|
|
228
|
+
- Adaptive ranking with LightGBM (learns from usage)
|
|
221
229
|
|
|
222
230
|
### Intelligence
|
|
223
|
-
- 11-step ingestion pipeline (entity resolution, fact extraction, emotional tagging, scene building
|
|
224
|
-
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
231
|
+
- 11-step ingestion pipeline (entity resolution, fact extraction, emotional tagging, scene building)
|
|
232
|
+
- Automatic contradiction detection via sheaf cohomology
|
|
233
|
+
- Self-organizing memory lifecycle (no hardcoded thresholds)
|
|
234
|
+
- Behavioral pattern detection and outcome tracking
|
|
227
235
|
|
|
228
|
-
### Trust &
|
|
229
|
-
- Bayesian Beta
|
|
236
|
+
### Trust & Security
|
|
237
|
+
- Bayesian Beta-distribution trust scoring (per-agent, per-fact)
|
|
230
238
|
- Trust gates (block low-trust agents from writing/deleting)
|
|
231
239
|
- ABAC (Attribute-Based Access Control) with DB-persisted policies
|
|
232
|
-
- GDPR Article 15/17 compliance (full export + complete erasure)
|
|
233
|
-
- EU AI Act data sovereignty (Mode A: zero cloud, data stays local)
|
|
234
240
|
- Tamper-proof hash-chain audit trail (SHA-256 linked entries)
|
|
235
|
-
- Data provenance tracking (who created what, when, from where)
|
|
236
241
|
|
|
237
242
|
### Infrastructure
|
|
238
|
-
- 17-tab web dashboard
|
|
239
|
-
- 17+ IDE integrations
|
|
240
|
-
-
|
|
241
|
-
-
|
|
242
|
-
-
|
|
243
|
+
- 17-tab web dashboard with real-time visualization
|
|
244
|
+
- 17+ IDE integrations (Claude, Cursor, Windsurf, VS Code, JetBrains, Zed, etc.)
|
|
245
|
+
- 24 MCP tools + 6 MCP resources
|
|
246
|
+
- Profile isolation (independent memory spaces)
|
|
247
|
+
- 1400+ tests, MIT license, cross-platform (Mac/Linux/Windows)
|
|
248
|
+
- CPU-only — no GPU required
|
|
243
249
|
|
|
244
250
|
---
|
|
245
251
|
|
|
246
|
-
##
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
|
253
|
-
|
|
254
|
-
|
|
|
255
|
-
|
|
|
256
|
-
|
|
|
257
|
-
|
|
|
258
|
-
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
|
263
|
-
|
|
264
|
-
| EverMemOS | 92.3% | Yes | No | No |
|
|
265
|
-
| MemMachine | 91.7% | Yes | No | No |
|
|
266
|
-
| Hindsight | 89.6% | Yes | No | No |
|
|
267
|
-
| **SLM V3 Mode C** | **87.7%** | Optional | **Yes** | Partial |
|
|
268
|
-
| **SLM V3 Mode A** | **62.3%** | **No** | **Yes** | **Yes** |
|
|
269
|
-
| Mem0 ($24M) | 34.2% F1 | Yes | Partial | No |
|
|
270
|
-
|
|
271
|
-
*SLM V3 is the only system offering a fully local mode with mathematical guarantees and EU AI Act compliance.*
|
|
252
|
+
## CLI Reference
|
|
253
|
+
|
|
254
|
+
| Command | What It Does |
|
|
255
|
+
|:--------|:-------------|
|
|
256
|
+
| `slm remember "..."` | Store a memory |
|
|
257
|
+
| `slm recall "..."` | Search memories |
|
|
258
|
+
| `slm forget "..."` | Delete matching memories |
|
|
259
|
+
| `slm trace "..."` | Recall with per-channel score breakdown |
|
|
260
|
+
| `slm status` | System status |
|
|
261
|
+
| `slm health` | Math layer health (Fisher, Sheaf, Langevin) |
|
|
262
|
+
| `slm mode a/b/c` | Switch operating mode |
|
|
263
|
+
| `slm setup` | Interactive first-time wizard |
|
|
264
|
+
| `slm warmup` | Pre-download embedding model |
|
|
265
|
+
| `slm migrate` | V2 to V3 migration |
|
|
266
|
+
| `slm dashboard` | Launch web dashboard |
|
|
267
|
+
| `slm mcp` | Start MCP server (for IDE integration) |
|
|
268
|
+
| `slm connect` | Configure IDE integrations |
|
|
269
|
+
| `slm profile list/create/switch` | Profile management |
|
|
272
270
|
|
|
273
271
|
---
|
|
274
272
|
|
|
@@ -277,43 +275,47 @@ Evaluated on the [LoCoMo benchmark](https://arxiv.org/abs/2402.09714) (Long Conv
|
|
|
277
275
|
### V3: Information-Geometric Foundations
|
|
278
276
|
> **SuperLocalMemory V3: Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory**
|
|
279
277
|
> Varun Pratap Bhardwaj (2026)
|
|
280
|
-
> [arXiv:2603.14588](https://arxiv.org/abs/2603.14588)
|
|
278
|
+
> [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) · [Zenodo DOI: 10.5281/zenodo.19038659](https://zenodo.org/records/19038659)
|
|
281
279
|
|
|
282
280
|
### V2: Architecture & Engineering
|
|
283
281
|
> **SuperLocalMemory: A Structured Local Memory Architecture for Persistent AI Agent Context**
|
|
284
282
|
> Varun Pratap Bhardwaj (2026)
|
|
285
|
-
> [arXiv:2603.02240](https://arxiv.org/abs/2603.02240)
|
|
283
|
+
> [arXiv:2603.02240](https://arxiv.org/abs/2603.02240) · [Zenodo DOI: 10.5281/zenodo.18709670](https://zenodo.org/records/18709670)
|
|
284
|
+
|
|
285
|
+
### Cite This Work
|
|
286
|
+
|
|
287
|
+
```bibtex
|
|
288
|
+
@article{bhardwaj2026slmv3,
|
|
289
|
+
title={Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory},
|
|
290
|
+
author={Bhardwaj, Varun Pratap},
|
|
291
|
+
journal={arXiv preprint arXiv:2603.14588},
|
|
292
|
+
year={2026},
|
|
293
|
+
url={https://arxiv.org/abs/2603.14588}
|
|
294
|
+
}
|
|
295
|
+
```
|
|
286
296
|
|
|
287
297
|
---
|
|
288
298
|
|
|
289
|
-
##
|
|
299
|
+
## Prerequisites
|
|
290
300
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
│ ├── cli/ # CLI with setup wizard
|
|
304
|
-
│ └── server/ # Dashboard API + UI server
|
|
305
|
-
├── tests/ # 1400+ tests
|
|
306
|
-
├── ui/ # 17-tab web dashboard
|
|
307
|
-
├── ide/ # IDE configs for 17+ tools
|
|
308
|
-
├── docs/ # Documentation
|
|
309
|
-
└── pyproject.toml # Modern Python packaging
|
|
310
|
-
```
|
|
301
|
+
| Requirement | Version | Why |
|
|
302
|
+
|:-----------|:--------|:----|
|
|
303
|
+
| **Node.js** | 14+ | npm package manager |
|
|
304
|
+
| **Python** | 3.11+ | V3 engine runtime |
|
|
305
|
+
|
|
306
|
+
All Python dependencies install automatically during `npm install`. If anything fails, the installer shows exact fix commands. BM25 keyword search works even without embeddings — you're never fully blocked.
|
|
307
|
+
|
|
308
|
+
| Component | Size | When |
|
|
309
|
+
|:----------|:-----|:-----|
|
|
310
|
+
| Core libraries (numpy, scipy, networkx) | ~50MB | During install |
|
|
311
|
+
| Search engine (sentence-transformers, torch) | ~200MB | During install |
|
|
312
|
+
| Embedding model (nomic-embed-text-v1.5, 768d) | ~500MB | First use or `slm warmup` |
|
|
311
313
|
|
|
312
314
|
---
|
|
313
315
|
|
|
314
316
|
## Contributing
|
|
315
317
|
|
|
316
|
-
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
318
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. [Wiki](https://github.com/qualixar/superlocalmemory/wiki) for detailed documentation.
|
|
317
319
|
|
|
318
320
|
## License
|
|
319
321
|
|
|
@@ -321,7 +323,7 @@ MIT License. See [LICENSE](LICENSE).
|
|
|
321
323
|
|
|
322
324
|
## Attribution
|
|
323
325
|
|
|
324
|
-
Part of [Qualixar](https://qualixar.com)
|
|
326
|
+
Part of [Qualixar](https://qualixar.com) · Author: [Varun Pratap Bhardwaj](https://varunpratap.com)
|
|
325
327
|
|
|
326
328
|
---
|
|
327
329
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "superlocalmemory",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.15",
|
|
4
4
|
"description": "Information-geometric agent memory with mathematical guarantees. 4-channel retrieval, Fisher-Rao similarity, zero-LLM mode, EU AI Act compliant. Works with Claude, Cursor, Windsurf, and 17+ AI tools.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-memory",
|
package/pyproject.toml
CHANGED
|
@@ -8,16 +8,29 @@ Thread-safe, dimension-validated embedding with Fisher variance computation.
|
|
|
8
8
|
Supports local (768-dim nomic) and cloud (3072-dim) models with EXPLICIT errors
|
|
9
9
|
on dimension mismatch — NEVER silently falls back to a different dimension.
|
|
10
10
|
|
|
11
|
+
Memory management: Forces CPU-only inference to prevent GPU memory accumulation.
|
|
12
|
+
Auto-unloads model after idle timeout to keep long-running MCP servers lean.
|
|
13
|
+
|
|
11
14
|
Part of Qualixar | Author: Varun Pratap Bhardwaj
|
|
12
15
|
"""
|
|
13
16
|
|
|
14
17
|
from __future__ import annotations
|
|
15
18
|
|
|
16
19
|
import logging
|
|
20
|
+
import os
|
|
17
21
|
import threading
|
|
18
22
|
import time
|
|
19
23
|
from typing import TYPE_CHECKING
|
|
20
24
|
|
|
25
|
+
# Force CPU before any torch/sentence-transformers import.
|
|
26
|
+
# On Apple Silicon, PyTorch defaults to Metal (MPS) which allocates 4-6 GB
|
|
27
|
+
# of GPU shader buffers that grow over time and never get released.
|
|
28
|
+
# On Windows/Linux with CUDA, similar GPU memory issues occur.
|
|
29
|
+
# CPU-only keeps footprint under 1 GB (vs 6+ GB with GPU).
|
|
30
|
+
os.environ.setdefault("CUDA_VISIBLE_DEVICES", "")
|
|
31
|
+
os.environ.setdefault("PYTORCH_MPS_HIGH_WATERMARK_RATIO", "0.0")
|
|
32
|
+
os.environ.setdefault("PYTORCH_ENABLE_MPS_FALLBACK", "1")
|
|
33
|
+
|
|
21
34
|
import numpy as np
|
|
22
35
|
|
|
23
36
|
if TYPE_CHECKING:
|
|
@@ -44,11 +57,16 @@ class DimensionMismatchError(RuntimeError):
|
|
|
44
57
|
"""
|
|
45
58
|
|
|
46
59
|
|
|
60
|
+
_IDLE_TIMEOUT_SECONDS = 300 # 5 minutes — unload model after idle
|
|
61
|
+
|
|
62
|
+
|
|
47
63
|
class EmbeddingService:
|
|
48
64
|
"""Thread-safe embedding service with strict dimension validation.
|
|
49
65
|
|
|
50
66
|
Lazy-loads the underlying model on first embed call.
|
|
51
67
|
Validates every output dimension against the configured expectation.
|
|
68
|
+
Auto-unloads after 5 minutes idle to keep MCP server memory low.
|
|
69
|
+
Forces CPU-only inference to prevent GPU memory accumulation.
|
|
52
70
|
"""
|
|
53
71
|
|
|
54
72
|
def __init__(self, config: EmbeddingConfig) -> None:
|
|
@@ -57,6 +75,8 @@ class EmbeddingService:
|
|
|
57
75
|
self._lock = threading.Lock()
|
|
58
76
|
self._loaded = False
|
|
59
77
|
self._available = True # Set False if model can't load
|
|
78
|
+
self._last_used: float = 0.0
|
|
79
|
+
self._idle_timer: threading.Timer | None = None
|
|
60
80
|
|
|
61
81
|
@property
|
|
62
82
|
def is_available(self) -> bool:
|
|
@@ -65,6 +85,32 @@ class EmbeddingService:
|
|
|
65
85
|
self._ensure_loaded()
|
|
66
86
|
return self._available and self._model is not None
|
|
67
87
|
|
|
88
|
+
def unload(self) -> None:
|
|
89
|
+
"""Explicitly unload the model to free memory.
|
|
90
|
+
|
|
91
|
+
Called automatically after idle timeout, or manually for cleanup.
|
|
92
|
+
The model will lazy-reload on next embed call.
|
|
93
|
+
"""
|
|
94
|
+
with self._lock:
|
|
95
|
+
if self._model is not None:
|
|
96
|
+
del self._model
|
|
97
|
+
self._model = None
|
|
98
|
+
self._loaded = False
|
|
99
|
+
import gc
|
|
100
|
+
gc.collect()
|
|
101
|
+
logger.info("EmbeddingService: model unloaded (idle timeout)")
|
|
102
|
+
|
|
103
|
+
def _reset_idle_timer(self) -> None:
|
|
104
|
+
"""Reset the idle unload timer after each use."""
|
|
105
|
+
if self._idle_timer is not None:
|
|
106
|
+
self._idle_timer.cancel()
|
|
107
|
+
self._idle_timer = threading.Timer(
|
|
108
|
+
_IDLE_TIMEOUT_SECONDS, self.unload,
|
|
109
|
+
)
|
|
110
|
+
self._idle_timer.daemon = True
|
|
111
|
+
self._idle_timer.start()
|
|
112
|
+
self._last_used = time.time()
|
|
113
|
+
|
|
68
114
|
# ------------------------------------------------------------------
|
|
69
115
|
# Public API
|
|
70
116
|
# ------------------------------------------------------------------
|
|
@@ -91,6 +137,7 @@ class EmbeddingService:
|
|
|
91
137
|
return None
|
|
92
138
|
vec = self._encode_single(text)
|
|
93
139
|
self._validate_dimension(vec)
|
|
140
|
+
self._reset_idle_timer()
|
|
94
141
|
return vec.tolist()
|
|
95
142
|
|
|
96
143
|
def embed_batch(self, texts: list[str]) -> list[list[float]]:
|
|
@@ -115,6 +162,7 @@ class EmbeddingService:
|
|
|
115
162
|
vectors = self._encode_batch(texts)
|
|
116
163
|
for vec in vectors:
|
|
117
164
|
self._validate_dimension(vec)
|
|
165
|
+
self._reset_idle_timer()
|
|
118
166
|
return [v.tolist() for v in vectors]
|
|
119
167
|
|
|
120
168
|
def compute_fisher_params(
|
|
@@ -185,7 +233,13 @@ class EmbeddingService:
|
|
|
185
233
|
self._loaded = True
|
|
186
234
|
|
|
187
235
|
def _load_local_model(self) -> None:
|
|
188
|
-
"""Load sentence-transformers model for local embedding.
|
|
236
|
+
"""Load sentence-transformers model for local embedding.
|
|
237
|
+
|
|
238
|
+
Forces CPU device to prevent GPU memory accumulation:
|
|
239
|
+
- Apple Silicon MPS: allocates 4-6 GB Metal shader buffers
|
|
240
|
+
- NVIDIA CUDA: allocates GPU VRAM that never releases
|
|
241
|
+
- CPU-only: stable ~880 MB footprint, no growth over time
|
|
242
|
+
"""
|
|
189
243
|
try:
|
|
190
244
|
from sentence_transformers import SentenceTransformer
|
|
191
245
|
except ImportError:
|
|
@@ -199,6 +253,7 @@ class EmbeddingService:
|
|
|
199
253
|
return
|
|
200
254
|
model = SentenceTransformer(
|
|
201
255
|
self._config.model_name, trust_remote_code=True,
|
|
256
|
+
device="cpu",
|
|
202
257
|
)
|
|
203
258
|
actual_dim = model.get_sentence_embedding_dimension()
|
|
204
259
|
if actual_dim != self._config.dimension:
|
|
@@ -208,7 +263,7 @@ class EmbeddingService:
|
|
|
208
263
|
)
|
|
209
264
|
self._model = model
|
|
210
265
|
logger.info(
|
|
211
|
-
"EmbeddingService: local model loaded (%s, %d-dim)",
|
|
266
|
+
"EmbeddingService: local model loaded (%s, %d-dim, device=cpu)",
|
|
212
267
|
self._config.model_name,
|
|
213
268
|
actual_dim,
|
|
214
269
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: superlocalmemory
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.15
|
|
4
4
|
Summary: Information-geometric agent memory with mathematical guarantees
|
|
5
5
|
Author-email: Varun Pratap Bhardwaj <admin@superlocalmemory.com>
|
|
6
6
|
License: MIT
|
|
@@ -50,57 +50,104 @@ Dynamic: license-file
|
|
|
50
50
|
</p>
|
|
51
51
|
|
|
52
52
|
<h1 align="center">SuperLocalMemory V3</h1>
|
|
53
|
-
<p align="center"><strong>
|
|
53
|
+
<p align="center"><strong>The first local-only AI memory to break 74% retrieval on LoCoMo.<br/>No cloud. No APIs. No data leaves your machine.</strong></p>
|
|
54
54
|
|
|
55
55
|
<p align="center">
|
|
56
|
-
|
|
56
|
+
<code>+16pp vs Mem0 (zero cloud)</code> · <code>85% Open-Domain (best of any system)</code> · <code>EU AI Act Ready</code>
|
|
57
57
|
</p>
|
|
58
58
|
|
|
59
59
|
<p align="center">
|
|
60
|
-
<a href="https://
|
|
61
|
-
<a href="https://
|
|
62
|
-
<a href="https://
|
|
60
|
+
<a href="https://arxiv.org/abs/2603.14588"><img src="https://img.shields.io/badge/arXiv-2603.14588-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="arXiv Paper"/></a>
|
|
61
|
+
<a href="https://pypi.org/project/superlocalmemory/"><img src="https://img.shields.io/pypi/v/superlocalmemory?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI"/></a>
|
|
62
|
+
<a href="https://www.npmjs.com/package/superlocalmemory"><img src="https://img.shields.io/npm/v/superlocalmemory?style=for-the-badge&logo=npm&logoColor=white" alt="npm"/></a>
|
|
63
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=for-the-badge" alt="MIT License"/></a>
|
|
64
|
+
<a href="#eu-ai-act-compliance"><img src="https://img.shields.io/badge/EU_AI_Act-Compliant-brightgreen?style=for-the-badge" alt="EU AI Act"/></a>
|
|
65
|
+
<a href="https://superlocalmemory.com"><img src="https://img.shields.io/badge/Web-superlocalmemory.com-ff6b35?style=for-the-badge" alt="Website"/></a>
|
|
63
66
|
</p>
|
|
64
67
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Why SuperLocalMemory?
|
|
71
|
+
|
|
72
|
+
Every major AI memory system — Mem0, Zep, Letta, EverMemOS — sends your data to cloud LLMs for core operations. That means latency on every query, cost on every interaction, and after **August 2, 2026**, a compliance problem under the EU AI Act.
|
|
73
|
+
|
|
74
|
+
SuperLocalMemory V3 takes a different approach: **mathematics instead of cloud compute.** Three techniques from differential geometry, algebraic topology, and stochastic analysis replace the work that other systems need LLMs to do — similarity scoring, contradiction detection, and lifecycle management. The result is an agent memory that runs entirely on your machine, on CPU, with no API keys, and still outperforms funded alternatives.
|
|
75
|
+
|
|
76
|
+
**The numbers** (evaluated on [LoCoMo](https://arxiv.org/abs/2402.09714), the standard long-conversation memory benchmark):
|
|
77
|
+
|
|
78
|
+
| System | Score | Cloud Required | Open Source | Funding |
|
|
79
|
+
|:-------|:-----:|:--------------:|:-----------:|:-------:|
|
|
80
|
+
| EverMemOS | 92.3% | Yes | No | — |
|
|
81
|
+
| Hindsight | 89.6% | Yes | No | — |
|
|
82
|
+
| **SLM V3 Mode C** | **87.7%** | Optional | **Yes (MIT)** | $0 |
|
|
83
|
+
| Zep v3 | 85.2% | Yes | Deprecated | $35M |
|
|
84
|
+
| **SLM V3 Mode A** | **74.8%** | **No** | **Yes (MIT)** | $0 |
|
|
85
|
+
| Mem0 | 64.2% | Yes | Partial | $24M |
|
|
86
|
+
|
|
87
|
+
Mode A scores **74.8% with zero cloud dependency** — outperforming Mem0 by 16 percentage points without a single API call. On open-domain questions, Mode A scores **85.0% — the highest of any system in the evaluation**, including cloud-powered ones. Mode C reaches **87.7%**, matching enterprise cloud systems.
|
|
88
|
+
|
|
89
|
+
Mathematical layers contribute **+12.7 percentage points** on average across 6 conversations (n=832 questions), with up to **+19.9pp on the most challenging dialogues**. This isn't more compute — it's better math.
|
|
90
|
+
|
|
91
|
+
> **Upgrading from V2 (2.8.6)?** V3 is a complete architectural reinvention — new mathematical engine, new retrieval pipeline, new storage schema. Your existing data is preserved but requires migration. After installing V3, run `slm migrate` to upgrade your data. Read the [Migration Guide](https://github.com/qualixar/superlocalmemory/wiki/Migration-from-V2) before upgrading. Backup is created automatically.
|
|
73
92
|
|
|
74
93
|
---
|
|
75
94
|
|
|
76
|
-
##
|
|
95
|
+
## Quick Start
|
|
77
96
|
|
|
78
|
-
|
|
97
|
+
### Install via npm (recommended)
|
|
79
98
|
|
|
80
|
-
|
|
99
|
+
```bash
|
|
100
|
+
npm install -g superlocalmemory
|
|
101
|
+
slm setup # Choose mode (A/B/C)
|
|
102
|
+
slm warmup # Pre-download embedding model (~500MB, optional)
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Install via pip
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
pip install superlocalmemory
|
|
109
|
+
```
|
|
81
110
|
|
|
82
|
-
|
|
111
|
+
### First Use
|
|
83
112
|
|
|
84
|
-
|
|
113
|
+
```bash
|
|
114
|
+
slm remember "Alice works at Google as a Staff Engineer"
|
|
115
|
+
slm recall "What does Alice do?"
|
|
116
|
+
slm status
|
|
117
|
+
```
|
|
85
118
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
119
|
+
### MCP Integration (Claude, Cursor, Windsurf, VS Code, etc.)
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"mcpServers": {
|
|
124
|
+
"superlocalmemory": {
|
|
125
|
+
"command": "slm",
|
|
126
|
+
"args": ["mcp"]
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
24 MCP tools available. Works with Claude Code, Cursor, Windsurf, VS Code Copilot, Continue, Cody, ChatGPT Desktop, Gemini CLI, JetBrains, Zed, and 17+ AI tools.
|
|
92
133
|
|
|
93
134
|
---
|
|
94
135
|
|
|
95
136
|
## Three Operating Modes
|
|
96
137
|
|
|
97
|
-
| Mode | What |
|
|
98
|
-
|
|
99
|
-
| **A** | Local Guardian |
|
|
100
|
-
| **B** | Smart Local | Local only (Ollama) | Compliant |
|
|
101
|
-
| **C** | Full Power | Cloud
|
|
138
|
+
| Mode | What | Cloud? | EU AI Act | Best For |
|
|
139
|
+
|:----:|:-----|:------:|:---------:|:---------|
|
|
140
|
+
| **A** | Local Guardian | **None** | **Compliant** | Privacy-first, air-gapped, enterprise |
|
|
141
|
+
| **B** | Smart Local | Local only (Ollama) | Compliant | Better answers, data stays local |
|
|
142
|
+
| **C** | Full Power | Cloud LLM | Partial | Maximum accuracy, research |
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
slm mode a # Zero-cloud (default)
|
|
146
|
+
slm mode b # Local Ollama
|
|
147
|
+
slm mode c # Cloud LLM
|
|
148
|
+
```
|
|
102
149
|
|
|
103
|
-
**Mode A** is the only agent memory that operates with **zero cloud dependency** while achieving competitive retrieval accuracy. All data stays on your device. No API keys
|
|
150
|
+
**Mode A** is the only agent memory that operates with **zero cloud dependency** while achieving competitive retrieval accuracy on a standard benchmark. All data stays on your device. No API keys. No GPU. Runs on 2 vCPUs + 4GB RAM.
|
|
104
151
|
|
|
105
152
|
---
|
|
106
153
|
|
|
@@ -108,8 +155,8 @@ SuperLocalMemory gives AI assistants persistent, structured memory that survives
|
|
|
108
155
|
|
|
109
156
|
```
|
|
110
157
|
Query ──► Strategy Classifier ──► 4 Parallel Channels:
|
|
111
|
-
├── Semantic (Fisher-Rao
|
|
112
|
-
├── BM25 (keyword matching
|
|
158
|
+
├── Semantic (Fisher-Rao geodesic distance)
|
|
159
|
+
├── BM25 (keyword matching)
|
|
113
160
|
├── Entity Graph (spreading activation, 3 hops)
|
|
114
161
|
└── Temporal (date-aware retrieval)
|
|
115
162
|
│
|
|
@@ -122,104 +169,79 @@ Query ──► Strategy Classifier ──► 4 Parallel Channels:
|
|
|
122
169
|
◄── Top-K Results with channel scores
|
|
123
170
|
```
|
|
124
171
|
|
|
125
|
-
### Mathematical Foundations
|
|
126
|
-
|
|
127
|
-
1. **Fisher-Rao Retrieval Metric** — Similarity scoring derived from the Fisher information structure of diagonal Gaussian families. Graduated ramp from cosine to Fisher-information-weighted scoring over the first 10 accesses per memory.
|
|
128
|
-
|
|
129
|
-
2. **Sheaf Cohomology for Consistency** — Algebraic topology detects contradictions between facts by computing coboundary norms on the knowledge graph. Non-trivial restriction maps amplify disagreements along discriminative subspaces.
|
|
130
|
-
|
|
131
|
-
3. **Riemannian Langevin Lifecycle** — Memory positions evolve on the Poincare ball via a discretized Langevin SDE. Frequently accessed memories stay near the origin (ACTIVE); neglected memories diffuse toward the boundary (ARCHIVED). The potential is modulated by access frequency, age, and importance.
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## Prerequisites
|
|
172
|
+
### Mathematical Foundations
|
|
136
173
|
|
|
137
|
-
|
|
138
|
-
|:-----------|:--------|:----|
|
|
139
|
-
| **Node.js** | 14+ | npm package manager |
|
|
140
|
-
| **Python** | 3.11+ | V3 engine runtime |
|
|
141
|
-
| **pip** | Latest | Python dependency installer |
|
|
174
|
+
Three novel contributions replace cloud LLM dependency with mathematical guarantees:
|
|
142
175
|
|
|
143
|
-
|
|
176
|
+
1. **Fisher-Rao Retrieval Metric** — Similarity scoring derived from the Fisher information structure of diagonal Gaussian families. Graduated ramp from cosine to geodesic distance over the first 10 accesses. The first application of information geometry to agent memory retrieval.
|
|
144
177
|
|
|
145
|
-
|
|
178
|
+
2. **Sheaf Cohomology for Consistency** — Algebraic topology detects contradictions by computing coboundary norms on the knowledge graph. The first algebraic guarantee for contradiction detection in agent memory.
|
|
146
179
|
|
|
147
|
-
|
|
148
|
-
|:----------|:-----|:-----|
|
|
149
|
-
| Core math libraries (numpy, scipy, networkx) | ~50MB | During `npm install` |
|
|
150
|
-
| Search engine (sentence-transformers, einops, torch) | ~200MB | During `npm install` |
|
|
151
|
-
| Embedding model (nomic-ai/nomic-embed-text-v1.5) | ~500MB | On first use OR `slm warmup` |
|
|
180
|
+
3. **Riemannian Langevin Lifecycle** — Memory positions evolve on the Poincare ball via discretized Langevin SDE. Frequently accessed memories stay active; neglected memories self-archive. No hardcoded thresholds.
|
|
152
181
|
|
|
153
|
-
|
|
182
|
+
These three layers collectively yield **+12.7pp average improvement** over the engineering-only baseline, with the Fisher metric alone contributing **+10.8pp** on the hardest conversations.
|
|
154
183
|
|
|
155
184
|
---
|
|
156
185
|
|
|
157
|
-
##
|
|
186
|
+
## Benchmarks
|
|
158
187
|
|
|
159
|
-
|
|
188
|
+
Evaluated on [LoCoMo](https://arxiv.org/abs/2402.09714) — 10 multi-session conversations, 1,986 total questions, 4 scored categories.
|
|
160
189
|
|
|
161
|
-
|
|
162
|
-
npm install -g superlocalmemory
|
|
163
|
-
```
|
|
190
|
+
### Mode A (Zero-Cloud, 10 Conversations, 1,276 Questions)
|
|
164
191
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
-
|
|
169
|
-
|
|
192
|
+
| Category | Score | vs. Mem0 (64.2%) |
|
|
193
|
+
|:---------|:-----:|:-----------------:|
|
|
194
|
+
| Single-Hop | 72.0% | +3.0pp |
|
|
195
|
+
| Multi-Hop | 70.3% | +8.6pp |
|
|
196
|
+
| Temporal | 80.0% | +21.7pp |
|
|
197
|
+
| **Open-Domain** | **85.0%** | **+35.0pp** |
|
|
198
|
+
| **Aggregate** | **74.8%** | **+10.6pp** |
|
|
170
199
|
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
slm setup # Choose mode, configure provider
|
|
174
|
-
slm warmup # Pre-download embedding model (~500MB, optional)
|
|
175
|
-
```
|
|
200
|
+
Mode A achieves **85.0% on open-domain questions — the highest of any system in the evaluation**, including cloud-powered ones.
|
|
176
201
|
|
|
177
|
-
|
|
202
|
+
### Math Layer Impact (6 Conversations, n=832)
|
|
178
203
|
|
|
179
|
-
|
|
204
|
+
| Conversation | With Math | Without | Delta |
|
|
205
|
+
|:-------------|:---------:|:-------:|:-----:|
|
|
206
|
+
| Easiest | 78.5% | 71.2% | +7.3pp |
|
|
207
|
+
| Hardest | 64.2% | 44.3% | **+19.9pp** |
|
|
208
|
+
| **Average** | **71.7%** | **58.9%** | **+12.7pp** |
|
|
180
209
|
|
|
181
|
-
|
|
182
|
-
pip install superlocalmemory
|
|
183
|
-
# or with all features:
|
|
184
|
-
pip install "superlocalmemory[full]"
|
|
185
|
-
```
|
|
210
|
+
Mathematical layers help most where heuristic methods struggle — the harder the conversation, the bigger the improvement.
|
|
186
211
|
|
|
187
|
-
###
|
|
212
|
+
### Ablation (What Each Component Contributes)
|
|
188
213
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
214
|
+
| Removed | Impact |
|
|
215
|
+
|:--------|:------:|
|
|
216
|
+
| Cross-encoder reranking | **-30.7pp** |
|
|
217
|
+
| Fisher-Rao metric | **-10.8pp** |
|
|
218
|
+
| All math layers | **-7.6pp** |
|
|
219
|
+
| BM25 channel | **-6.5pp** |
|
|
220
|
+
| Sheaf consistency | -1.7pp |
|
|
221
|
+
| Entity graph | -1.0pp |
|
|
192
222
|
|
|
193
|
-
|
|
194
|
-
slm recall "What does Alice do?"
|
|
223
|
+
Full ablation details in the [Wiki](https://github.com/qualixar/superlocalmemory/wiki/Benchmarks).
|
|
195
224
|
|
|
196
|
-
|
|
197
|
-
slm status
|
|
225
|
+
---
|
|
198
226
|
|
|
199
|
-
|
|
200
|
-
slm mode a # Zero-LLM (default)
|
|
201
|
-
slm mode b # Local Ollama
|
|
202
|
-
slm mode c # Full power
|
|
203
|
-
```
|
|
227
|
+
## EU AI Act Compliance
|
|
204
228
|
|
|
205
|
-
|
|
229
|
+
The EU AI Act (Regulation 2024/1689) takes full effect **August 2, 2026**. Every AI memory system that sends personal data to cloud LLMs for core operations has a compliance question to answer.
|
|
206
230
|
|
|
207
|
-
|
|
231
|
+
| Requirement | Mode A | Mode B | Mode C |
|
|
232
|
+
|:------------|:------:|:------:|:------:|
|
|
233
|
+
| Data sovereignty (Art. 10) | **Pass** | **Pass** | Requires DPA |
|
|
234
|
+
| Right to erasure (GDPR Art. 17) | **Pass** | **Pass** | **Pass** |
|
|
235
|
+
| Transparency (Art. 13) | **Pass** | **Pass** | **Pass** |
|
|
236
|
+
| No network calls during memory ops | **Yes** | **Yes** | No |
|
|
208
237
|
|
|
209
|
-
|
|
210
|
-
{
|
|
211
|
-
"mcpServers": {
|
|
212
|
-
"superlocalmemory": {
|
|
213
|
-
"command": "slm",
|
|
214
|
-
"args": ["mcp"]
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
```
|
|
238
|
+
To the best of our knowledge, **no existing agent memory system addresses EU AI Act compliance**. Modes A and B pass all checks by architectural design — no personal data leaves the device during any memory operation.
|
|
219
239
|
|
|
220
|
-
|
|
240
|
+
Built-in compliance tools: GDPR Article 15/17 export + complete erasure, tamper-proof SHA-256 audit chain, data provenance tracking, ABAC policy enforcement.
|
|
241
|
+
|
|
242
|
+
---
|
|
221
243
|
|
|
222
|
-
|
|
244
|
+
## Web Dashboard
|
|
223
245
|
|
|
224
246
|
```bash
|
|
225
247
|
slm dashboard # Opens at http://localhost:8765
|
|
@@ -240,82 +262,58 @@ slm dashboard # Opens at http://localhost:8765
|
|
|
240
262
|
</p>
|
|
241
263
|
</details>
|
|
242
264
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
- **Dashboard** — Mode switcher, health score, quick store/recall
|
|
246
|
-
- **Recall Lab** — Search with per-channel score breakdown (Semantic, BM25, Entity, Temporal)
|
|
247
|
-
- **Knowledge Graph** — Interactive entity relationship visualization
|
|
248
|
-
- **Memories** — Browse, search, and manage stored memories
|
|
249
|
-
- **Trust Dashboard** — Bayesian trust scores per agent with Beta distribution visualization
|
|
250
|
-
- **Math Health** — Fisher-Rao confidence, Sheaf consistency, Langevin lifecycle state
|
|
251
|
-
- **Compliance** — GDPR export/erasure, EU AI Act status, audit trail
|
|
252
|
-
- **Learning** — Adaptive ranking progress, behavioral patterns, outcome tracking
|
|
253
|
-
- **IDE Connections** — Connected AI tools status and configuration
|
|
254
|
-
- **Settings** — Mode, provider, auto-capture/recall configuration
|
|
255
|
-
|
|
256
|
-
> The dashboard runs locally at `http://localhost:8765`. No data leaves your machine.
|
|
265
|
+
17 tabs: Dashboard, Recall Lab, Knowledge Graph, Memories, Trust Scores, Math Health, Compliance, Learning, IDE Connections, Settings, and more. Runs locally — no data leaves your machine.
|
|
257
266
|
|
|
258
267
|
---
|
|
259
268
|
|
|
260
|
-
##
|
|
269
|
+
## Features
|
|
261
270
|
|
|
262
|
-
### Retrieval
|
|
263
|
-
-
|
|
264
|
-
-
|
|
265
|
-
-
|
|
266
|
-
-
|
|
267
|
-
- RRF fusion (k=60) + cross-encoder reranking
|
|
271
|
+
### Retrieval
|
|
272
|
+
- 4-channel hybrid: Semantic (Fisher-Rao) + BM25 + Entity Graph + Temporal
|
|
273
|
+
- RRF fusion + cross-encoder reranking
|
|
274
|
+
- Agentic sufficiency verification (auto-retry on weak results)
|
|
275
|
+
- Adaptive ranking with LightGBM (learns from usage)
|
|
268
276
|
|
|
269
277
|
### Intelligence
|
|
270
|
-
- 11-step ingestion pipeline (entity resolution, fact extraction, emotional tagging, scene building
|
|
271
|
-
-
|
|
272
|
-
-
|
|
273
|
-
-
|
|
278
|
+
- 11-step ingestion pipeline (entity resolution, fact extraction, emotional tagging, scene building)
|
|
279
|
+
- Automatic contradiction detection via sheaf cohomology
|
|
280
|
+
- Self-organizing memory lifecycle (no hardcoded thresholds)
|
|
281
|
+
- Behavioral pattern detection and outcome tracking
|
|
274
282
|
|
|
275
|
-
### Trust &
|
|
276
|
-
- Bayesian Beta
|
|
283
|
+
### Trust & Security
|
|
284
|
+
- Bayesian Beta-distribution trust scoring (per-agent, per-fact)
|
|
277
285
|
- Trust gates (block low-trust agents from writing/deleting)
|
|
278
286
|
- ABAC (Attribute-Based Access Control) with DB-persisted policies
|
|
279
|
-
- GDPR Article 15/17 compliance (full export + complete erasure)
|
|
280
|
-
- EU AI Act data sovereignty (Mode A: zero cloud, data stays local)
|
|
281
287
|
- Tamper-proof hash-chain audit trail (SHA-256 linked entries)
|
|
282
|
-
- Data provenance tracking (who created what, when, from where)
|
|
283
288
|
|
|
284
289
|
### Infrastructure
|
|
285
|
-
- 17-tab web dashboard
|
|
286
|
-
- 17+ IDE integrations
|
|
287
|
-
-
|
|
288
|
-
-
|
|
289
|
-
-
|
|
290
|
+
- 17-tab web dashboard with real-time visualization
|
|
291
|
+
- 17+ IDE integrations (Claude, Cursor, Windsurf, VS Code, JetBrains, Zed, etc.)
|
|
292
|
+
- 24 MCP tools + 6 MCP resources
|
|
293
|
+
- Profile isolation (independent memory spaces)
|
|
294
|
+
- 1400+ tests, MIT license, cross-platform (Mac/Linux/Windows)
|
|
295
|
+
- CPU-only — no GPU required
|
|
290
296
|
|
|
291
297
|
---
|
|
292
298
|
|
|
293
|
-
##
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
|
300
|
-
|
|
301
|
-
|
|
|
302
|
-
|
|
|
303
|
-
|
|
|
304
|
-
|
|
|
305
|
-
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
|
310
|
-
|
|
311
|
-
| EverMemOS | 92.3% | Yes | No | No |
|
|
312
|
-
| MemMachine | 91.7% | Yes | No | No |
|
|
313
|
-
| Hindsight | 89.6% | Yes | No | No |
|
|
314
|
-
| **SLM V3 Mode C** | **87.7%** | Optional | **Yes** | Partial |
|
|
315
|
-
| **SLM V3 Mode A** | **62.3%** | **No** | **Yes** | **Yes** |
|
|
316
|
-
| Mem0 ($24M) | 34.2% F1 | Yes | Partial | No |
|
|
317
|
-
|
|
318
|
-
*SLM V3 is the only system offering a fully local mode with mathematical guarantees and EU AI Act compliance.*
|
|
299
|
+
## CLI Reference
|
|
300
|
+
|
|
301
|
+
| Command | What It Does |
|
|
302
|
+
|:--------|:-------------|
|
|
303
|
+
| `slm remember "..."` | Store a memory |
|
|
304
|
+
| `slm recall "..."` | Search memories |
|
|
305
|
+
| `slm forget "..."` | Delete matching memories |
|
|
306
|
+
| `slm trace "..."` | Recall with per-channel score breakdown |
|
|
307
|
+
| `slm status` | System status |
|
|
308
|
+
| `slm health` | Math layer health (Fisher, Sheaf, Langevin) |
|
|
309
|
+
| `slm mode a/b/c` | Switch operating mode |
|
|
310
|
+
| `slm setup` | Interactive first-time wizard |
|
|
311
|
+
| `slm warmup` | Pre-download embedding model |
|
|
312
|
+
| `slm migrate` | V2 to V3 migration |
|
|
313
|
+
| `slm dashboard` | Launch web dashboard |
|
|
314
|
+
| `slm mcp` | Start MCP server (for IDE integration) |
|
|
315
|
+
| `slm connect` | Configure IDE integrations |
|
|
316
|
+
| `slm profile list/create/switch` | Profile management |
|
|
319
317
|
|
|
320
318
|
---
|
|
321
319
|
|
|
@@ -324,43 +322,47 @@ Evaluated on the [LoCoMo benchmark](https://arxiv.org/abs/2402.09714) (Long Conv
|
|
|
324
322
|
### V3: Information-Geometric Foundations
|
|
325
323
|
> **SuperLocalMemory V3: Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory**
|
|
326
324
|
> Varun Pratap Bhardwaj (2026)
|
|
327
|
-
> [arXiv:2603.14588](https://arxiv.org/abs/2603.14588)
|
|
325
|
+
> [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) · [Zenodo DOI: 10.5281/zenodo.19038659](https://zenodo.org/records/19038659)
|
|
328
326
|
|
|
329
327
|
### V2: Architecture & Engineering
|
|
330
328
|
> **SuperLocalMemory: A Structured Local Memory Architecture for Persistent AI Agent Context**
|
|
331
329
|
> Varun Pratap Bhardwaj (2026)
|
|
332
|
-
> [arXiv:2603.02240](https://arxiv.org/abs/2603.02240)
|
|
330
|
+
> [arXiv:2603.02240](https://arxiv.org/abs/2603.02240) · [Zenodo DOI: 10.5281/zenodo.18709670](https://zenodo.org/records/18709670)
|
|
331
|
+
|
|
332
|
+
### Cite This Work
|
|
333
|
+
|
|
334
|
+
```bibtex
|
|
335
|
+
@article{bhardwaj2026slmv3,
|
|
336
|
+
title={Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory},
|
|
337
|
+
author={Bhardwaj, Varun Pratap},
|
|
338
|
+
journal={arXiv preprint arXiv:2603.14588},
|
|
339
|
+
year={2026},
|
|
340
|
+
url={https://arxiv.org/abs/2603.14588}
|
|
341
|
+
}
|
|
342
|
+
```
|
|
333
343
|
|
|
334
344
|
---
|
|
335
345
|
|
|
336
|
-
##
|
|
346
|
+
## Prerequisites
|
|
337
347
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
│ ├── cli/ # CLI with setup wizard
|
|
351
|
-
│ └── server/ # Dashboard API + UI server
|
|
352
|
-
├── tests/ # 1400+ tests
|
|
353
|
-
├── ui/ # 17-tab web dashboard
|
|
354
|
-
├── ide/ # IDE configs for 17+ tools
|
|
355
|
-
├── docs/ # Documentation
|
|
356
|
-
└── pyproject.toml # Modern Python packaging
|
|
357
|
-
```
|
|
348
|
+
| Requirement | Version | Why |
|
|
349
|
+
|:-----------|:--------|:----|
|
|
350
|
+
| **Node.js** | 14+ | npm package manager |
|
|
351
|
+
| **Python** | 3.11+ | V3 engine runtime |
|
|
352
|
+
|
|
353
|
+
All Python dependencies install automatically during `npm install`. If anything fails, the installer shows exact fix commands. BM25 keyword search works even without embeddings — you're never fully blocked.
|
|
354
|
+
|
|
355
|
+
| Component | Size | When |
|
|
356
|
+
|:----------|:-----|:-----|
|
|
357
|
+
| Core libraries (numpy, scipy, networkx) | ~50MB | During install |
|
|
358
|
+
| Search engine (sentence-transformers, torch) | ~200MB | During install |
|
|
359
|
+
| Embedding model (nomic-embed-text-v1.5, 768d) | ~500MB | First use or `slm warmup` |
|
|
358
360
|
|
|
359
361
|
---
|
|
360
362
|
|
|
361
363
|
## Contributing
|
|
362
364
|
|
|
363
|
-
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
365
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. [Wiki](https://github.com/qualixar/superlocalmemory/wiki) for detailed documentation.
|
|
364
366
|
|
|
365
367
|
## License
|
|
366
368
|
|
|
@@ -368,7 +370,7 @@ MIT License. See [LICENSE](LICENSE).
|
|
|
368
370
|
|
|
369
371
|
## Attribution
|
|
370
372
|
|
|
371
|
-
Part of [Qualixar](https://qualixar.com)
|
|
373
|
+
Part of [Qualixar](https://qualixar.com) · Author: [Varun Pratap Bhardwaj](https://varunpratap.com)
|
|
372
374
|
|
|
373
375
|
---
|
|
374
376
|
|