superlocalmemory 4.1.19 → 4.1.21
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/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +189 -0
- package/README.md +227 -601
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.mcp.json +7 -2
- package/plugin/CLAUDE.md +3 -3
- package/plugin/agents/slm-governance-advisor.md +1 -1
- package/plugin/agents/slm-loop-runner.md +1 -1
- package/plugin/agents/slm-memory-advisor.md +1 -1
- package/plugin/agents/slm-optimize-advisor.md +1 -1
- package/plugin/hooks/hooks.json +9 -9
- package/plugin/requirements.txt +1 -1
- package/plugin/scripts/ensure-venv.sh +23 -1
- package/plugin/scripts/slm-launch +60 -68
- package/plugin/scripts/slm-launch.bat +10 -1
- package/plugin/scripts/slm-resolve.sh +128 -0
- package/plugin/scripts/slm-run +76 -0
- package/plugin/skills/slm-cache/SKILL.md +1 -1
- package/plugin/skills/slm-compress/SKILL.md +1 -1
- package/plugin/skills/slm-governance/SKILL.md +1 -1
- package/plugin/skills/slm-graph/SKILL.md +1 -1
- package/plugin/skills/slm-loop/SKILL.md +1 -1
- package/plugin/skills/slm-mesh/SKILL.md +1 -1
- package/plugin/skills/slm-profile/SKILL.md +3 -3
- package/plugin/skills/slm-recall/SKILL.md +1 -1
- package/plugin/skills/slm-remember/SKILL.md +1 -1
- package/plugin/skills/slm-scope/SKILL.md +1 -1
- package/plugin/skills/slm-session/SKILL.md +1 -1
- package/plugin/skills/slm-status/SKILL.md +1 -1
- package/plugin-src/agents/slm-memory-advisor.md +1 -1
- package/plugin-src/agents/slm-optimize-advisor.md +1 -1
- package/plugin-src/rules/AGENTS.md +3 -3
- package/plugin-src/skills/slm-cache/SKILL.md +1 -1
- package/plugin-src/skills/slm-compress/SKILL.md +1 -1
- package/plugin-src/skills/slm-governance/SKILL.md +1 -1
- package/plugin-src/skills/slm-graph/SKILL.md +1 -1
- package/plugin-src/skills/slm-loop/SKILL.md +1 -1
- package/plugin-src/skills/slm-mesh/SKILL.md +1 -1
- package/plugin-src/skills/slm-profile/SKILL.md +3 -3
- package/plugin-src/skills/slm-recall/SKILL.md +1 -1
- package/plugin-src/skills/slm-remember/SKILL.md +1 -1
- package/plugin-src/skills/slm-scope/SKILL.md +1 -1
- package/plugin-src/skills/slm-session/SKILL.md +1 -1
- package/plugin-src/skills/slm-status/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -1,720 +1,346 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<picture>
|
|
3
3
|
<source media="(prefers-color-scheme: dark)" srcset="assets/branding/slm-wordmark-dark.svg">
|
|
4
|
-
<img src="assets/branding/slm-wordmark-light.svg" alt="SuperLocalMemory" width="
|
|
4
|
+
<img src="assets/branding/slm-wordmark-light.svg" alt="SuperLocalMemory: local-first memory for AI agents" width="360">
|
|
5
5
|
</picture>
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
# SuperLocalMemory: governed, local-first memory for AI agents
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Claude Code, Codex, Cursor and other MCP clients forget what they learned when a session ends. SuperLocalMemory (SLM) gives them one long-term memory that lives on your machine: it learns from use, enforces who may read and erase what, coordinates many agents, and says "I don't have that" instead of guessing.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
**Every recall is checked before your agent uses it.** A judge decides whether the memories found actually answer the question: **Laya** runs fully on your Mac, and **Jev** runs online on Windows, Linux and macOS. When they don't answer it, SLM says so instead of handing over a confident wrong answer: a hallucination guard for retrieval ([answer check](#answer-check-laya-and-jev)).
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
In Mode A, core remember and recall make no model-provider call. Anything that sends data out is a choice you make, and the docs say exactly what goes.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
[](https://pypi.org/project/superlocalmemory/)
|
|
17
|
+
[](https://www.npmjs.com/package/superlocalmemory)
|
|
18
|
+
[](https://pepy.tech/project/superlocalmemory)
|
|
19
|
+
[](https://www.npmjs.com/package/superlocalmemory)
|
|
20
|
+
[](https://github.com/qualixar/superlocalmemory/stargazers)
|
|
21
|
+
[](pyproject.toml)
|
|
22
|
+
[](LICENSE)
|
|
23
|
+
[](#answer-check-laya-and-jev)
|
|
24
|
+
[](https://arxiv.org/abs/2608.08253)
|
|
25
|
+
[](https://arxiv.org/abs/2604.04514)
|
|
26
|
+
[](https://arxiv.org/abs/2603.14588)
|
|
27
|
+
[](https://arxiv.org/abs/2603.02240)
|
|
17
28
|
|
|
18
|
-
**[Install](https://www.superlocalmemory.com/install)** · **[Product walkthrough](https://www.superlocalmemory.com/demo)** · **[CLI proof](docs/QUICK_PROOF.md)** · **[Release notes](CHANGELOG.md)**
|
|
29
|
+
**[Install](https://www.superlocalmemory.com/install)** · **[Product walkthrough](https://www.superlocalmemory.com/demo)** · **[Demo video](https://www.youtube.com/watch?v=PMWW_ypsL60)** · **[CLI proof](docs/QUICK_PROOF.md)** · **[Release notes](CHANGELOG.md)**
|
|
19
30
|
|
|
20
31
|
```bash
|
|
21
|
-
npm install -g superlocalmemory
|
|
22
|
-
slm setup
|
|
23
|
-
slm
|
|
24
|
-
slm remember "Synthetic demo: the release checklist requires a human approval after tests pass." --tags demo --json --sync
|
|
25
|
-
slm recall "release checklist human approval" --json
|
|
32
|
+
npm install -g superlocalmemory # primary route (Node 18+, Python 3.12+); or: pipx install superlocalmemory
|
|
33
|
+
slm setup # pick Mode A to keep everything on this machine
|
|
34
|
+
slm connect cursor # or claude-code, codex, windsurf, zed ... 12 IDEs
|
|
26
35
|
```
|
|
27
36
|
|
|
28
|
-
|
|
29
|
-
[See the commands, scope and isolation settings](docs/QUICK_PROOF.md).
|
|
37
|
+
npm installs SLM into a package-owned virtual environment. The other primary route is pip in a Python virtual environment you activate: `python3 -m venv .venv`, activate it, then `python -m pip install superlocalmemory`. Repository clone: `./scripts/install.sh install` (macOS, Linux) or `.\scripts\install.ps1 -Action Install` (Windows); see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
30
38
|
|
|
31
|
-
|
|
39
|
+
Runs on Windows, Linux and macOS ([platforms](#platform-support)). No Docker, no required graph database, no API key.
|
|
32
40
|
|
|
33
|
-
|
|
41
|
+
## 30-second example
|
|
34
42
|
|
|
35
|
-
|
|
43
|
+
```console
|
|
44
|
+
$ slm remember "We deploy the API blue-green; rollback is a DNS flip." --kind decision
|
|
45
|
+
Queryable ✓ 1 facts (operation=ebca8e80...).
|
|
46
|
+
$ slm remember "Always run the migration dry-run before a release." --kind rule
|
|
47
|
+
$ slm remember "Staging DB is Postgres 16 on port 5433."
|
|
36
48
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
access, and GDPR + EU AI Act governance controls built in.</p>
|
|
49
|
+
$ slm recall "how do we roll back the API"
|
|
50
|
+
1. [0.67] We deploy the API blue-green; rollback is a DNS flip.
|
|
51
|
+
2. [0.53] Always run the migration dry-run before a release.
|
|
52
|
+
3. [0.52] Staging DB is Postgres 16 on port 5433.
|
|
42
53
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
Different products solve different boundaries. Published benchmark evidence carried into V4
|
|
46
|
-
comes from the published V3 research architecture; it is not a claim of a newly rerun V4 package benchmark.</p>
|
|
54
|
+
$ slm recall "what did we decide about rollback" --kind decision
|
|
55
|
+
1. [0.54] We deploy the API blue-green; rollback is a DNS flip.
|
|
47
56
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
55
|
-
<p align="center"><strong>Four public arXiv preprints</strong> · V4: <a href="https://arxiv.org/abs/2608.08253">arXiv:2608.08253</a> · companion archive: <a href="https://zenodo.org/records/21853302">Zenodo 21853302</a> (<a href="https://doi.org/10.5281/zenodo.21853302">DOI 10.5281/zenodo.21853302</a>) · prior preprints: <a href="https://arxiv.org/abs/2603.02240">2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">2604.04514</a>.</p>
|
|
56
|
-
|
|
57
|
-
<p align="center">
|
|
58
|
-
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v4.1.19-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v4.1.19 — Current Release"/></a>
|
|
59
|
-
<a href="https://arxiv.org/abs/2608.08253"><img src="https://img.shields.io/badge/arXiv-2608.08253-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="SuperLocalMemory 4.0 paper on arXiv:2608.08253"/></a>
|
|
60
|
-
<a href="https://zenodo.org/records/21853302"><img src="https://img.shields.io/badge/Zenodo-10.5281%2Fzenodo.21853302-1682D4?style=for-the-badge&logo=zenodo&logoColor=white" alt="V4 paper on Zenodo: 10.5281/zenodo.21853302"/></a>
|
|
61
|
-
<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>
|
|
62
|
-
<a href="#three-surfaces-proxy--mcp-tools--skill"><img src="https://img.shields.io/badge/Proxy_|_MCP_|_Skill-22c55e?style=for-the-badge" alt="Three Surfaces: Proxy, MCP Tools, Skill"/></a>
|
|
63
|
-
<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>
|
|
64
|
-
<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>
|
|
65
|
-
<a href="https://www.gnu.org/licenses/agpl-3.0"><img src="https://img.shields.io/badge/License-AGPL_v3-blue.svg?style=for-the-badge" alt="AGPL v3"/></a>
|
|
66
|
-
<a href="#privacy-controls-and-operating-modes"><img src="https://img.shields.io/badge/Privacy-Deployment_Assessed-brightgreen?style=for-the-badge" alt="Privacy controls require deployment assessment"/></a>
|
|
67
|
-
<a href="#teams-and-enterprise-memory-v4"><img src="https://img.shields.io/badge/Enterprise-GDPR_%7C_EU_AI_Act_controls-0b5394?style=for-the-badge" alt="Enterprise governance: GDPR and EU AI Act controls"/></a>
|
|
68
|
-
<a href="https://superlocalmemory.com"><img src="https://img.shields.io/badge/Web-superlocalmemory.com-ff6b35?style=for-the-badge" alt="Website"/></a>
|
|
69
|
-
<a href="#dual-interface-mcp--cli"><img src="https://img.shields.io/badge/MCP-Native-blue?style=for-the-badge" alt="MCP Native"/></a>
|
|
70
|
-
<a href="#dual-interface-mcp--cli"><img src="https://img.shields.io/badge/CLI-Agent--Native-green?style=for-the-badge" alt="CLI Agent-Native"/></a>
|
|
71
|
-
<a href="#multilingual-embedding-support"><img src="https://img.shields.io/badge/Multilingual-via_your_embedding_model-ff69b4?style=for-the-badge" alt="Multilingual via your embedding model"/></a>
|
|
72
|
-
</p>
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## Why SuperLocalMemory?
|
|
77
|
-
|
|
78
|
-
SuperLocalMemory is an enterprise-grade, local-first memory control plane for AI agents. Your team's agent memory lives on infrastructure you control, with per-workspace isolation, role-based access, and GDPR / EU AI Act governance controls — built for organizations, and for EU data-residency obligations where agent context must not leave your environment by default.
|
|
79
|
-
|
|
80
|
-
Agent-memory systems make different storage, model-provider, and deployment trade-offs. SuperLocalMemory starts with a local runtime and makes provider-backed enrichment, cloud backup, connectors, and proxy use explicit choices.
|
|
81
|
-
|
|
82
|
-
Different products solve different boundaries. The published LoCoMo benchmark evidence in this README is protocol-scoped evidence from the published V3 research architecture; it is carried forward for continuity and is not a claim of a newly rerun V4 package benchmark.
|
|
83
|
-
|
|
84
|
-
SuperLocalMemory V4 combines conventional dense and lexical retrieval with graph, temporal, associative, and statistical relevance scoring in a **7-layer** control plane (admission → queryable core → enrichment → brain → multi-channel retrieval → context safety → operations). The default local runtime does not require Docker, a separately operated graph database, or an API key.
|
|
85
|
-
|
|
86
|
-
**Memory with a sense of time.** SLM does not only store *what* an agent learned — it records *when*. Every fact carries ingestion timing and provenance; recall runs a dedicated temporal candidate channel alongside semantic, lexical, and associative retrieval; scenes and entity timelines reconstruct sequence; and the lifecycle lets neglected memory decay and self-archive instead of growing without bound. Time is a first-class ranking and lifecycle signal rather than a timestamp column an agent never reads — which is what lets a long-lived agent reason about how its context changed, not only what it currently holds.
|
|
87
|
-
|
|
88
|
-
**What changed in this release.** See the [CHANGELOG](CHANGELOG.md) — every release is written up there, in plain language, newest first.
|
|
89
|
-
|
|
90
|
-
- **[SLM-Mesh](#slm-mesh-cross-session--cross-machine-coordination)** — authenticated cross-session and cross-machine peer coordination (messages, locks, shared state, inbox/outbox, optional discovery). Coordination only — not automatic replicated memory.
|
|
91
|
-
- **Multi-scope memory & profiles** — workspaces (profiles) plus `personal` / `shared` / `global` scopes; cross-profile recall is default-deny.
|
|
92
|
-
- **Cache & compression (context optimization)** — exact-match cache with tagged invalidation, safe compression, and opt-in reversible/aggressive paths across proxy, MCP, and skill surfaces.
|
|
93
|
-
- **Entity Explorer & skill evolution** — compiled entity summaries/timelines; opt-in skill lineage, budgets, and verification outcomes.
|
|
94
|
-
- **Modes A / B / C** — local-only by default (A), on-device LLM enrichment (B), provider-assisted (C). An operating mode records technical locality facts; it does **not** determine EU AI Act legal compliance (that is deployment-context assessment — see [Privacy controls](#privacy-controls-and-operating-modes)).
|
|
95
|
-
- **GDPR posture, retention & audit chain** — export, fail-closed cross-store erasure, retention policies, and a hash-chained audit trail. Engineering controls for compliance programs, not a legal certification.
|
|
96
|
-
- **7-layer retrieval/recall stack & code graph** — multi-channel candidates (semantic, BM25, temporal, Hopfield, spreading activation) plus optional code-graph tools for blast radius and review context.
|
|
97
|
-
- **MCP profiles** — `code` (38 tools) for installed coding agents; `full` (54 tools); `power` (66 tools); `whole` (101 tools, all registered). Also `core` (18 tools), `mesh` (8 tools), and the unrestricted default surface — the same 54 tools as `full`.
|
|
98
|
-
- **Governed write path & verifiable transactions** — admission + policy control, a per-owner obligation ledger, and a hash-sealed completion manifest with a reconciler that redrives unmet obligations.
|
|
99
|
-
- **Self-healing lifecycle & admin remediation** — stale locks cleared on restart; list/resolve stuck operations from CLI, MCP, or the dashboard.
|
|
100
|
-
|
|
101
|
-
SLM is one strand of Qualixar's work on AI reliability engineering: making agent behavior observable, bounded, and reproducible instead of best-effort.
|
|
102
|
-
|
|
103
|
-
The architecture evaluated in the V3 paper remains the foundation of this release. The figures below keep their original LoCoMo protocol, answer-construction, model, and sample scope.
|
|
104
|
-
|
|
105
|
-
### How SLM fits beside other memory systems
|
|
106
|
-
|
|
107
|
-
Different products solve different boundaries. SLM is for developers who want
|
|
108
|
-
one local-first operating control plane—not only an SDK, managed context API,
|
|
109
|
-
or agent runtime. It combines dated evidence, graph-aware retrieval, cache and
|
|
110
|
-
compression controls, **SLM-Mesh**, and MCP/CLI/hooks/dashboard/IDE
|
|
111
|
-
surfaces in one install.
|
|
112
|
-
|
|
113
|
-
| If your primary need is… | Product boundary to evaluate |
|
|
114
|
-
|---|---|
|
|
115
|
-
| Local-first agent memory plus operations, optimization, and IDE-agent surfaces | **SuperLocalMemory** — Mode A local core; Modes B/C by explicit choice. |
|
|
116
|
-
| A memory SDK, self-hosted server, or managed platform | [Mem0](https://github.com/mem0ai/mem0) |
|
|
117
|
-
| A temporal context-graph service or graph engine | [Zep / Graphiti](https://github.com/getzep/graphiti) |
|
|
118
|
-
| A stateful agent runtime with memory blocks and archival memory | [Letta](https://docs.letta.com/guides/core-concepts/memory/context-hierarchy) |
|
|
119
|
-
| LangGraph-native memory primitives and managers | [LangMem](https://github.com/langchain-ai/langmem) |
|
|
120
|
-
| A context API/app with profiles, connectors, and RAG | [Supermemory](https://github.com/supermemoryai/supermemory) |
|
|
121
|
-
| User profiles and event-timeline memory | [Memobase](https://github.com/memodb-io/memobase) |
|
|
122
|
-
|
|
123
|
-
See the [source-linked market comparison](https://superlocalmemory.com/comparison)
|
|
124
|
-
for current primary sources and protocol-scoped benchmark evidence. A LoCoMo
|
|
125
|
-
percentage is comparable only when the dataset scope, answer model, judge,
|
|
126
|
-
retrieval stack, and release artifact match.
|
|
127
|
-
|
|
128
|
-
### The V4 capability architecture
|
|
129
|
-
|
|
130
|
-
SuperLocalMemory is one local control plane for persistent agent context. It is
|
|
131
|
-
not just a vector store: the same runtime can accept evidence, build and govern
|
|
132
|
-
memory, retrieve bounded evidence for an agent, and expose cache, compression,
|
|
133
|
-
and **SLM-Mesh** peer-coordination controls through a CLI, MCP, dashboard, and supported
|
|
134
|
-
IDE integrations.
|
|
135
|
-
|
|
136
|
-

|
|
137
|
-
|
|
138
|
-
*Architecture boundary: SQLite + sqlite-vec remain canonical; CozoDB and
|
|
139
|
-
LanceDB are parity-gated projections; **SLM-Mesh** coordinates trusted peers rather
|
|
140
|
-
than replicating a distributed memory database; connectors are opt-in.*
|
|
141
|
-
|
|
142
|
-
**Memory boundaries:** profiles isolate workspaces by default. Every memory is
|
|
143
|
-
`personal`, `shared` with named profile readers, or `global`; cross-profile
|
|
144
|
-
recall is default-deny and must be explicitly enabled. This scoped sharing is
|
|
145
|
-
local authorization, not **SLM-Mesh** synchronization. See
|
|
146
|
-
[shared-memory.md](docs/shared-memory.md).
|
|
147
|
-
|
|
148
|
-
```text
|
|
149
|
-
IDEs, agents, scripts, connectors, and humans
|
|
150
|
-
│ CLI · MCP (HTTP/stdio) · hooks · dashboard
|
|
151
|
-
▼
|
|
152
|
-
┌────────────────────────── SLM CONTROL PLANE ──────────────────────────┐
|
|
153
|
-
│ 1. Admission identity, scope, idempotency, raw evidence │
|
|
154
|
-
│ 2. Queryable core SQLite facts + FTS durable receipt │
|
|
155
|
-
│ 3. Enrichment facts, entities, scenes, time, provenance, graph │
|
|
156
|
-
│ 4. Memory brain feedback, patterns, rewards, consolidation │
|
|
157
|
-
│ 5. Retrieval semantic · BM25 · temporal · Hopfield · activation │
|
|
158
|
-
│ 6. Context safety policy, trust, provenance, redaction, budgets │
|
|
159
|
-
│ 7. Operations lifecycle, audit, cache/compress, mesh, backups │
|
|
160
|
-
└───────────────────────────────────────────────────────────────────────┘
|
|
161
|
-
│
|
|
162
|
-
▼
|
|
163
|
-
SQLite + sqlite-vec canonical store ──► optional graph/vector projections
|
|
57
|
+
$ slm remember "Staging DB moved to Postgres 17 on port 5434." --replaces 0f57a17af3dd46e5
|
|
58
|
+
Replaced ✓ 1 fact(s) of 0f57a17af3dd46e5.
|
|
59
|
+
To undo, run:
|
|
60
|
+
slm review-correction ... rollback 1
|
|
61
|
+
$ slm recall "which port does staging postgres use"
|
|
62
|
+
1. [0.68] Staging DB moved to Postgres 17 on port 5434.
|
|
164
63
|
```
|
|
165
64
|
|
|
166
|
-
|
|
167
|
-
enricher or retrieval channel runs for every request. The receipt, trace, and
|
|
168
|
-
health surfaces expose the stages actually completed by the installed runtime.
|
|
169
|
-
|
|
170
|
-
| Capability | What ships today | Operator boundary |
|
|
171
|
-
|---|---|---|
|
|
172
|
-
| **Memory types and lifecycle** | Atomic facts, episodic scenes, temporal events, canonical entities, profiles/scopes, consolidation, forgetting and retention controls | Lifecycle policies and retention decisions remain operator-configured. |
|
|
173
|
-
| **Memory boundaries** | Profile-isolated workspaces plus `personal`, `shared`, and `global` memory scopes | Personal is the default; shared/global recall requires explicit scope policy or per-call opt-in. |
|
|
174
|
-
| **Ingestion** | Durable raw-to-complete operation state, fact extraction, entity resolution, graph/temporal/provenance derivations, and replay-safe identity | `--sync` waits for declared stages; dependencies and mode determine which enrichers are available. |
|
|
175
|
-
| **Retrieval and recall** | Semantic, lexical, temporal, Hopfield and spreading-activation candidate channels; RRF fusion, optional reranking and graph score enhancement | Healthy channels participate; response provenance states the evidence used. |
|
|
176
|
-
| **Answer check** | A check (on-device or hosted) that reports whether the top results actually answer the question, not just whether they're related | Until you choose, it runs only once an on-device install has passed its check; otherwise it is off. The hosted check runs only after you turn it on and agree. Results are never filtered or hidden because of it. See [docs/answer-check.md](docs/answer-check.md). |
|
|
177
|
-
| **Brain and learning** | Behavioral patterns, feedback/outcome records, rewards, consolidation, LightGBM-related ranking components, soft prompts, and guarded skill-evolution workflows | Learning is evidence-driven; it does not claim autonomous correctness or guaranteed improvement. |
|
|
178
|
-
| **Knowledge graph and entities** | Canonical entities, aliases, entity profiles, graph edges, scenes, timelines, explorer and graph APIs | Stored/derived graph data is evidence, not an instruction authority. |
|
|
179
|
-
| **Scale Engine** | SQLite + sqlite-vec are canonical. CozoDB graph and LanceDB vector projections are managed with prepare → verify → promote → rollback; a structurally detected pre-v3.7 projection can be explicitly adopted. | Promotion is parity-gated and crash-recoverable. Legacy adoption preserves the prior projection as a rollback backup; repeated physical edge rows normalize to one logical edge with the strongest weight. |
|
|
180
|
-
| **Optimize** | Exact cache, tagged invalidation, safe compression, opt-in aggressive prose compression, CCR originals, proxy/MCP/skill surfaces | Only proxy intercepts a primary provider turn. MCP/skill cache results explicitly routed through SLM. |
|
|
181
|
-
| **SLM-Mesh** | Authenticated peer messages, inbox/outbox, locks, offline queue, optional discovery and mesh MCP tools | SLM-Mesh is coordination, not automatic replicated memory or conflict resolution. |
|
|
182
|
-
| **Governance and operations** | Provenance, audit/retention/policy surfaces, export/erasure controls, diagnostics, health, backups and daemon lifecycle | These are engineering controls, not a legal certification. |
|
|
183
|
-
| **Integrations** | CLI, Python SDK, MCP HTTP/stdio, Claude plugin, Codex add-on, supported IDE configurations, Gmail/Calendar/transcript adapters | Hooks, IDE edits, connectors, and networked adapters require explicit operator activation. |
|
|
184
|
-
|
|
185
|
-
### What the dashboard exposes
|
|
186
|
-
|
|
187
|
-
`slm dashboard` opens a local operational view of the same control plane:
|
|
188
|
-
|
|
189
|
-
| Workspace | Use it to inspect or control |
|
|
190
|
-
|---|---|
|
|
191
|
-
| Dashboard and Health | daemon identity, storage/runtime health, diagnostics and recent activity |
|
|
192
|
-
| Brain | consolidation, behavioral patterns, outcomes/rewards, learning state and soft prompts |
|
|
193
|
-
| Knowledge Graph and Memories | graph neighborhoods, entities, scenes, temporal evidence, memory inspection and mutation |
|
|
194
|
-
| Operations | ingestion-operation state, traces, maintenance and lifecycle work |
|
|
195
|
-
| Entity Explorer and Skill Evolution | compiled entity summaries/timelines; opt-in skill lineage, budgets and verification outcomes |
|
|
196
|
-
| Multi-Agent Memory | per-agent write activity and attribution; memories stamped by `SLM_AGENT_ID`, agent write counts, and trust signals |
|
|
197
|
-
| SLM-Mesh Peers | configured peers, inbox/outbox, pending coordination and locks |
|
|
198
|
-
| Settings and Optimize | mode/provider/configuration; cache, compression and savings telemetry |
|
|
199
|
-
|
|
200
|
-
Dashboard visibility is not a substitute for runtime proof: use `slm doctor`,
|
|
201
|
-
`slm health`, `slm trace`, and the relevant CLI/MCP operation to validate a
|
|
202
|
-
deployment.
|
|
65
|
+
Real output from a fresh Mode A install, trimmed. Scores rank; they are not probabilities. While the embedding model loads, recall says `Incomplete search`.
|
|
203
66
|
|
|
204
67
|
### Watch the product walkthrough
|
|
205
68
|
|
|
206
69
|
[](https://www.youtube.com/watch?v=PMWW_ypsL60)
|
|
207
70
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
### Published LoCoMo evidence (V3 architecture, carried into V4)
|
|
211
|
-
|
|
212
|
-
The V3 paper evaluates the multi-channel architecture that V4 still runs. Every figure below
|
|
213
|
-
is protocol-scoped, so a reader can distinguish local retrieval, answer
|
|
214
|
-
construction, and cloud-assisted evaluation rather than treating unlike runs as
|
|
215
|
-
one score.
|
|
216
|
-
|
|
217
|
-
| Published configuration | LoCoMo aggregate | Protocol scope | What the result establishes |
|
|
218
|
-
|---|---:|---|---|
|
|
219
|
-
| **Mode A Raw** | **60.4%** | 10 conversations; 1,276 scored questions; local embeddings, local retrieval, and zero-LLM answer construction | End-to-end local answer construction under the published V3 protocol. |
|
|
220
|
-
| **Mode A Retrieval** | **74.8%** | 10 conversations; 1,276 scored questions; local retrieval, then GPT-4.1-mini answer synthesis | Retrieval evidence: local retrieval contributes the evidence, while the disclosed external model constructs the final answer. |
|
|
221
|
-
| **Mode C** | **87.7%** | Conv-30 only; 81 scored questions; text-embedding-3-large plus GPT-4.1-mini answer generation and judge | Cloud-assisted configuration on one fully disclosed conversation; not a full-dataset result. |
|
|
71
|
+
Five minutes: install, setup, recall, cache and compression.
|
|
222
72
|
|
|
223
|
-
|
|
224
|
-
**70.3%** multi-hop, **80.0%** temporal, and **85.0%** open-domain. Mode C
|
|
225
|
-
scored **64.0%** single-hop, **100.0%** multi-hop, and **86.0%** open-domain
|
|
226
|
-
on its 81-question Conv-30 scope (no temporal category was reported for that
|
|
227
|
-
run). Across six LoCoMo conversations, the paper reports **71.7%** with the
|
|
228
|
-
information-geometric layers versus **58.9%** without them: **+12.7pp**.
|
|
73
|
+
### The dashboard, on real 4.1.21
|
|
229
74
|
|
|
230
|
-
|
|
231
|
-
LoCoMo paper](https://arxiv.org/abs/2402.17753) for the full protocol,
|
|
232
|
-
ablation table, and limitations. These are published V3 architecture results
|
|
233
|
-
carried into V4—not a substitute for a newly rerun release-artifact benchmark.
|
|
75
|
+
Captured from a 4.1.21 install in Mode A, with Laya running on the Mac and a store of fictional project memories. Nothing is mocked: each verdict, score and timing is what SLM returned.
|
|
234
76
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
```bash
|
|
240
|
-
# Primary path 1 — npm global CLI (Node 18+)
|
|
241
|
-
# Creates a package-owned virtual environment. It does not modify system Python.
|
|
242
|
-
npm install -g superlocalmemory
|
|
243
|
-
slm setup # Choose mode (A/B/C)
|
|
244
|
-
slm doctor # Verify everything is working
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
```bash
|
|
248
|
-
# Primary path 2 — Python CLI + SDK in an activated virtual environment
|
|
249
|
-
python3 -m venv .venv
|
|
250
|
-
source .venv/bin/activate # Windows PowerShell: .venv\Scripts\Activate.ps1
|
|
251
|
-
python -m pip install superlocalmemory
|
|
252
|
-
slm setup
|
|
253
|
-
slm doctor
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
```bash
|
|
257
|
-
# First use
|
|
258
|
-
slm remember "Alice works at Google as a Staff Engineer" --json
|
|
259
|
-
slm recall "What does Alice do?"
|
|
260
|
-
slm status
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
The default daemon write commits raw evidence plus a relational/FTS projection
|
|
264
|
-
and returns a durable receipt in `queryable` state. Enrichment then advances the
|
|
265
|
-
same operation through `enriching` to `complete`, or records a retryable
|
|
266
|
-
`failed` state. Use `slm remember "..." --sync` when the caller must wait for
|
|
267
|
-
all declared derivation and projector stages. JSON output includes the opaque
|
|
268
|
-
`operation_id`, current `materialization_state`, and fact IDs.
|
|
77
|
+
| Memories that answer the question | Memories that do not: "I don't have that" |
|
|
78
|
+
|---|---|
|
|
79
|
+
|  |  |
|
|
269
80
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
# Your first repeat prompt → CACHE HIT → $0.00
|
|
274
|
-
# See savings: slm optimize savings --since 1
|
|
275
|
-
```
|
|
81
|
+
| Recall Lab: why each memory was chosen | Every memory with its kind and project |
|
|
82
|
+
|---|---|
|
|
83
|
+
|  |  |
|
|
276
84
|
|
|
277
|
-
|
|
278
|
-
or, while the Python virtual environment is active,
|
|
279
|
-
`python -m pip install --upgrade superlocalmemory`. Then run
|
|
280
|
-
`slm restart && slm doctor`. Repository-clone users use the matching `upgrade`
|
|
281
|
-
action in `scripts/install.sh` or `scripts/install.ps1`. Installers never move
|
|
282
|
-
or delete memory data.
|
|
85
|
+

|
|
283
86
|
|
|
284
|
-
|
|
87
|
+
## Why SuperLocalMemory: the moats
|
|
285
88
|
|
|
286
|
-
|
|
89
|
+
A vector store answers "what is similar". AI agent memory must also answer: is this still true, who may see it, can it be erased with proof, and does the agent actually have the answer?
|
|
287
90
|
|
|
288
|
-
|
|
91
|
+
**1. Governed memory, not a vector store.** Roles per workspace, personal / shared / global scopes with default-deny cross-profile recall, GDPR erasure with HMAC-verifiable receipts, retention rules and a hash-chained audit log. The [V4 paper](https://arxiv.org/abs/2608.08253) measures what the governed write path costs. Code: `src/superlocalmemory/access/`, `compliance/`.
|
|
289
92
|
|
|
290
|
-
|
|
93
|
+
**2. A zero-LLM core built on published math.** Five retrieval channels, fusion and the learned ranker run without a language model; V3 scored 60.4% on LoCoMo with no LLM anywhere ([benchmarks](#benchmarks-v3)). Fisher-information scoring, sheaf contradiction detection and Langevin lifecycle dynamics added 12.7 points ([V3 paper](https://arxiv.org/abs/2603.14588)).
|
|
291
94
|
|
|
292
|
-
|
|
293
|
-
temporal, Hopfield associative, and spreading activation—followed by fusion,
|
|
294
|
-
optional reranking, and entity-graph score enhancement. The entity graph does
|
|
295
|
-
not create an independent candidate in the current implementation. Core memory
|
|
296
|
-
is SQLite-backed. SQLite and sqlite-vec remain the canonical source of truth.
|
|
297
|
-
The packaged Scale Engine can maintain CozoDB graph and LanceDB vector
|
|
298
|
-
projections, and it remains outside active retrieval paths until a staged
|
|
299
|
-
parity witness proves it matches the canonical store. New installations remain
|
|
300
|
-
on Local Core. During upgrade, `slm db scale status` can identify a positive
|
|
301
|
-
pre-v3.7 layout candidate; the operator confirms it with `slm db scale adopt`.
|
|
302
|
-
SLM then rebuilds from canonical SQLite, verifies it, and promotes it with a
|
|
303
|
-
durable recovery journal while retaining the prior directories as a rollback
|
|
304
|
-
backup. `adopt` reports `restart_required: true`; run `slm restart` before
|
|
305
|
-
checking daemon health. If proof fails, recall remains on SQLite and status
|
|
306
|
-
retains the rejected manifest for inspection, retires its replaceable derived
|
|
307
|
-
payload, and allows a corrected retry.
|
|
95
|
+
**3. It says "I don't have that."** The [answer check](docs/answer-check.md) decides whether the top results answer the question, on your Mac (Laya) or online (Jev), and recall reports `abstained` instead of a confident wrong answer.
|
|
308
96
|
|
|
309
|
-
|
|
310
|
-
complete`, with `failed` retaining raw evidence, error details, attempt count,
|
|
311
|
-
and retry timing. SQLite relational facts and FTS are the queryable checkpoint;
|
|
312
|
-
optional ANN/vector projectors are verified before `complete` is granted.
|
|
97
|
+
**4. Memory that learns, and cannot quietly get worse.** A Thompson-sampling bandit tunes channel weights and a LightGBM ranker learns from reported outcomes. A retrained ranker is promoted only after a shadow A/B test on live recalls, and rolled back automatically if NDCG@10 drops 2% or more. Code: `learning/shadow_test.py`, `learning/model_rollback.py`.
|
|
313
98
|
|
|
314
|
-
|
|
315
|
-
session context, and chat use one bounded renderer that redacts recognized
|
|
316
|
-
secrets, neutralizes forged boundary markers, and attaches provenance. Trusted
|
|
317
|
-
IDE instruction files contain only the static SLM protocol; fresh memory is
|
|
318
|
-
retrieved at runtime rather than copied into those files.
|
|
99
|
+
**5. Memory with a sense of time.** Every fact records when it happened and when SLM learned it. Ask what was true last month (`--valid-at`) or what SLM knew before a date (`--known-as-of`). Unused memories fade and lose vector precision ([V3.3 paper](https://arxiv.org/abs/2604.04514)).
|
|
319
100
|
|
|
320
|
-
**
|
|
321
|
-
`ranking_score` is internal ranking utility; `memory_confidence` belongs to the
|
|
322
|
-
stored assertion; and `trust_score` is an evidence-policy signal. Legacy
|
|
323
|
-
`score` and `confidence` remain aliases for one compatibility release. It is
|
|
324
|
-
explicitly uncalibrated: `calibration_status` is `uncalibrated` and
|
|
325
|
-
`answer_confidence` is `null`. See
|
|
326
|
-
[the retrieval score contract](docs/retrieval-score-contract.md).
|
|
101
|
+
**6. Many agents, one coordinated memory.** Every write records its agent, with Bayesian trust scores against poisoning ([V2 paper](https://arxiv.org/abs/2603.02240)). SLM-Mesh gives parallel sessions messages, locks and shared state.
|
|
327
102
|
|
|
328
|
-
|
|
329
|
-
can run without a cloud LLM:
|
|
103
|
+
**7. "Done" means a gate passed.** Bounded loops repeat a task until an independent check (tests, a schema, a linter) passes, never on the agent's word, and store every lap as auditable memory.
|
|
330
104
|
|
|
331
|
-
|
|
332
|
-
2. **Sheaf Cohomology for Consistency** — algebraic topology detects contradictions via coboundary norms on the knowledge graph.
|
|
333
|
-
3. **Riemannian Langevin Lifecycle** — memory positions evolve continuously on the Poincare ball, and where a memory sits decides its lifecycle stage. There is no retention timer counting down against a memory: what moves it outward is being left alone, and what pulls it back is being used. The stage boundaries themselves are fixed radii.
|
|
105
|
+
**8. Context you don't pay for twice.** Exact cache and reversible compression work through MCP tools or a skill, with no proxy, so your full context window stays intact.
|
|
334
106
|
|
|
335
|
-
|
|
336
|
-
Code) or `slm hooks install --agent codex` (Codex). Hook latency and capture
|
|
337
|
-
quality must be evaluated for the target client and workload; SLM publishes no universal p99 claim.
|
|
107
|
+
SLM is part of Qualixar's AI Reliability Engineering work: agent memory that is observable, bounded and honest about what it doesn't know.
|
|
338
108
|
|
|
339
|
-
|
|
109
|
+
## Works with your agents
|
|
340
110
|
|
|
341
|
-
|
|
111
|
+
| Surface | What you get | Docs |
|
|
112
|
+
|---|---|---|
|
|
113
|
+
| Editor plugins | Claude Code, Codex, VS Code / Copilot, Antigravity, Hermes. Each ships 12 skills, 4 sub-agents and session hooks | [IDE setup](docs/ide-setup.md), [Hermes](docs/hermes.md) |
|
|
114
|
+
| `slm connect <ide>` | Writes the MCP config for 12 IDEs, including Cursor, Windsurf, Zed, JetBrains, Gemini CLI and Claude Desktop | [IDE setup](docs/ide-setup.md) |
|
|
115
|
+
| MCP | stdio (`slm mcp`) or HTTP at `http://127.0.0.1:8765/mcp/`; profiles from 8 to 103 tools | [MCP tools](docs/mcp-tools.md) |
|
|
116
|
+
| Framework adapters | LangGraph, LangChain, LlamaIndex, CrewAI, AutoGen, Semantic Kernel, Microsoft Agent Framework, Google ADK, OpenAI Agents | [Framework adapters](docs/framework-adapters.md) |
|
|
117
|
+
| Python SDK and HTTP API | `MemoryEngine` in your code; the local REST API | [API reference](docs/api-reference.md) |
|
|
118
|
+
| Auto-capture hooks | `slm hooks install` for Claude Code, `--agent codex` for Codex | [Auto-memory](docs/auto-memory.md) |
|
|
342
119
|
|
|
343
|
-
|
|
120
|
+
Claude Code memory in two commands: `claude plugin marketplace add qualixar/superlocalmemory`, then `claude plugin install superlocalmemory@qualixar`.
|
|
344
121
|
|
|
345
|
-
|
|
122
|
+
## What developers use it for
|
|
346
123
|
|
|
347
|
-
|
|
124
|
+
- **Persistent memory for Claude Code, Codex and Cursor.** Decisions, conventions, fixes and project context carry across sessions and across tools; confirmed rules and decisions load at session start.
|
|
125
|
+
- **An MCP memory server for any agent.** stdio or HTTP, with adapters for LangGraph, LangChain, LlamaIndex, CrewAI, AutoGen, Semantic Kernel, Microsoft Agent Framework, Google ADK and the OpenAI Agents SDK.
|
|
126
|
+
- **Local-first RAG without a vector database service.** SQLite + sqlite-vec, hybrid search (BM25, embeddings, knowledge graph, temporal), reranking, no Docker and no cloud account.
|
|
127
|
+
- **A hallucination guard for retrieval.** The answer check, Jev or Laya, abstains when the retrieved memories don't answer the question, so your agent doesn't build on a wrong one.
|
|
128
|
+
- **Team and enterprise AI memory.** Roles, company mode with sign-in, scoped sharing, GDPR export and verified erasure, a hash-chained audit trail and an EU AI Act posture report.
|
|
129
|
+
- **Multi-agent memory and coordination.** One store shared by many agents with per-agent attribution, SLM-Mesh messages, locks and shared state, and bounded loops that finish only when an independent gate passes.
|
|
130
|
+
- **Lower token cost.** Exact caching and reversible compression of tool output and file reads keep long agent sessions inside the context window.
|
|
131
|
+
- **Memory for local LLMs.** Mode B runs extraction on Ollama, llama.cpp, vLLM, LM Studio or any OpenAI-compatible server on your machine.
|
|
132
|
+
- **A searchable work log.** Bi-temporal "what was true then" queries, daily, session and project summaries, and saved views, each answer pointing back to its memory ids.
|
|
348
133
|
|
|
349
|
-
|
|
134
|
+
## Architecture
|
|
350
135
|
|
|
351
|
-
|
|
352
|
-
|---------|---------------|:---------------:|:-------------:|-------------|
|
|
353
|
-
| **A — Proxy** | `slm wrap claude` or `ANTHROPIC_BASE_URL=http://127.0.0.1:8765` | **Yes** | Shrinks | Full-turn cache — every call |
|
|
354
|
-
| **B — MCP tools** | Add 5 tools to MCP config; call `slm_compress`, `slm_cache_set/get` | **No** | **Preserved (1M)** | Results you explicitly route through SLM |
|
|
355
|
-
| **C — Skill** | Copy `skills/slm-optimize/SKILL.md` → `~/.claude/skills/` | **No** | **Preserved (1M)** | Auto-applied by the agent per skill rules |
|
|
136
|
+

|
|
356
137
|
|
|
357
|
-
|
|
138
|
+
*SQLite + sqlite-vec are canonical; CozoDB and LanceDB are parity-gated projections; SLM-Mesh coordinates trusted peers rather than replicating a distributed database; connectors are opt-in.* [Architecture docs](docs/ARCHITECTURE.md).
|
|
358
139
|
|
|
359
|
-
|
|
360
|
-
- Metered API (pay-per-token), want every call cached → **Proxy (A)**
|
|
361
|
-
- Pro/Max/Team subscription or any plan where you won't run a proxy → **MCP tools (B)** or **Skill (C)**
|
|
362
|
-
- Zero configuration → **Skill (C)**: install once, auto-compresses CLAUDE.md and large outputs
|
|
363
|
-
- Agent-controlled caching of repeated file reads → **MCP tools (B)**
|
|
140
|
+
## Everything SLM does
|
|
364
141
|
|
|
365
|
-
|
|
366
|
-
controls are experimental until release-linked precision, invalidation, and
|
|
367
|
-
tenant-isolation evidence exists. A cache hit can avoid a provider request, but
|
|
368
|
-
actual cost and latency savings depend on the intercepted surface and provider.
|
|
142
|
+
### Memory and recall
|
|
369
143
|
|
|
370
|
-
|
|
144
|
+
| Capability | What you get | Docs |
|
|
145
|
+
|---|---|---|
|
|
146
|
+
| Hybrid recall | Semantic, keyword (BM25), temporal, associative (Hopfield) and spreading-activation channels, fused by reciprocal rank and reranked. `slm trace` shows each channel's score | [Recall](docs/recall.md) |
|
|
147
|
+
| Memory kinds | Nine kinds: fact, event, status, opinion, rule, decision, how-to, plan, correction. "What did we decide" favours decisions | [Memory kinds](docs/memory-kinds.md) |
|
|
148
|
+
| Standing rules | Confirmed rules (up to 10) and decisions (up to 5) load into every new agent session | [Memory kinds](docs/memory-kinds.md#standing-rules-at-session-start) |
|
|
149
|
+
| Replace and correct | `--replaces <id>` retires an old fact, kept and undoable. Edits go through reviewed corrections with rollback | [Corrections](docs/reviewed-corrections.md) |
|
|
150
|
+
| Time travel | `--as-of`, `--known-as-of`, `--valid-at`, and `--window 7d` or a date range | [Recall](docs/recall.md#time-travel) |
|
|
151
|
+
| Recall filters | `--project`, `--saved-by`, `--about`, `--kind`; applied before the answer check | [Recall](docs/recall.md#narrowing-a-recall) |
|
|
152
|
+
| Project-aware recall | New in 4.1.21: memories from your current project rank first, hiding nothing. `--project` narrows and says when nothing matched | [Recall](docs/recall.md) |
|
|
153
|
+
| Summaries and saved views | New in 4.1.21: `slm summary session`, `day` or `project`, each citing its memory ids; `slm view create "Work log" "what did I ship" --window 7d`, then `slm view run` | [Summaries](docs/recall.md#summaries), [Views](docs/recall.md#saved-views) |
|
|
154
|
+
| Knowledge graph | Entities, aliases, scenes and timelines; Entity Explorer in the dashboard | [Architecture](docs/ARCHITECTURE.md) |
|
|
155
|
+
| Code graph | Index a repo, then ask for blast radius, callers, review context and code search by meaning | [MCP tools](docs/mcp-tools.md) |
|
|
156
|
+
| Modes and providers | A: no model calls. B: a model on this machine (Ollama by default, or another local OpenAI-compatible server). C: your own endpoint or a cloud provider. Multilingual embedders work | [Configuration](docs/configuration.md) |
|
|
157
|
+
|
|
158
|
+
Recalled text is untrusted evidence: before it reaches a prompt, secrets are redacted, forged boundary markers neutralised and provenance attached, a defence against prompt injection through memory.
|
|
159
|
+
|
|
160
|
+
### Learning in memory
|
|
161
|
+
|
|
162
|
+
- **Adaptive ranking.** A contextual Thompson-sampling bandit picks channel weights per query type; a LightGBM learning-to-rank model trains on `report_outcome` and `report_feedback`. The same question on an unchanged store gets the same ranking.
|
|
163
|
+
- **Guarded promotion.** A candidate ranker runs in shadow and is promoted only on a measured win; a later NDCG@10 drop of 2% or more restores the previous model automatically.
|
|
164
|
+
- **Soft prompts.** Consolidation mines behavioural patterns and turns stable ones into soft prompts for new sessions.
|
|
165
|
+
- **Forgetting.** An Ebbinghaus retention cycle and a Langevin lifecycle move neglected memories toward archive and pull used ones back.
|
|
166
|
+
- **Skill evolution (opt-in).** Measures agent skills, proposes revisions and keeps lineage, under a budget and blind verification. [Skill evolution](docs/skill-evolution.md)
|
|
167
|
+
|
|
168
|
+
### Governance
|
|
169
|
+
|
|
170
|
+
| Control | What it does | Docs |
|
|
171
|
+
|---|---|---|
|
|
172
|
+
| Roles | Admin, member and viewer per workspace. A role in one workspace grants nothing in another | [Teams](docs/rbac-teams.md) |
|
|
173
|
+
| Company mode | Every read and write is attributed to a signed-in person; turn on with "Require login" | [Company mode](docs/company-mode.md) |
|
|
174
|
+
| Profiles and scopes | Isolated workspaces. Memories are `personal` by default; `shared` and `global` are opt-in | [Profiles](docs/profiles.md), [Scopes](docs/shared-memory.md) |
|
|
175
|
+
| GDPR | `slm gdpr export` (Art. 15/20), `slm gdpr erase` (Art. 17) across every store, `slm gdpr verify` checks the erasure receipt | [Compliance](docs/compliance.md) |
|
|
176
|
+
| Retention and audit | Per-profile retention rules; a hash-chained audit trail of stores, recalls, changes and erasures; ABAC policy checks | [Compliance](docs/compliance.md) |
|
|
177
|
+
| EU AI Act posture | A per-mode technical report (data locality, generative AI use). Risk class stays "undetermined"; no legal verdict | [Compliance](docs/compliance.md) |
|
|
178
|
+
| Write gate | Install token, API keys and remote keys decide who may write | [Auth write gate](docs/auth-write-gate.md) |
|
|
179
|
+
| Evidence export | Checksummed JSONL bundles: `slm evidence export`, `verify`, `import` | [CLI reference](docs/cli-reference.md#data-and-evidence) |
|
|
180
|
+
| Backup and restore | Cloud backup to GitHub or Google Drive, encrypted before upload. A restore point before each store update | [Cloud backup](docs/cloud-backup.md), [Restore points](docs/restore-points.md) |
|
|
371
181
|
|
|
372
|
-
|
|
182
|
+
Engineering controls that support a compliance program, not a certification.
|
|
373
183
|
|
|
374
|
-
### SLM-Mesh
|
|
184
|
+
### Multi-agent: SLM-Mesh and bounded loops
|
|
375
185
|
|
|
376
|
-
|
|
377
|
-
<a id="slm-mesh-cross-session--cross-machine-coordination"></a>
|
|
186
|
+
**Shared memory with attribution.** Claude Code, Codex, Cursor and Hermes share one store; each memory records its agent (`SLM_AGENT_ID`) and the dashboard shows per-agent activity.
|
|
378
187
|
|
|
379
|
-
**SLM-Mesh**
|
|
188
|
+
**SLM-Mesh** coordinates sessions on one machine, or several machines with a shared secret: `mesh_peers`, `mesh_send`, `mesh_inbox`, `mesh_state`, `mesh_lock`, `mesh_events`, `mesh_status`, `mesh_summary`. Messages route across machines; locks and state are per machine. [Multi-machine](docs/multi-machine.md)
|
|
380
189
|
|
|
381
|
-
|
|
382
|
-
# Machine A (broker)
|
|
383
|
-
export SLM_MESH_HOST=192.168.1.100
|
|
384
|
-
export SLM_MESH_SHARED_SECRET=my-secret-key
|
|
385
|
-
slm init
|
|
386
|
-
|
|
387
|
-
# Machine B (client)
|
|
388
|
-
export SLM_MESH_PEER_URL=http://192.168.1.100:8765
|
|
389
|
-
export SLM_MESH_SHARED_SECRET=my-secret-key
|
|
390
|
-
slm init
|
|
391
|
-
```
|
|
190
|
+
**Bounded loops** end only when an independent gate passes (tests, a linter, a schema, a recall condition), never because the agent says it is done. Runs end DONE, HALT, PAUSE, KILLED or ERROR, with each lap stored under `loop:<name>`. Run `slm loop demo`, the `slm_loop_*` MCP tools or `/slm-loop`; the separate Bounded Loops product can store its finished runs here as read-only evidence. [CLI reference](docs/cli-reference.md#bounded-loops-v380), [Bounded Loops bridge](docs/bounded-loops-bridge.md)
|
|
392
191
|
|
|
393
|
-
|
|
192
|
+
### Answer check: Laya and Jev
|
|
394
193
|
|
|
395
|
-
|
|
194
|
+
Answer check adds a second step after ranking; choose one in **Settings → Answer check**:
|
|
396
195
|
|
|
397
|
-
|
|
196
|
+
- **Laya, on this Mac:** a small on-device model (about 1.1 GB) for Apple Silicon Macs. Nothing leaves the machine.
|
|
197
|
+
- **Jev, online, on any computer:** Windows, Linux or macOS, through TypeSafe or OpenRouter with your own key and an explicit consent box. Sends the question and the top 3 memories.
|
|
198
|
+
- **Off.**
|
|
398
199
|
|
|
399
|
-
|
|
200
|
+
Only one runs at a time and the online option never turns itself on. Results are never hidden: recall marks them `abstained` and your agent decides. A repeat question gets the same verdict. The **Answer Check** tab shows verdicts, timing against the 3-second recall ceiling and the "I don't have that" rate; it never stores questions or memory text. [Answer check](docs/answer-check.md)
|
|
400
201
|
|
|
401
|
-
|
|
202
|
+
### Context optimisation: cache and compression
|
|
402
203
|
|
|
403
|
-
|
|
|
404
|
-
|
|
405
|
-
|
|
|
406
|
-
|
|
|
407
|
-
|
|
|
408
|
-
|
|
|
409
|
-
|
|
|
410
|
-
| **Portable / IDE connect** | `slm connect <ide> [--here]` | Wire any IDE without reinstalling; `slm connect claude-code` → plugin pointer |
|
|
204
|
+
| Feature | What it does |
|
|
205
|
+
|---|---|
|
|
206
|
+
| Exact cache | `slm_cache_get` / `slm_cache_set` keep tool output and file reads with a TTL; a hit skips the repeat call |
|
|
207
|
+
| Compression | `slm_compress` shrinks large output; safe mode keeps JSON and code intact. A reversible result returns an id, and `slm_retrieve` restores the exact original |
|
|
208
|
+
| Three surfaces | Works through a proxy (`slm wrap claude`), MCP tools or a skill. Only the proxy caches the main conversation turn |
|
|
209
|
+
| Savings | `slm optimize savings --since 7` reports tokens and cost saved |
|
|
210
|
+
| Memory compression | Vector precision follows retention: fading memories are quantized to fewer bits, and consolidation folds clusters of faded memories into one gist |
|
|
411
211
|
|
|
412
|
-
|
|
212
|
+
All of it fails open. [Optimize](docs/optimize-overview.md), [Proxy setup](docs/proxy-setup.md)
|
|
413
213
|
|
|
414
|
-
###
|
|
214
|
+
### Remote access and teams
|
|
415
215
|
|
|
416
|
-
|
|
417
|
-
rewrite your IDE configuration, hooks, or plugin state. Review the existing
|
|
418
|
-
integrations first:
|
|
216
|
+
`slm remote` serves memory to other computers over TLS only. Each client gets a named key bound to one profile, read-only or read-write, revocable at once. Remote callers authenticate to read and never see this computer's paths or account. [Remote access](docs/distributed-deployment.md#remote-access-over-tls-4120), [Deployment tiers](docs/deployment-tiers.md)
|
|
419
217
|
|
|
420
|
-
|
|
421
|
-
slm upgrade-hosts
|
|
422
|
-
```
|
|
218
|
+
### Scale and operations
|
|
423
219
|
|
|
424
|
-
|
|
425
|
-
`slm
|
|
426
|
-
|
|
427
|
-
[
|
|
428
|
-
and the Claude Code plugin update path.
|
|
429
|
-
|
|
430
|
-
| Component | Size | When |
|
|
431
|
-
|:----------|:-----|:-----|
|
|
432
|
-
| Core libraries (numpy, scipy, networkx) | ~50MB | During install |
|
|
433
|
-
| Dashboard & MCP server (fastapi, uvicorn) | ~20MB | During install |
|
|
434
|
-
| Learning engine (lightgbm) | ~10MB | During install |
|
|
435
|
-
| Search engine (sentence-transformers, torch) | ~200MB | During install |
|
|
436
|
-
| Embedding model (nomic-embed-text-v1.5, 768d) | ~500MB | First use or `slm warmup` |
|
|
437
|
-
| **Mode B** requires [Ollama](https://ollama.com) + a model (`ollama pull llama3.2`) | ~2GB | Manual |
|
|
220
|
+
- **[Scale Engine](docs/scale-engine.md):** SQLite stays canonical. Optional CozoDB graph and LanceDB vector copies go through prepare, verify, promote and rollback, and serve recall only once they match SQLite.
|
|
221
|
+
- **[Dashboard](docs/DASHBOARD-COVERAGE.md):** `slm dashboard`, 16 panes including Answer Check, Brain, Knowledge Graph, Governance, Optimize and Mesh Peers.
|
|
222
|
+
- **Durable writes:** each save moves raw → queryable → enriching → complete with a receipt; a failed step keeps the raw evidence and retries. Saves under heavy load are queued, never refused.
|
|
223
|
+
- **[Operations](docs/troubleshooting.md):** `slm doctor`, `status`, `health`, `restart`, `ops`; stuck operations are listed and resolved.
|
|
438
224
|
|
|
439
|
-
|
|
225
|
+
## MCP memory server: tool profiles
|
|
440
226
|
|
|
441
|
-
|
|
227
|
+
Pick how many tools your agent sees with `SLM_MCP_PROFILE`.
|
|
442
228
|
|
|
443
|
-
|
|
229
|
+
| Profile | Tools | For |
|
|
230
|
+
|---|---:|---|
|
|
231
|
+
| `core` | 18 | Remember, recall, sessions, optimize, correction review |
|
|
232
|
+
| `code` | 38 | Core plus code graph, memory kinds, Brain evidence, profile switching, bounded loops |
|
|
233
|
+
| `mesh` | 8 | SLM-Mesh coordination only |
|
|
234
|
+
| `full` (and unset) | 56 | Memory, kinds, Brain, optimize, skill evolution, mesh, loops, views and summaries |
|
|
235
|
+
| `power` | 68 | Full plus administration, lifecycle and diagnostics |
|
|
236
|
+
| `whole` | 103 | Every registered tool |
|
|
444
237
|
|
|
445
|
-
**HTTP (recommended):**
|
|
446
238
|
```json
|
|
447
239
|
{ "mcpServers": { "superlocalmemory": { "type": "http", "url": "http://127.0.0.1:8765/mcp/" } } }
|
|
448
240
|
```
|
|
449
|
-
Or: `claude mcp add --transport http superlocalmemory http://127.0.0.1:8765/mcp/`
|
|
450
|
-
|
|
451
|
-
**stdio (universal fallback):**
|
|
452
|
-
```json
|
|
453
|
-
{ "mcpServers": { "superlocalmemory": { "command": "slm", "args": ["mcp"] } } }
|
|
454
|
-
```
|
|
455
|
-
|
|
456
|
-
### MCP Profiles
|
|
457
241
|
|
|
458
|
-
|
|
242
|
+
For stdio clients use `{"command": "slm", "args": ["mcp"]}`.
|
|
459
243
|
|
|
460
|
-
|
|
461
|
-
|:--------|:-----:|:---------|
|
|
462
|
-
| `core` | 18 | Memory, session, optimize, and correction review |
|
|
463
|
-
| `code` | 38 | Core + portable Brain evidence + code-graph tools + profile switching + bounded loops + memory-kind management |
|
|
464
|
-
| `mesh` | 8 | SLM-Mesh only — multi-session / multi-machine coordination |
|
|
465
|
-
| `full` | 54 | Memory + portable Brain evidence + optimize + evolution + mesh + bounded loops + memory-kind management (also the no-profile default) |
|
|
466
|
-
| `power` | 66 | Full + administration, lifecycle, and diagnostics |
|
|
467
|
-
| `whole` | 101 | Every registered MCP tool |
|
|
244
|
+
## Privacy and security
|
|
468
245
|
|
|
469
|
-
|
|
246
|
+
What leaves your machine, and when:
|
|
470
247
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
mesh setting. Count-suffixed aliases remain for backward compatibility and emit a migration warning: `core14`, `core16`, `code20`, `code21`, `code24`, `code28`, `code29`, `code31`, `mesh8`, `full38`, `full39`, `full42`, `full46`, `full47`, `full49`, `power50`, `power51`, `power54`, `power58`, `power59`, `power61`, `whole81`, `whole84`, `whole91`, `whole92`, `whole94`. Unknown names stop startup instead of silently selecting another tool set.
|
|
479
|
-
|
|
480
|
-
Per-IDE configs available for Claude Code, Cursor, Windsurf, VS Code Copilot, Continue, Gemini CLI, JetBrains, Zed, and more (15 configs in `ide/configs/`). See [docs/ide-setup.md](docs/ide-setup.md).
|
|
481
|
-
|
|
482
|
-
---
|
|
483
|
-
|
|
484
|
-
## Editor plugins
|
|
485
|
-
|
|
486
|
-
The plugin is how most people should install SLM. It brings the MCP server, the
|
|
487
|
-
skills, the sub-agents, the slash commands and the hooks in one step, and keeps
|
|
488
|
-
them at the same version as the package.
|
|
489
|
-
|
|
490
|
-
**Five surfaces, one source.** Everything below is generated from `plugin-src/`,
|
|
491
|
-
so no surface can quietly fall behind another:
|
|
492
|
-
|
|
493
|
-
| Editor | Install | Skills | Agents | Commands | Hooks |
|
|
494
|
-
|---|---|---:|---:|---:|---:|
|
|
495
|
-
| **Claude Code** | `claude plugin marketplace add qualixar/superlocalmemory` then `claude plugin install superlocalmemory@qualixar` | 12 | 4 | 1 | yes |
|
|
496
|
-
| **Codex** | copy `codex-plugin/` into your Codex plugins directory | 12 | 4 | 1 | yes |
|
|
497
|
-
| **VS Code / Copilot** | copy `copilot-plugin/.github/` into your repository | 12 | 4 | as prompts | yes |
|
|
498
|
-
| **Antigravity** | copy `antigravity-plugin/` into your plugins directory | 12 | 4 | 1 | yes |
|
|
499
|
-
| **Hermes** | install the native plugin from the immutable release commit | 12 | 4 | all SLM commands | yes |
|
|
500
|
-
|
|
501
|
-
### What you get
|
|
502
|
-
|
|
503
|
-
- **Skills** — `slm-remember`, `slm-recall`, `slm-session`, `slm-graph`,
|
|
504
|
-
`slm-mesh`, `slm-scope`, `slm-profile`, `slm-governance`, `slm-cache`,
|
|
505
|
-
`slm-compress`, `slm-status`, `slm-loop`.
|
|
506
|
-
- **Sub-agents** — a memory advisor, a governance advisor, a context-optimization
|
|
507
|
-
advisor, and a loop runner, each scoped to the tools it actually needs.
|
|
508
|
-
- **Commands** — `/slm-loop`, to run a task as a gate-verified bounded loop.
|
|
509
|
-
- **Hooks** — session start and end, so context loads and commits without being
|
|
510
|
-
asked.
|
|
248
|
+
| Data | Leaves only when |
|
|
249
|
+
|---|---|
|
|
250
|
+
| Recall question and top 3 memories | You turn on the online answer check (Jev) and tick its consent |
|
|
251
|
+
| Question and top 20 memories | You also turn on Jev reordering, which has its own notice |
|
|
252
|
+
| Memory text | You choose Mode C, a cloud embedder or reranker, an Ollama on another computer, or Jev kind typing (its own consent) |
|
|
253
|
+
| Encrypted backup files | You connect GitHub or Google Drive backup. Files are encrypted before upload |
|
|
254
|
+
| Mesh messages | You configure SLM-Mesh peers |
|
|
511
255
|
|
|
512
|
-
|
|
256
|
+
Model downloads send no memory content. Credentials in memory text are redacted on every outbound path. Outbound requests never follow redirects, and forwarded-for headers count only from a proxy you name. See [Security policy](SECURITY.md) and [encryption at rest](docs/SECURITY-encryption-at-rest.md).
|
|
513
257
|
|
|
514
|
-
|
|
515
|
-
`plugin.yaml` package, plus `/slm <command>` and generated `/slm-<command>`
|
|
516
|
-
aliases for the public CLI surface. The plugin is intentionally separate from
|
|
517
|
-
the PyPI/npm runtime: install the owning SLM runtime first, then install the
|
|
518
|
-
reviewed pinned pack from the `v4.1.19` GitHub release. It is additive and does
|
|
519
|
-
not replace Hermes's selected memory provider or existing configuration. See
|
|
520
|
-
[the Hermes integration guide](docs/hermes.md).
|
|
258
|
+
## Benchmarks (V3)
|
|
521
259
|
|
|
522
|
-
|
|
260
|
+
These numbers come from the published **V3** architecture paper, which V4 still runs. They are not a fresh V4 package run.
|
|
523
261
|
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
262
|
+
| V3 configuration | LoCoMo | Scope |
|
|
263
|
+
|---|---:|---|
|
|
264
|
+
| Mode A, retrieval + GPT-4.1-mini answers | 74.8% | 10 conversations, 1,276 questions |
|
|
265
|
+
| Mode A, raw (no LLM anywhere) | 60.4% | 10 conversations, 1,276 questions |
|
|
266
|
+
| Mode C, cloud embeddings + GPT-4.1-mini | 87.7% | 1 conversation (Conv-30), 81 questions |
|
|
528
267
|
|
|
529
|
-
|
|
530
|
-
claude plugin marketplace update qualixar
|
|
531
|
-
claude plugin update superlocalmemory@qualixar
|
|
532
|
-
```
|
|
268
|
+
Method, category breakdown and ablations: [docs/benchmarks.md](docs/benchmarks.md) and [arXiv:2603.14588](https://arxiv.org/abs/2603.14588). A LoCoMo score is comparable only when the subset, answer model and judge match.
|
|
533
269
|
|
|
534
|
-
|
|
270
|
+
## Research
|
|
535
271
|
|
|
536
|
-
|
|
272
|
+
Four arXiv preprints by Varun Pratap Bhardwaj describe SLM, newest first:
|
|
537
273
|
|
|
538
|
-
|
|
274
|
+
1. **V4 (2026):** [SuperLocalMemory 4.0: The Governed Memory Operating System for AI Agents](https://arxiv.org/abs/2608.08253), with Garima Singh and Arun Pratap Bhardwaj. arXiv:2608.08253. Multi-scope isolation, role-based access, verified erasure, hash-chained audit and bi-temporal recall, with their measured cost.
|
|
275
|
+
2. **V3.3 (2026):** [SuperLocalMemory V3.3: The Living Brain](https://arxiv.org/abs/2604.04514), arXiv:2604.04514. Biologically inspired forgetting, cognitive quantization, multi-channel retrieval without an LLM.
|
|
276
|
+
3. **V3 (2026):** [SuperLocalMemory V3: Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory](https://arxiv.org/abs/2603.14588), arXiv:2603.14588. Fisher-information retrieval, Langevin lifecycle, sheaf contradiction detection; the LoCoMo results above.
|
|
277
|
+
4. **V2 (2026):** [SuperLocalMemory: Privacy-Preserving Multi-Agent Memory with Bayesian Trust Defense Against Memory Poisoning](https://arxiv.org/abs/2603.02240), arXiv:2603.02240.
|
|
539
278
|
|
|
540
|
-
|
|
541
|
-
|:----:|:-----|:-----------------|:--------------------------|
|
|
542
|
-
| **A** | Local Guardian | Local processing | Model/dependency downloads, connectors, backup, the online answer check, and other enabled integrations may use the network |
|
|
543
|
-
| **B** | Smart Local | Local Ollama enrichment | Same optional integrations as Mode A |
|
|
544
|
-
| **C** | Provider-assisted | Local storage with provider calls | Query or enrichment content is sent to the configured provider |
|
|
279
|
+
Cite the V4 paper with [CITATION.cff](CITATION.cff) or GitHub's "Cite this repository" button:
|
|
545
280
|
|
|
546
|
-
```
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
281
|
+
```bibtex
|
|
282
|
+
@article{bhardwaj2026superlocalmemory,
|
|
283
|
+
title = {SuperLocalMemory 4.0: The Governed Memory Operating System for AI Agents},
|
|
284
|
+
author = {Bhardwaj, Varun Pratap and Singh, Garima and Bhardwaj, Arun Pratap},
|
|
285
|
+
journal = {arXiv preprint arXiv:2608.08253},
|
|
286
|
+
year = {2026}
|
|
287
|
+
}
|
|
550
288
|
```
|
|
551
289
|
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
SuperLocalMemory provides local storage, export/erasure commands, provenance, policy, and audit features that can support a compliance program. The software is not a legal certification, and compliance depends on the use case, operator, configuration, and surrounding systems.
|
|
290
|
+
## Documentation
|
|
555
291
|
|
|
556
|
-
|
|
292
|
+
**Start:** [Getting started](docs/getting-started.md) · [IDE setup](docs/ide-setup.md) · [Linux install](docs/install-linux.md) · [Quick proof](docs/QUICK_PROOF.md) · [Migrating from V2](docs/migration-from-v2.md)
|
|
557
293
|
|
|
558
|
-
|
|
294
|
+
**Use:** [Recall](docs/recall.md) · [Memory kinds](docs/memory-kinds.md) · [Answer check](docs/answer-check.md) · [Auto-memory](docs/auto-memory.md) · [Shared memory](docs/shared-memory.md) · [Optimize](docs/optimize-overview.md)
|
|
559
295
|
|
|
560
|
-
|
|
296
|
+
**Reference:** [CLI](docs/cli-reference.md) · [MCP tools](docs/mcp-tools.md) · [Configuration](docs/configuration.md) · [Errors](docs/errors.md) · [Troubleshooting](docs/troubleshooting.md) · [Distributed deployment](docs/distributed-deployment.md) · [Privacy diagnostics](docs/privacy-diagnostics.md)
|
|
561
297
|
|
|
562
|
-
|
|
298
|
+
**Design:** [Architecture](docs/ARCHITECTURE.md) · [Score contract](docs/retrieval-score-contract.md) · [Compliance](docs/compliance.md) · [Benchmarks](docs/benchmarks.md)
|
|
563
299
|
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
SLM supports three role tiers within a workspace: **admin**, **member**, and **viewer**.
|
|
567
|
-
|
|
568
|
-
| Role | Can read memory | Can write memory | Can manage users/config |
|
|
569
|
-
|------|:---------------:|:----------------:|:-----------------------:|
|
|
570
|
-
| admin | yes | yes | yes |
|
|
571
|
-
| member | yes | yes | no |
|
|
572
|
-
| viewer | yes | no | no |
|
|
573
|
-
|
|
574
|
-
Roles are scoped per workspace (profile). A user may have different roles in different workspaces.
|
|
575
|
-
|
|
576
|
-
### Workspace isolation
|
|
577
|
-
|
|
578
|
-
Each workspace (profile) is a fully isolated memory namespace. One workspace cannot read another's personal memories. Shared and global scopes are opt-in and still profile-bounded at the authorization layer.
|
|
579
|
-
|
|
580
|
-
### Login gate
|
|
581
|
-
|
|
582
|
-
Enterprise deployments set `require_login = true` in configuration. With login enabled:
|
|
583
|
-
- Every dashboard and API request requires an authenticated session.
|
|
584
|
-
- First-run creates an admin account with a user-chosen password (no default credentials are shipped).
|
|
585
|
-
- Session cookies use `HttpOnly` with optional `Secure` enforcement.
|
|
586
|
-
- Personal installs run with `require_login = false` (loopback owner is trusted).
|
|
300
|
+
## Upgrade
|
|
587
301
|
|
|
588
302
|
```bash
|
|
589
|
-
|
|
303
|
+
npm update -g superlocalmemory # or, in your activated venv: python -m pip install --upgrade superlocalmemory
|
|
304
|
+
slm restart && slm doctor
|
|
305
|
+
slm upgrade-hosts # preview IDE and plugin updates; nothing changes until you --apply
|
|
590
306
|
```
|
|
591
307
|
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
| Scope | Who can recall | Set with |
|
|
595
|
-
|-------|---------------|----------|
|
|
596
|
-
| `personal` | Owner profile only (default) | `slm remember "..." --scope personal` |
|
|
597
|
-
| `shared` | Named profiles the owner grants | `slm remember "..." --scope shared --shared-with profile-a,profile-b` |
|
|
598
|
-
| `global` | Any authorized user on this machine | `slm remember "..." --scope global` |
|
|
599
|
-
|
|
600
|
-
Recall is default-deny: shared and global facts are never returned unless the caller explicitly opts in (`--include-shared`, `--include-global`) or the scope policy allows it. See [docs/shared-memory.md](docs/shared-memory.md).
|
|
601
|
-
|
|
602
|
-
### GDPR and data governance
|
|
603
|
-
|
|
604
|
-
SLM ships built-in controls that support GDPR compliance programs:
|
|
605
|
-
|
|
606
|
-
- **Export** — full profile data export as a structured JSONL bundle
|
|
607
|
-
- **Erasure** — profile deletion removes data from 30+ scoped tables; erasure is logged to the tamper-proof audit chain before any data is deleted
|
|
608
|
-
- **Retention rules** — time-based policies (`indefinite`, `gdpr-30d`, `hipaa-7y`, `custom`) applied per profile
|
|
609
|
-
- **Audit trail** — every store, recall, mutation, and erasure produces a hash-chained audit record
|
|
610
|
-
- **PII redaction** — configurable automatic redaction before memory content crosses trust boundaries
|
|
308
|
+
Upgrades never move or delete memory; an update that changes the store takes a restore point first. Plugins update through your editor; see [host upgrades](docs/host-upgrades.md).
|
|
611
309
|
|
|
612
|
-
|
|
310
|
+
## Platform support
|
|
613
311
|
|
|
614
|
-
|
|
312
|
+
| | SuperLocalMemory | Jev (online check) | Laya (on-device check) |
|
|
313
|
+
|---|---|---|---|
|
|
314
|
+
| Apple Silicon macOS | Yes | Yes | Yes |
|
|
315
|
+
| 64-bit Windows | Yes | Yes | No (Laya uses Apple's MLX) |
|
|
316
|
+
| 64-bit Linux (x86-64, ARM64) | Yes | Yes | No |
|
|
317
|
+
| Intel Mac, 32-bit Windows | No prebuilt install | — | — |
|
|
615
318
|
|
|
616
|
-
|
|
319
|
+
Python 3.12+, and Node 18+ for npm. Intel Mac and 32-bit Windows lack a build of the pinned security library (`cryptography` 50); older versions have high-severity advisories. The default embedding model (about 500 MB) downloads on first use or with `slm warmup`.
|
|
617
320
|
|
|
618
|
-
|
|
321
|
+
## Contributing and license
|
|
619
322
|
|
|
620
|
-
|
|
323
|
+
Issues and pull requests are welcome; start with [CONTRIBUTING.md](CONTRIBUTING.md). Report vulnerabilities through [SECURITY.md](SECURITY.md). Release notes are in [CHANGELOG.md](CHANGELOG.md).
|
|
621
324
|
|
|
622
|
-
SLM
|
|
623
|
-
|
|
624
|
-
| Tier | Login gate | PII redaction | Retention | Audit |
|
|
625
|
-
|------|:---------:|:-------------:|:---------:|:-----:|
|
|
626
|
-
| **Personal** | off | off | off | on |
|
|
627
|
-
| **Enterprise** | on | on | on | on |
|
|
628
|
-
|
|
629
|
-
The installer or `slm reconfigure` sets the tier. Each setting is independently overridable at runtime. Full tier documentation: [docs/deployment-tiers.md](docs/deployment-tiers.md).
|
|
630
|
-
|
|
631
|
-
### RBAC and teams docs
|
|
632
|
-
|
|
633
|
-
Full reference: [docs/rbac-teams.md](docs/rbac-teams.md) · [docs/deployment-tiers.md](docs/deployment-tiers.md)
|
|
325
|
+
SLM is licensed under [AGPL-3.0-or-later](LICENSE). For a commercial license, see [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md). Copyright (c) 2026 Varun Pratap Bhardwaj / [Qualixar](https://qualixar.com). Website: [superlocalmemory.com](https://www.superlocalmemory.com).
|
|
634
326
|
|
|
635
327
|
---
|
|
636
328
|
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
A bounded loop terminates only when an **independent gate** passes — a test
|
|
640
|
-
suite exit code, a linter, a JSON-schema check, or an SLM-recall condition.
|
|
641
|
-
The agent's own "I finished" message is recorded as advisory context and never
|
|
642
|
-
used as the termination signal. Every lap is persisted to SLM memory under the
|
|
643
|
-
tag `loop:<name>`, so runs are auditable and resumable across sessions.
|
|
644
|
-
|
|
645
|
-
Three surfaces ship together:
|
|
329
|
+
<div align="center">
|
|
646
330
|
|
|
647
|
-
|
|
648
|
-
|---------|---------------|
|
|
649
|
-
| **CLI** | `slm loop demo` · `slm loop history [--name <n>]` · `slm loop show <run_id>` |
|
|
650
|
-
| **Skill + agent** | `/slm-loop` skill with the `slm-loop-runner` agent — delegate a task that has a checkable acceptance condition |
|
|
651
|
-
| **MCP tools** | `slm_loop_run` · `slm_loop_history` · `slm_loop_show` — call from any IDE or agent (available in the `code` and `full` MCP profiles) |
|
|
331
|
+
### Built by Qualixar
|
|
652
332
|
|
|
653
|
-
|
|
654
|
-
# Run the built-in convergence demo (no API key needed)
|
|
655
|
-
slm loop demo
|
|
656
|
-
|
|
657
|
-
# Inspect recorded runs
|
|
658
|
-
slm loop history --name convergence-demo
|
|
659
|
-
slm loop show <run_id>
|
|
660
|
-
```
|
|
333
|
+
**SuperLocalMemory** is made by [Varun Pratap Bhardwaj](https://varunpratap.com) at [Qualixar](https://qualixar.com), where the work is AI Reliability Engineering: memory, contracts, tests and loops that make AI agents dependable enough to trust with real work.
|
|
661
334
|
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
335
|
+
[](https://github.com/qualixar/superlocalmemory/stargazers)
|
|
336
|
+
[](https://pepy.tech/project/superlocalmemory)
|
|
337
|
+
[](https://www.npmjs.com/package/superlocalmemory)
|
|
338
|
+
[](https://x.com/varunPbhardwaj)
|
|
665
339
|
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
## Framework Adapters (V4)
|
|
340
|
+
If SLM keeps your agents from forgetting, **[star the repository](https://github.com/qualixar/superlocalmemory)**: it is how other developers find it.
|
|
669
341
|
|
|
670
|
-
SLM
|
|
671
|
-
Microsoft Agent Framework, LangChain, LlamaIndex, CrewAI, AutoGen, Google ADK,
|
|
672
|
-
and OpenAI Agents. Each wires SLM as memory and history without replacing the
|
|
673
|
-
framework runtime; its directory contains installation/configuration guidance.
|
|
674
|
-
Pydantic AI is not included because it does not expose a formal external-memory
|
|
675
|
-
interface.
|
|
342
|
+
**More from Qualixar:** [Qualixar OS](https://github.com/qualixar/qualixar-os) · [SkillFortify](https://github.com/qualixar/skillfortify) · [SLM Mesh](https://github.com/qualixar/slm-mesh) · [AgentAssert](https://github.com/qualixar/agentassert-abc) · [AgentAssay](https://github.com/qualixar/agentassay) · [Bounded Loops](https://github.com/qualixar/bounded-loops) · [Jev Decision Layer](https://github.com/qualixar/jev-decision-layer) · [SLM MCP Hub](https://github.com/qualixar/slm-mcp-hub)
|
|
676
343
|
|
|
677
|
-
|
|
344
|
+
[superlocalmemory.com](https://www.superlocalmemory.com) · [qualixar.com](https://qualixar.com) · [Papers](#research) · [LinkedIn](https://www.linkedin.com/in/varun-pratap-bhardwaj-7ab63742/) · [X](https://x.com/varunPbhardwaj)
|
|
678
345
|
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
| Topic | Link |
|
|
682
|
-
|:------|:-----|
|
|
683
|
-
| Full optimize docs | [docs/optimize-overview.md](docs/optimize-overview.md) · [docs/optimize-cli.md](docs/optimize-cli.md) · [docs/optimize-config.md](docs/optimize-config.md) |
|
|
684
|
-
| Distributed deployment | [docs/distributed-deployment.md](docs/distributed-deployment.md) |
|
|
685
|
-
| Multi-machine mesh | [docs/multi-machine.md](docs/multi-machine.md) |
|
|
686
|
-
| Auto-memory hooks | [docs/auto-memory.md](docs/auto-memory.md) |
|
|
687
|
-
| Architecture + math | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) |
|
|
688
|
-
| Published benchmark evidence | [docs/benchmarks.md](docs/benchmarks.md) |
|
|
689
|
-
| CLI reference | [docs/cli-reference.md](docs/cli-reference.md) |
|
|
690
|
-
| MCP tools reference | [docs/mcp-tools.md](docs/mcp-tools.md) |
|
|
691
|
-
| Optional Bounded Loops bridge | [docs/bounded-loops-bridge.md](docs/bounded-loops-bridge.md) |
|
|
692
|
-
| Getting started | [docs/getting-started.md](docs/getting-started.md) |
|
|
693
|
-
| IDE setup (15 configs) | [docs/ide-setup.md](docs/ide-setup.md) |
|
|
694
|
-
| Teams, users, and RBAC | [docs/rbac-teams.md](docs/rbac-teams.md) |
|
|
695
|
-
| Deployment tiers | [docs/deployment-tiers.md](docs/deployment-tiers.md) |
|
|
696
|
-
| pi.dev integration | [docs/pi-dev-integration.md](docs/pi-dev-integration.md) |
|
|
697
|
-
| Skill evolution | [docs/skill-evolution.md](docs/skill-evolution.md) |
|
|
698
|
-
| V2 migration | [docs/migration-from-v2.md](docs/migration-from-v2.md) |
|
|
699
|
-
| Configuration | [docs/configuration.md](docs/configuration.md) |
|
|
700
|
-
| Retrieval score contract | [docs/retrieval-score-contract.md](docs/retrieval-score-contract.md) |
|
|
701
|
-
| Wiki | [github.com/qualixar/superlocalmemory/wiki](https://github.com/qualixar/superlocalmemory/wiki) |
|
|
702
|
-
|
|
703
|
-
Open the web dashboard with `slm dashboard`; workspaces appear only when their
|
|
704
|
-
runtime capability is enabled and healthy. See [CHANGELOG.md](CHANGELOG.md) for
|
|
705
|
-
the complete release history.
|
|
706
|
-
## Research Papers
|
|
707
|
-
|
|
708
|
-
SuperLocalMemory has a V4 [arXiv preprint](https://arxiv.org/abs/2608.08253) with [Zenodo archive](https://zenodo.org/records/21853302) and [DOI](https://doi.org/10.5281/zenodo.21853302), plus [The Living Brain (V3.3)](https://arxiv.org/abs/2604.04514), [Information-Geometric Foundations (V3)](https://arxiv.org/abs/2603.14588), and [Trust & Behavioral Foundations (V2)](https://arxiv.org/abs/2603.02240).
|
|
709
|
-
|
|
710
|
-
Use the citation metadata on the linked arXiv or Zenodo records.
|
|
711
|
-
|
|
712
|
-
## Support / License / Qualixar
|
|
713
|
-
See [CONTRIBUTING.md](CONTRIBUTING.md), the [Wiki](https://github.com/qualixar/superlocalmemory/wiki), and [LICENSE](LICENSE) (AGPL-3.0). For commercial licensing, see [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) or contact varun.pratap.bhardwaj@gmail.com.
|
|
714
|
-
Copyright (c) 2026 Varun Pratap Bhardwaj / Qualixar · [Qualixar](https://qualixar.com) · [research archive](https://huggingface.co/Qualixar). Acknowledgments: [Everything Claude Code](https://github.com/affaan-m/everything-claude-code) informed skill observation; [HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace) informed skill-evolution verification.
|
|
715
|
-
|
|
716
|
-
## Star This Project
|
|
717
|
-
|
|
718
|
-
If this project solves a real problem for you, **please star the repo** — it helps other developers discover Qualixar and signals that the AI agent reliability community is growing.
|
|
719
|
-
|
|
720
|
-
[](https://github.com/qualixar/superlocalmemory)
|
|
346
|
+
</div>
|