superlocalmemory 3.0.0 → 3.0.2
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/CHANGELOG.md +4 -4
- package/bin/slm-npm +62 -48
- package/docs/v2-archive/ACCESSIBILITY.md +1 -1
- package/docs/v2-archive/ARCHITECTURE.md +2 -2
- package/docs/v2-archive/FRAMEWORK-INTEGRATIONS.md +2 -2
- package/docs/v2-archive/MCP-MANUAL-SETUP.md +2 -2
- package/docs/v2-archive/MCP-TROUBLESHOOTING.md +3 -3
- package/docs/v2-archive/SEARCH-ENGINE-V2.2.0.md +3 -3
- package/docs/v2-archive/SEARCH-INTEGRATION-GUIDE.md +1 -1
- package/docs/v2-archive/UNIVERSAL-INTEGRATION.md +3 -3
- package/docs/v2-archive/V2.2.0-OPTIONAL-SEARCH.md +2 -2
- package/ide/integrations/langchain/README.md +3 -3
- package/ide/integrations/langchain/langchain_superlocalmemory/chat_message_history.py +1 -1
- package/ide/integrations/llamaindex/README.md +3 -3
- package/ide/integrations/llamaindex/llama_index/storage/chat_store/superlocalmemory/base.py +2 -2
- package/package.json +1 -1
- package/scripts/postinstall.js +41 -107
- package/scripts/preuninstall.js +1 -1
- package/src/superlocalmemory.egg-info/PKG-INFO +304 -0
- package/src/superlocalmemory.egg-info/SOURCES.txt +158 -0
- package/src/superlocalmemory.egg-info/dependency_links.txt +1 -0
- package/src/superlocalmemory.egg-info/entry_points.txt +2 -0
- package/src/superlocalmemory.egg-info/requires.txt +33 -0
- package/src/superlocalmemory.egg-info/top_level.txt +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
All notable changes to SuperLocalMemory
|
|
3
|
+
All notable changes to SuperLocalMemory V3 will be documented in this file.
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
@@ -12,7 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
12
12
|
**Varun Pratap Bhardwaj**
|
|
13
13
|
*Solution Architect*
|
|
14
14
|
|
|
15
|
-
SuperLocalMemory
|
|
15
|
+
SuperLocalMemory V3 - Intelligent local memory system for AI coding assistants.
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
@@ -302,7 +302,7 @@ SuperLocalMemory now works across 16+ IDEs and CLI tools.
|
|
|
302
302
|
|
|
303
303
|
### Initial Release — Complete Rewrite
|
|
304
304
|
|
|
305
|
-
SuperLocalMemory
|
|
305
|
+
SuperLocalMemory V3 represents a complete architectural rewrite with intelligent knowledge graphs, pattern learning, and enhanced organization.
|
|
306
306
|
|
|
307
307
|
### Added
|
|
308
308
|
- **4-Layer Architecture** — Storage, Hierarchical Index, Knowledge Graph, Pattern Learning
|
|
@@ -329,7 +329,7 @@ We use [Semantic Versioning](https://semver.org/):
|
|
|
329
329
|
|
|
330
330
|
## License
|
|
331
331
|
|
|
332
|
-
SuperLocalMemory
|
|
332
|
+
SuperLocalMemory V3 is released under the [MIT License](LICENSE).
|
|
333
333
|
|
|
334
334
|
---
|
|
335
335
|
|
package/bin/slm-npm
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* SuperLocalMemory
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) 2026 Varun Pratap Bhardwaj
|
|
6
|
-
* Solution Architect & Original Creator
|
|
3
|
+
* SuperLocalMemory V3 - NPM Global CLI Wrapper
|
|
7
4
|
*
|
|
5
|
+
* Copyright (c) 2026 Varun Pratap Bhardwaj / Qualixar
|
|
8
6
|
* Licensed under MIT License (see LICENSE file)
|
|
9
|
-
* Repository: https://github.com/
|
|
10
|
-
*
|
|
11
|
-
* ATTRIBUTION REQUIRED: This notice must be preserved in all copies.
|
|
7
|
+
* Repository: https://github.com/qualixar/superlocalmemory
|
|
12
8
|
*/
|
|
13
9
|
|
|
14
10
|
const { spawnSync } = require('child_process');
|
|
@@ -16,58 +12,76 @@ const path = require('path');
|
|
|
16
12
|
const os = require('os');
|
|
17
13
|
const fs = require('fs');
|
|
18
14
|
|
|
19
|
-
//
|
|
20
|
-
const
|
|
15
|
+
// V3 package root (where src/superlocalmemory/ lives)
|
|
16
|
+
const PKG_ROOT = path.join(__dirname, '..');
|
|
17
|
+
const SRC_DIR = path.join(PKG_ROOT, 'src');
|
|
18
|
+
const CLI_MODULE = 'superlocalmemory.cli.main';
|
|
21
19
|
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
// Find Python 3 binary (robust multi-fallback detection)
|
|
21
|
+
function findPython() {
|
|
22
|
+
const candidates = [
|
|
23
|
+
'python3',
|
|
24
|
+
'python',
|
|
25
|
+
'/opt/homebrew/bin/python3',
|
|
26
|
+
'/usr/local/bin/python3',
|
|
27
|
+
'/usr/bin/python3',
|
|
28
|
+
];
|
|
27
29
|
|
|
30
|
+
// On Windows, also check common locations
|
|
28
31
|
if (os.platform() === 'win32') {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
candidates.push(
|
|
33
|
+
'py -3',
|
|
34
|
+
path.join(process.env.LOCALAPPDATA || '', 'Programs', 'Python', 'Python312', 'python.exe'),
|
|
35
|
+
path.join(process.env.LOCALAPPDATA || '', 'Programs', 'Python', 'Python311', 'python.exe'),
|
|
36
|
+
);
|
|
32
37
|
}
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
38
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
for (const candidate of candidates) {
|
|
40
|
+
try {
|
|
41
|
+
const parts = candidate.split(' ');
|
|
42
|
+
const result = spawnSync(parts[0], [...parts.slice(1), '--version'], {
|
|
43
|
+
stdio: 'pipe',
|
|
44
|
+
timeout: 5000,
|
|
45
|
+
});
|
|
46
|
+
if (result.status === 0) {
|
|
47
|
+
const version = (result.stdout || '').toString().trim();
|
|
48
|
+
if (version.includes('3.')) {
|
|
49
|
+
return candidate;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
} catch (e) {
|
|
53
|
+
// Try next candidate
|
|
54
|
+
}
|
|
42
55
|
}
|
|
43
|
-
|
|
44
|
-
slmScript = path.join(SLM_DIR, 'bin', 'slm');
|
|
56
|
+
return null;
|
|
45
57
|
}
|
|
46
58
|
|
|
47
|
-
//
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
59
|
+
// Ensure ~/.superlocalmemory/ exists
|
|
60
|
+
const SLM_HOME = process.env.SL_MEMORY_PATH || path.join(os.homedir(), '.superlocalmemory');
|
|
61
|
+
if (!fs.existsSync(SLM_HOME)) {
|
|
62
|
+
fs.mkdirSync(SLM_HOME, { recursive: true });
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Find Python
|
|
66
|
+
const python = findPython();
|
|
67
|
+
if (!python) {
|
|
68
|
+
console.error('Error: Python 3.11+ not found.');
|
|
69
|
+
console.error('Install Python from https://python.org/downloads/');
|
|
51
70
|
process.exit(1);
|
|
52
71
|
}
|
|
53
72
|
|
|
54
|
-
//
|
|
73
|
+
// Launch V3 CLI via Python module
|
|
55
74
|
const args = process.argv.slice(2);
|
|
75
|
+
const pythonParts = python.split(' ');
|
|
76
|
+
const result = spawnSync(pythonParts[0], [
|
|
77
|
+
...pythonParts.slice(1),
|
|
78
|
+
'-m', CLI_MODULE, ...args
|
|
79
|
+
], {
|
|
80
|
+
stdio: 'inherit',
|
|
81
|
+
env: {
|
|
82
|
+
...process.env,
|
|
83
|
+
PYTHONPATH: SRC_DIR + (process.env.PYTHONPATH ? path.delimiter + process.env.PYTHONPATH : ''),
|
|
84
|
+
},
|
|
85
|
+
});
|
|
56
86
|
|
|
57
|
-
// Use spawnSync for secure execution (no shell injection risk)
|
|
58
|
-
let result;
|
|
59
|
-
if (os.platform() === 'win32') {
|
|
60
|
-
// Windows: Use cmd or PowerShell
|
|
61
|
-
result = spawnSync(slmScript, args, {
|
|
62
|
-
stdio: 'inherit',
|
|
63
|
-
shell: true
|
|
64
|
-
});
|
|
65
|
-
} else {
|
|
66
|
-
// Mac/Linux: Direct bash execution
|
|
67
|
-
result = spawnSync('bash', [slmScript, ...args], {
|
|
68
|
-
stdio: 'inherit'
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// Exit with the same code as the child process
|
|
73
87
|
process.exit(result.status || 0);
|
|
@@ -282,7 +282,7 @@ var lastFocusedElement = null; // For modal focus return
|
|
|
282
282
|
|
|
283
283
|
If you encounter accessibility issues, please report them:
|
|
284
284
|
|
|
285
|
-
- **GitHub Issues:** https://github.com/
|
|
285
|
+
- **GitHub Issues:** https://github.com/qualixar/superlocalmemory/issues
|
|
286
286
|
- **Label:** Use `accessibility` tag
|
|
287
287
|
- **Include:** Browser, screen reader (if applicable), and steps to reproduce
|
|
288
288
|
|
|
@@ -867,8 +867,8 @@ SuperLocalMemory V2's architecture provides:
|
|
|
867
867
|
- [CLI Commands Reference](CLI-COMMANDS-REFERENCE.md)
|
|
868
868
|
- [MCP Troubleshooting](MCP-TROUBLESHOOTING.md)
|
|
869
869
|
- [Universal Integration Guide](UNIVERSAL-INTEGRATION.md)
|
|
870
|
-
- [Wiki: Knowledge Graph Guide](https://github.com/
|
|
871
|
-
- [Wiki: Pattern Learning](https://github.com/
|
|
870
|
+
- [Wiki: Knowledge Graph Guide](https://github.com/qualixar/superlocalmemory/wiki/Knowledge-Graph-Guide)
|
|
871
|
+
- [Wiki: Pattern Learning](https://github.com/qualixar/superlocalmemory/wiki/Pattern-Learning-Explained)
|
|
872
872
|
|
|
873
873
|
---
|
|
874
874
|
|
|
@@ -287,8 +287,8 @@ superlocalmemoryv2-profile create work
|
|
|
287
287
|
|
|
288
288
|
## Learn More
|
|
289
289
|
|
|
290
|
-
- **[LangChain Wiki Guide](https://github.com/
|
|
291
|
-
- **[LlamaIndex Wiki Guide](https://github.com/
|
|
290
|
+
- **[LangChain Wiki Guide](https://github.com/qualixar/superlocalmemory/wiki/LangChain-Integration)** — Full integration tutorial
|
|
291
|
+
- **[LlamaIndex Wiki Guide](https://github.com/qualixar/superlocalmemory/wiki/LlamaIndex-Integration)** — Complete setup guide
|
|
292
292
|
- **[API Reference](API-REFERENCE.md)** — Python API documentation
|
|
293
293
|
- **[Profiles Guide](PROFILES-GUIDE.md)** — Multi-context management
|
|
294
294
|
|
|
@@ -764,8 +764,8 @@ Plus **2 MCP prompts** and **6 MCP resources** for advanced use.
|
|
|
764
764
|
|
|
765
765
|
1. **Check logs:** Most IDEs have MCP server logs in their developer tools
|
|
766
766
|
2. **Test manually:** Run `python3 ~/.claude-memory/mcp_server.py` to see errors
|
|
767
|
-
3. **GitHub Issues:** https://github.com/
|
|
768
|
-
4. **Documentation:** https://github.com/
|
|
767
|
+
3. **GitHub Issues:** https://github.com/qualixar/superlocalmemory/issues
|
|
768
|
+
4. **Documentation:** https://github.com/qualixar/superlocalmemory
|
|
769
769
|
|
|
770
770
|
---
|
|
771
771
|
|
|
@@ -119,7 +119,7 @@ ls -la ~/.claude-memory/pattern_learner.py
|
|
|
119
119
|
**Fix:**
|
|
120
120
|
1. Verify installation:
|
|
121
121
|
```bash
|
|
122
|
-
cd ~/path/to/
|
|
122
|
+
cd ~/path/to/superlocalmemory
|
|
123
123
|
./install.sh
|
|
124
124
|
```
|
|
125
125
|
|
|
@@ -298,7 +298,7 @@ ls -la ~/.claude-memory/*.py
|
|
|
298
298
|
|
|
299
299
|
**If files missing:**
|
|
300
300
|
```bash
|
|
301
|
-
cd ~/path/to/
|
|
301
|
+
cd ~/path/to/superlocalmemory-repo
|
|
302
302
|
./install.sh
|
|
303
303
|
```
|
|
304
304
|
|
|
@@ -714,7 +714,7 @@ If auto-configuration fails completely, manually add to your IDE's config:
|
|
|
714
714
|
2. ✅ **Test server manually:** `python3 ~/.claude-memory/mcp_server.py`
|
|
715
715
|
3. ✅ **Verify config is valid JSON**
|
|
716
716
|
4. ✅ **Try manual configuration** (see above)
|
|
717
|
-
5. ✅ **Search existing issues:** https://github.com/
|
|
717
|
+
5. ✅ **Search existing issues:** https://github.com/qualixar/superlocalmemory/issues
|
|
718
718
|
|
|
719
719
|
### Opening an Issue
|
|
720
720
|
|
|
@@ -744,6 +744,6 @@ MIT License - See [LICENSE](../LICENSE) file
|
|
|
744
744
|
|
|
745
745
|
---
|
|
746
746
|
|
|
747
|
-
**Project:** [SuperLocalMemory V2](https://github.com/
|
|
748
|
-
**Documentation:** [Full Docs](https://github.com/
|
|
749
|
-
**Issues:** [Report Issues](https://github.com/
|
|
747
|
+
**Project:** [SuperLocalMemory V2](https://github.com/qualixar/superlocalmemory)
|
|
748
|
+
**Documentation:** [Full Docs](https://github.com/qualixar/superlocalmemory/wiki)
|
|
749
|
+
**Issues:** [Report Issues](https://github.com/qualixar/superlocalmemory/issues)
|
|
@@ -494,7 +494,7 @@ pip install scikit-learn numpy
|
|
|
494
494
|
- [API Reference](API-REFERENCE.md)
|
|
495
495
|
- [Main README](../README.md)
|
|
496
496
|
|
|
497
|
-
**Issues:** [GitHub Issues](https://github.com/
|
|
497
|
+
**Issues:** [GitHub Issues](https://github.com/qualixar/superlocalmemory/issues)
|
|
498
498
|
|
|
499
499
|
---
|
|
500
500
|
|
|
@@ -16,8 +16,8 @@ SuperLocalMemory V2 now works across **16+ IDEs and CLI tools** with automatic d
|
|
|
16
16
|
|
|
17
17
|
### Step 1: Install
|
|
18
18
|
```bash
|
|
19
|
-
git clone https://github.com/
|
|
20
|
-
cd
|
|
19
|
+
git clone https://github.com/qualixar/superlocalmemory.git
|
|
20
|
+
cd superlocalmemory
|
|
21
21
|
./install.sh
|
|
22
22
|
```
|
|
23
23
|
|
|
@@ -481,7 +481,7 @@ python3 ~/.claude-memory/mcp_server.py --transport http --port 8001
|
|
|
481
481
|
|
|
482
482
|
---
|
|
483
483
|
|
|
484
|
-
**Questions?** Open an issue: https://github.com/
|
|
484
|
+
**Questions?** Open an issue: https://github.com/qualixar/superlocalmemory/issues
|
|
485
485
|
|
|
486
486
|
**Version:** 2.4.1
|
|
487
487
|
**Author:** Varun Pratap Bhardwaj
|
|
@@ -656,8 +656,8 @@ index = HNSWIndex(
|
|
|
656
656
|
## Support
|
|
657
657
|
|
|
658
658
|
For issues, questions, or contributions:
|
|
659
|
-
- **GitHub Issues:** https://github.com/
|
|
660
|
-
- **Documentation:** https://github.com/
|
|
659
|
+
- **GitHub Issues:** https://github.com/qualixar/superlocalmemory/issues
|
|
660
|
+
- **Documentation:** https://github.com/qualixar/superlocalmemory/wiki
|
|
661
661
|
|
|
662
662
|
---
|
|
663
663
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# langchain-superlocalmemory
|
|
2
2
|
|
|
3
|
-
LangChain chat message history backed by [SuperLocalMemory V2](https://github.com/
|
|
3
|
+
LangChain chat message history backed by [SuperLocalMemory V2](https://github.com/qualixar/superlocalmemory) -- 100% local, zero cloud.
|
|
4
4
|
|
|
5
5
|
Every message stays on your machine in a SQLite database. No API keys, no subscriptions, no telemetry.
|
|
6
6
|
|
|
7
7
|
## Prerequisites
|
|
8
8
|
|
|
9
9
|
- Python 3.10+
|
|
10
|
-
- [SuperLocalMemory V2](https://github.com/
|
|
10
|
+
- [SuperLocalMemory V2](https://github.com/qualixar/superlocalmemory) installed (`~/.claude-memory/` must exist)
|
|
11
11
|
- `langchain-core >= 1.0.0`
|
|
12
12
|
|
|
13
13
|
## Installation
|
|
@@ -101,6 +101,6 @@ MIT -- see [LICENSE](../../LICENSE) for details.
|
|
|
101
101
|
|
|
102
102
|
## Links
|
|
103
103
|
|
|
104
|
-
- [SuperLocalMemory V2 Repository](https://github.com/
|
|
104
|
+
- [SuperLocalMemory V2 Repository](https://github.com/qualixar/superlocalmemory)
|
|
105
105
|
- [Documentation](https://superlocalmemory.com/)
|
|
106
106
|
- [LangChain Documentation](https://python.langchain.com/)
|
|
@@ -61,7 +61,7 @@ def _ensure_slm_imported():
|
|
|
61
61
|
except ImportError as exc:
|
|
62
62
|
raise ImportError(
|
|
63
63
|
"SuperLocalMemory V2 is not installed. "
|
|
64
|
-
"Run the installer from https://github.com/
|
|
64
|
+
"Run the installer from https://github.com/qualixar/superlocalmemory "
|
|
65
65
|
"or ensure ~/.claude-memory/memory_store_v2.py exists."
|
|
66
66
|
) from exc
|
|
67
67
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# LlamaIndex Chat Store — SuperLocalMemory V2
|
|
2
2
|
|
|
3
|
-
A LlamaIndex `BaseChatStore` implementation backed by [SuperLocalMemory V2](https://github.com/
|
|
3
|
+
A LlamaIndex `BaseChatStore` implementation backed by [SuperLocalMemory V2](https://github.com/qualixar/superlocalmemory). All chat history stays **100% local** on your machine — zero cloud calls, zero telemetry, zero API keys.
|
|
4
4
|
|
|
5
5
|
## Prerequisites
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@ A LlamaIndex `BaseChatStore` implementation backed by [SuperLocalMemory V2](http
|
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
11
|
# Install SuperLocalMemory V2 (one-time)
|
|
12
|
-
curl -fsSL https://raw.githubusercontent.com/
|
|
12
|
+
curl -fsSL https://raw.githubusercontent.com/qualixar/superlocalmemory/main/install.sh | bash
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Installation
|
|
@@ -76,6 +76,6 @@ chat_store = SuperLocalMemoryChatStore(db_path="/path/to/custom/memory.db")
|
|
|
76
76
|
|
|
77
77
|
## Links
|
|
78
78
|
|
|
79
|
-
- [SuperLocalMemory V2](https://github.com/
|
|
79
|
+
- [SuperLocalMemory V2](https://github.com/qualixar/superlocalmemory)
|
|
80
80
|
- [LlamaIndex Documentation](https://docs.llamaindex.ai/)
|
|
81
81
|
- [LlamaIndex Chat Stores Guide](https://docs.llamaindex.ai/en/stable/module_guides/storing/chat_stores/)
|
|
@@ -39,8 +39,8 @@ try:
|
|
|
39
39
|
except ImportError as exc:
|
|
40
40
|
raise ImportError(
|
|
41
41
|
"SuperLocalMemory V2 is not installed. "
|
|
42
|
-
"Run: curl -fsSL https://raw.githubusercontent.com/
|
|
43
|
-
"Or visit: https://github.com/
|
|
42
|
+
"Run: curl -fsSL https://raw.githubusercontent.com/qualixar/superlocalmemory/main/install.sh | bash\n"
|
|
43
|
+
"Or visit: https://github.com/qualixar/superlocalmemory"
|
|
44
44
|
) from exc
|
|
45
45
|
|
|
46
46
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "superlocalmemory",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.2",
|
|
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/scripts/postinstall.js
CHANGED
|
@@ -1,126 +1,60 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* SuperLocalMemory
|
|
3
|
+
* SuperLocalMemory V3 - NPM Postinstall Script
|
|
4
4
|
*
|
|
5
|
-
* Copyright (c) 2026 Varun Pratap Bhardwaj
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* Licensed under MIT License (see LICENSE file)
|
|
9
|
-
* Repository: https://github.com/varun369/SuperLocalMemoryV2
|
|
10
|
-
*
|
|
11
|
-
* ATTRIBUTION REQUIRED: This notice must be preserved in all copies.
|
|
5
|
+
* Copyright (c) 2026 Varun Pratap Bhardwaj / Qualixar
|
|
6
|
+
* Licensed under MIT License
|
|
7
|
+
* Repository: https://github.com/qualixar/superlocalmemory
|
|
12
8
|
*/
|
|
13
9
|
|
|
14
|
-
const { spawnSync } = require('child_process');
|
|
15
10
|
const path = require('path');
|
|
16
11
|
const os = require('os');
|
|
17
12
|
const fs = require('fs');
|
|
18
13
|
|
|
19
14
|
console.log('\n════════════════════════════════════════════════════════════');
|
|
20
|
-
console.log(' SuperLocalMemory
|
|
21
|
-
console.log(' by Varun Pratap Bhardwaj');
|
|
22
|
-
console.log(' https://github.com/
|
|
15
|
+
console.log(' SuperLocalMemory V3 - Post-Installation');
|
|
16
|
+
console.log(' by Varun Pratap Bhardwaj / Qualixar');
|
|
17
|
+
console.log(' https://github.com/qualixar/superlocalmemory');
|
|
23
18
|
console.log('════════════════════════════════════════════════════════════\n');
|
|
24
19
|
|
|
25
|
-
//
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
(process.env.npm_config_prefix && !process.env.npm_config_prefix.includes('node_modules'));
|
|
29
|
-
|
|
30
|
-
if (!isGlobal) {
|
|
31
|
-
console.log('📦 Local installation detected.');
|
|
32
|
-
console.log(' SuperLocalMemory is designed for global installation.');
|
|
33
|
-
console.log(' Run: npm install -g superlocalmemory');
|
|
34
|
-
console.log('');
|
|
35
|
-
console.log('⏩ Skipping system installation for local install.');
|
|
36
|
-
console.log('');
|
|
37
|
-
process.exit(0);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
console.log('🌍 Global installation detected. Running system setup...\n');
|
|
41
|
-
|
|
42
|
-
// Find the package root (where install.sh/install.ps1 lives)
|
|
43
|
-
const packageRoot = path.join(__dirname, '..');
|
|
44
|
-
const installScript = os.platform() === 'win32'
|
|
45
|
-
? path.join(packageRoot, 'scripts', 'install.ps1')
|
|
46
|
-
: path.join(packageRoot, 'scripts', 'install.sh');
|
|
47
|
-
|
|
48
|
-
// Check if install script exists
|
|
49
|
-
if (!fs.existsSync(installScript)) {
|
|
50
|
-
console.error('❌ Error: Install script not found at ' + installScript);
|
|
51
|
-
console.error(' Package may be corrupted. Please reinstall:');
|
|
52
|
-
console.error(' npm uninstall -g superlocalmemory');
|
|
53
|
-
console.error(' npm install -g superlocalmemory');
|
|
54
|
-
process.exit(1);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// Run the appropriate install script
|
|
58
|
-
console.log('Running installer: ' + path.basename(installScript));
|
|
59
|
-
console.log('This will:');
|
|
60
|
-
console.log(' • Copy files to ~/.claude-memory/');
|
|
61
|
-
console.log(' • Configure MCP for 16+ AI tools');
|
|
62
|
-
console.log(' • Install universal skills');
|
|
63
|
-
console.log(' • Set up CLI commands\n');
|
|
64
|
-
|
|
65
|
-
let result;
|
|
20
|
+
// V3 data directory
|
|
21
|
+
const SLM_HOME = path.join(os.homedir(), '.superlocalmemory');
|
|
22
|
+
const V2_HOME = path.join(os.homedir(), '.claude-memory');
|
|
66
23
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
'-ExecutionPolicy', 'Bypass',
|
|
72
|
-
'-File', installScript,
|
|
73
|
-
'--non-interactive'
|
|
74
|
-
], {
|
|
75
|
-
stdio: 'inherit',
|
|
76
|
-
cwd: packageRoot
|
|
77
|
-
});
|
|
24
|
+
// Ensure V3 data directory exists
|
|
25
|
+
if (!fs.existsSync(SLM_HOME)) {
|
|
26
|
+
fs.mkdirSync(SLM_HOME, { recursive: true });
|
|
27
|
+
console.log('✓ Created data directory: ' + SLM_HOME);
|
|
78
28
|
} else {
|
|
79
|
-
|
|
80
|
-
console.log('Platform: ' + (os.platform() === 'darwin' ? 'macOS' : 'Linux') + ' (Bash)\n');
|
|
81
|
-
result = spawnSync('bash', [installScript, '--non-interactive'], {
|
|
82
|
-
stdio: 'inherit',
|
|
83
|
-
cwd: packageRoot
|
|
84
|
-
});
|
|
29
|
+
console.log('✓ Data directory exists: ' + SLM_HOME);
|
|
85
30
|
}
|
|
86
31
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
console.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
console.
|
|
100
|
-
console.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
} else {
|
|
104
|
-
console.error(' bash "' + installScript + '"');
|
|
105
|
-
}
|
|
106
|
-
process.exit(result.status);
|
|
32
|
+
// Detect V2 installation
|
|
33
|
+
if (fs.existsSync(V2_HOME) && fs.existsSync(path.join(V2_HOME, 'memory.db'))) {
|
|
34
|
+
console.log('');
|
|
35
|
+
console.log('╔══════════════════════════════════════════════════════════╗');
|
|
36
|
+
console.log('║ V2 Installation Detected ║');
|
|
37
|
+
console.log('╚══════════════════════════════════════════════════════════╝');
|
|
38
|
+
console.log('');
|
|
39
|
+
console.log(' Found V2 data at: ' + V2_HOME);
|
|
40
|
+
console.log(' Your memories are safe and will NOT be deleted.');
|
|
41
|
+
console.log('');
|
|
42
|
+
console.log(' To migrate V2 data to V3, run:');
|
|
43
|
+
console.log(' slm migrate');
|
|
44
|
+
console.log('');
|
|
45
|
+
console.log(' Read the migration guide:');
|
|
46
|
+
console.log(' https://github.com/qualixar/superlocalmemory/wiki/Migration-from-V2');
|
|
47
|
+
console.log('');
|
|
107
48
|
}
|
|
108
49
|
|
|
109
|
-
console.log('
|
|
110
|
-
console.log('
|
|
50
|
+
console.log('════════════════════════════════════════════════════════════');
|
|
51
|
+
console.log(' ✓ SuperLocalMemory V3 installed successfully!');
|
|
52
|
+
console.log('');
|
|
53
|
+
console.log(' Quick start:');
|
|
54
|
+
console.log(' slm setup # First-time configuration');
|
|
55
|
+
console.log(' slm status # Check system status');
|
|
56
|
+
console.log(' slm remember "..." # Store a memory');
|
|
57
|
+
console.log(' slm recall "..." # Search memories');
|
|
58
|
+
console.log('');
|
|
59
|
+
console.log(' Documentation: https://github.com/qualixar/superlocalmemory/wiki');
|
|
111
60
|
console.log('════════════════════════════════════════════════════════════\n');
|
|
112
|
-
|
|
113
|
-
console.log('Quick Start:');
|
|
114
|
-
console.log(' slm remember "Your first memory"');
|
|
115
|
-
console.log(' slm recall "search query"');
|
|
116
|
-
console.log(' slm status');
|
|
117
|
-
console.log(' slm help\n');
|
|
118
|
-
|
|
119
|
-
console.log('Documentation:');
|
|
120
|
-
console.log(' README: https://github.com/varun369/SuperLocalMemoryV2');
|
|
121
|
-
console.log(' Wiki: https://github.com/varun369/SuperLocalMemoryV2/wiki');
|
|
122
|
-
console.log(' Local: ~/.claude-memory/\n');
|
|
123
|
-
|
|
124
|
-
console.log('MCP Integration:');
|
|
125
|
-
console.log(' Auto-configured for: Claude Desktop, Cursor, Windsurf, etc.');
|
|
126
|
-
console.log(' Restart your AI tool to activate.\n');
|
package/scripts/preuninstall.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Solution Architect & Original Creator
|
|
7
7
|
*
|
|
8
8
|
* Licensed under MIT License (see LICENSE file)
|
|
9
|
-
* Repository: https://github.com/
|
|
9
|
+
* Repository: https://github.com/qualixar/superlocalmemory
|
|
10
10
|
*
|
|
11
11
|
* ATTRIBUTION REQUIRED: This notice must be preserved in all copies.
|
|
12
12
|
*/
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: superlocalmemory
|
|
3
|
+
Version: 3.0.0
|
|
4
|
+
Summary: Information-geometric agent memory with mathematical guarantees
|
|
5
|
+
Author-email: Varun Pratap Bhardwaj <admin@superlocalmemory.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://superlocalmemory.com
|
|
8
|
+
Project-URL: Repository, https://github.com/qualixar/superlocalmemory
|
|
9
|
+
Project-URL: Documentation, https://github.com/qualixar/superlocalmemory/wiki
|
|
10
|
+
Project-URL: Issues, https://github.com/qualixar/superlocalmemory/issues
|
|
11
|
+
Keywords: ai-memory,mcp-server,local-first,agent-memory,information-geometry,privacy-first,eu-ai-act
|
|
12
|
+
Requires-Python: >=3.11
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
License-File: NOTICE
|
|
16
|
+
License-File: AUTHORS.md
|
|
17
|
+
Requires-Dist: httpx>=0.24.0
|
|
18
|
+
Requires-Dist: numpy<3.0.0,>=1.26.0
|
|
19
|
+
Requires-Dist: scipy<2.0.0,>=1.12.0
|
|
20
|
+
Requires-Dist: networkx>=3.0
|
|
21
|
+
Requires-Dist: mcp>=1.0.0
|
|
22
|
+
Requires-Dist: python-dateutil>=2.9.0.post0
|
|
23
|
+
Requires-Dist: rank-bm25>=0.2.2
|
|
24
|
+
Requires-Dist: vadersentiment>=3.3.2
|
|
25
|
+
Provides-Extra: search
|
|
26
|
+
Requires-Dist: sentence-transformers<4.0.0,>=2.5.0; extra == "search"
|
|
27
|
+
Requires-Dist: torch>=2.2.0; extra == "search"
|
|
28
|
+
Requires-Dist: scikit-learn<2.0.0,>=1.3.0; extra == "search"
|
|
29
|
+
Requires-Dist: geoopt>=0.5.0; extra == "search"
|
|
30
|
+
Provides-Extra: ui
|
|
31
|
+
Requires-Dist: fastapi<1.0.0,>=0.109.0; extra == "ui"
|
|
32
|
+
Requires-Dist: uvicorn[standard]<1.0.0,>=0.27.0; extra == "ui"
|
|
33
|
+
Requires-Dist: python-multipart<1.0.0,>=0.0.6; extra == "ui"
|
|
34
|
+
Provides-Extra: learning
|
|
35
|
+
Requires-Dist: lightgbm<5.0.0,>=4.0.0; extra == "learning"
|
|
36
|
+
Provides-Extra: performance
|
|
37
|
+
Requires-Dist: diskcache<6.0.0,>=5.6.0; extra == "performance"
|
|
38
|
+
Requires-Dist: orjson<4.0.0,>=3.9.0; extra == "performance"
|
|
39
|
+
Provides-Extra: full
|
|
40
|
+
Requires-Dist: superlocalmemory[learning,performance,search,ui]; extra == "full"
|
|
41
|
+
Provides-Extra: dev
|
|
42
|
+
Requires-Dist: pytest>=8.0; extra == "dev"
|
|
43
|
+
Requires-Dist: pytest-cov>=4.1; extra == "dev"
|
|
44
|
+
Dynamic: license-file
|
|
45
|
+
|
|
46
|
+
<p align="center">
|
|
47
|
+
<img src="https://superlocalmemory.com/assets/logo-mark.png" alt="SuperLocalMemory" width="200"/>
|
|
48
|
+
</p>
|
|
49
|
+
|
|
50
|
+
<h1 align="center">SuperLocalMemory V3</h1>
|
|
51
|
+
<p align="center"><strong>Information-Geometric Agent Memory with Mathematical Guarantees</strong></p>
|
|
52
|
+
|
|
53
|
+
<p align="center">
|
|
54
|
+
The first agent memory system with mathematically grounded retrieval, lifecycle management, and consistency verification. Four-channel hybrid retrieval. Three operating modes. EU AI Act compliant.
|
|
55
|
+
</p>
|
|
56
|
+
|
|
57
|
+
<p align="center">
|
|
58
|
+
<a href="https://superlocalmemory.com"><img src="https://img.shields.io/badge/Website-superlocalmemory.com-ff6b35?style=for-the-badge" alt="Website"/></a>
|
|
59
|
+
<a href="https://arxiv.org/abs/2603.02240"><img src="https://img.shields.io/badge/arXiv-2603.02240-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="arXiv Paper"/></a>
|
|
60
|
+
<a href="https://zenodo.org/records/19038659"><img src="https://img.shields.io/badge/DOI-10.5281%2Fzenodo.19038659-blue?style=for-the-badge&logo=doi&logoColor=white" alt="V3 DOI"/></a>
|
|
61
|
+
</p>
|
|
62
|
+
|
|
63
|
+
<p align="center">
|
|
64
|
+
<a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.11+-3776AB?style=flat-square&logo=python&logoColor=white" alt="Python 3.11+"/></a>
|
|
65
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="MIT License"/></a>
|
|
66
|
+
<a href="#three-operating-modes"><img src="https://img.shields.io/badge/EU_AI_Act-Compliant-brightgreen?style=flat-square" alt="EU AI Act"/></a>
|
|
67
|
+
<a href="#"><img src="https://img.shields.io/badge/tests-1400+-brightgreen?style=flat-square" alt="1400+ Tests"/></a>
|
|
68
|
+
<a href="#"><img src="https://img.shields.io/badge/platform-Mac_|_Linux_|_Windows-blue?style=flat-square" alt="Cross Platform"/></a>
|
|
69
|
+
<a href="https://github.com/qualixar/superlocalmemory/wiki"><img src="https://img.shields.io/badge/Wiki-Documentation-blue?style=flat-square" alt="Wiki"/></a>
|
|
70
|
+
</p>
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## What is SuperLocalMemory?
|
|
75
|
+
|
|
76
|
+
SuperLocalMemory gives AI assistants persistent, structured memory that survives across sessions. Unlike simple vector stores, V3 uses **information geometry** to provide mathematically grounded retrieval, automatic contradiction detection, and self-organizing memory lifecycle management.
|
|
77
|
+
|
|
78
|
+
**Works with:** Claude, Cursor, Windsurf, VS Code Copilot, Continue, Cody, ChatGPT Desktop, Gemini CLI, JetBrains, Zed, and 17+ AI tools via MCP.
|
|
79
|
+
|
|
80
|
+
> **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](docs/migration-from-v2.md) before upgrading. Backup is created automatically.
|
|
81
|
+
|
|
82
|
+
### Key Results
|
|
83
|
+
|
|
84
|
+
| Metric | Score | Context |
|
|
85
|
+
|:-------|:-----:|:--------|
|
|
86
|
+
| LoCoMo (Mode A, zero-LLM) | **62.3%** | Highest zero-LLM score. No cloud dependency. |
|
|
87
|
+
| LoCoMo (Mode C, full) | **~78%** | Competitive with funded systems ($10M+) |
|
|
88
|
+
| Math layer improvement | **+12.7pp** | Average gain from mathematical foundations |
|
|
89
|
+
| Multi-hop improvement | **+12pp** | 50% vs 38% (math on vs off) |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Three Operating Modes
|
|
94
|
+
|
|
95
|
+
| Mode | What | LLM Required? | EU AI Act | Best For |
|
|
96
|
+
|:----:|:-----|:-------------:|:---------:|:---------|
|
|
97
|
+
| **A** | Local Guardian | No | Compliant | Privacy-first, air-gapped, enterprise |
|
|
98
|
+
| **B** | Smart Local | Local only (Ollama) | Compliant | Enhanced quality, data stays local |
|
|
99
|
+
| **C** | Full Power | Cloud (optional) | Partial | Maximum accuracy, research |
|
|
100
|
+
|
|
101
|
+
**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 required.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Architecture
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
Query ──► Strategy Classifier ──► 4 Parallel Channels:
|
|
109
|
+
├── Semantic (Fisher-Rao graduated similarity)
|
|
110
|
+
├── BM25 (keyword matching, k1=1.2, b=0.75)
|
|
111
|
+
├── Entity Graph (spreading activation, 3 hops)
|
|
112
|
+
└── Temporal (date-aware retrieval)
|
|
113
|
+
│
|
|
114
|
+
RRF Fusion (k=60)
|
|
115
|
+
│
|
|
116
|
+
Scene Expansion + Bridge Discovery
|
|
117
|
+
│
|
|
118
|
+
Cross-Encoder Reranking
|
|
119
|
+
│
|
|
120
|
+
◄── Top-K Results with channel scores
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Mathematical Foundations (Novel Contributions)
|
|
124
|
+
|
|
125
|
+
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.
|
|
126
|
+
|
|
127
|
+
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.
|
|
128
|
+
|
|
129
|
+
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.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Quick Start
|
|
134
|
+
|
|
135
|
+
### Install via npm (recommended)
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
npm install -g superlocalmemory
|
|
139
|
+
slm setup
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Install via pip
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
pip install superlocalmemory
|
|
146
|
+
# or with all features:
|
|
147
|
+
pip install "superlocalmemory[full]"
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### First Use
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Store a memory
|
|
154
|
+
slm remember "Alice works at Google as a Staff Engineer"
|
|
155
|
+
|
|
156
|
+
# Recall
|
|
157
|
+
slm recall "What does Alice do?"
|
|
158
|
+
|
|
159
|
+
# Check status
|
|
160
|
+
slm status
|
|
161
|
+
|
|
162
|
+
# Switch modes
|
|
163
|
+
slm mode a # Zero-LLM (default)
|
|
164
|
+
slm mode b # Local Ollama
|
|
165
|
+
slm mode c # Full power
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### MCP Integration (Claude, Cursor, etc.)
|
|
169
|
+
|
|
170
|
+
Add to your IDE's MCP config:
|
|
171
|
+
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"mcpServers": {
|
|
175
|
+
"superlocalmemory": {
|
|
176
|
+
"command": "slm",
|
|
177
|
+
"args": ["mcp"]
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
24 MCP tools available: `remember`, `recall`, `search`, `fetch`, `list_recent`, `get_status`, `build_graph`, `switch_profile`, `health`, `consistency_check`, `recall_trace`, and more.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## V3 Engine Features
|
|
188
|
+
|
|
189
|
+
### Retrieval (4-Channel Hybrid)
|
|
190
|
+
- Semantic similarity with Fisher-Rao information geometry
|
|
191
|
+
- BM25 keyword matching (persisted tokens, survives restart)
|
|
192
|
+
- Entity graph with spreading activation (3-hop, decay=0.7)
|
|
193
|
+
- Temporal date-aware retrieval with interval support
|
|
194
|
+
- RRF fusion (k=60) + cross-encoder reranking
|
|
195
|
+
|
|
196
|
+
### Intelligence
|
|
197
|
+
- 11-step ingestion pipeline (entity resolution, fact extraction, emotional tagging, scene building, sheaf consistency)
|
|
198
|
+
- Adaptive learning with LightGBM-based ranking (3-phase bootstrap)
|
|
199
|
+
- Behavioral pattern detection (query habits, entity preferences, active hours)
|
|
200
|
+
- Outcome tracking for retrieval feedback loops
|
|
201
|
+
|
|
202
|
+
### Trust & Compliance
|
|
203
|
+
- Bayesian Beta distribution trust scoring (per-agent, per-fact)
|
|
204
|
+
- Trust gates (block low-trust agents from writing/deleting)
|
|
205
|
+
- ABAC (Attribute-Based Access Control) with DB-persisted policies
|
|
206
|
+
- GDPR Article 15/17 compliance (full export + complete erasure)
|
|
207
|
+
- EU AI Act data sovereignty (Mode A: zero cloud, data stays local)
|
|
208
|
+
- Tamper-proof hash-chain audit trail (SHA-256 linked entries)
|
|
209
|
+
- Data provenance tracking (who created what, when, from where)
|
|
210
|
+
|
|
211
|
+
### Infrastructure
|
|
212
|
+
- 17-tab web dashboard (trust visualization, math health, recall lab)
|
|
213
|
+
- 17+ IDE integrations with pre-built configs
|
|
214
|
+
- Profile isolation (16+ independent memory spaces)
|
|
215
|
+
- V2 to V3 migration tool (zero data loss, rollback support)
|
|
216
|
+
- Auto-capture and auto-recall hooks for Claude Code
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Benchmarks
|
|
221
|
+
|
|
222
|
+
Evaluated on the [LoCoMo benchmark](https://arxiv.org/abs/2402.09714) (Long Conversation Memory):
|
|
223
|
+
|
|
224
|
+
### Mode A Ablation (conv-30, 81 questions, zero-LLM)
|
|
225
|
+
|
|
226
|
+
| Configuration | Micro Avg | Multi-Hop | Open Domain |
|
|
227
|
+
|:-------------|:---------:|:---------:|:-----------:|
|
|
228
|
+
| Full (all layers) | **62.3%** | **50%** | **78%** |
|
|
229
|
+
| Math layers off | 59.3% | 38% | 70% |
|
|
230
|
+
| Entity channel off | 56.8% | 38% | 73% |
|
|
231
|
+
| BM25 channel off | 53.2% | 23% | 71% |
|
|
232
|
+
| Cross-encoder off | 31.8% | 17% | — |
|
|
233
|
+
|
|
234
|
+
### Competitive Landscape
|
|
235
|
+
|
|
236
|
+
| System | Score | LLM Required | Open Source | EU AI Act |
|
|
237
|
+
|:-------|:-----:|:------------:|:-----------:|:---------:|
|
|
238
|
+
| EverMemOS | 92.3% | Yes | No | No |
|
|
239
|
+
| MemMachine | 91.7% | Yes | No | No |
|
|
240
|
+
| Hindsight | 89.6% | Yes | No | No |
|
|
241
|
+
| **SLM V3 Mode C** | **~78%** | Optional | **Yes** | Partial |
|
|
242
|
+
| **SLM V3 Mode A** | **62.3%** | **No** | **Yes** | **Yes** |
|
|
243
|
+
| Mem0 ($24M) | 34.2% F1 | Yes | Partial | No |
|
|
244
|
+
|
|
245
|
+
*SLM V3 is the only system offering a fully local mode with mathematical guarantees and EU AI Act compliance.*
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Research Papers
|
|
250
|
+
|
|
251
|
+
### V3: Information-Geometric Foundations
|
|
252
|
+
> **SuperLocalMemory V3: Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory**
|
|
253
|
+
> Varun Pratap Bhardwaj (2026)
|
|
254
|
+
> [Zenodo DOI: 10.5281/zenodo.19038659](https://zenodo.org/records/19038659)
|
|
255
|
+
|
|
256
|
+
### V2: Architecture & Engineering
|
|
257
|
+
> **SuperLocalMemory: A Structured Local Memory Architecture for Persistent AI Agent Context**
|
|
258
|
+
> Varun Pratap Bhardwaj (2026)
|
|
259
|
+
> [arXiv:2603.02240](https://arxiv.org/abs/2603.02240) | [Zenodo DOI: 10.5281/zenodo.18709670](https://zenodo.org/records/18709670)
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Project Structure
|
|
264
|
+
|
|
265
|
+
```
|
|
266
|
+
superlocalmemory/
|
|
267
|
+
├── src/superlocalmemory/ # Python package (17 sub-packages)
|
|
268
|
+
│ ├── core/ # Engine, config, modes, profiles
|
|
269
|
+
│ ├── retrieval/ # 4-channel retrieval + fusion + reranking
|
|
270
|
+
│ ├── math/ # Fisher-Rao, Sheaf, Langevin
|
|
271
|
+
│ ├── encoding/ # 11-step ingestion pipeline
|
|
272
|
+
│ ├── storage/ # SQLite with WAL, FTS5, migrations
|
|
273
|
+
│ ├── trust/ # Bayesian scoring, gates, provenance
|
|
274
|
+
│ ├── compliance/ # GDPR, EU AI Act, ABAC, audit chain
|
|
275
|
+
│ ├── learning/ # Adaptive ranking, behavioral patterns
|
|
276
|
+
│ ├── mcp/ # MCP server (24 tools, 6 resources)
|
|
277
|
+
│ ├── cli/ # CLI with setup wizard
|
|
278
|
+
│ └── server/ # Dashboard API + UI server
|
|
279
|
+
├── tests/ # 1400+ tests
|
|
280
|
+
├── ui/ # 17-tab web dashboard
|
|
281
|
+
├── ide/ # IDE configs for 17+ tools
|
|
282
|
+
├── docs/ # Documentation
|
|
283
|
+
└── pyproject.toml # Modern Python packaging
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Contributing
|
|
289
|
+
|
|
290
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
291
|
+
|
|
292
|
+
## License
|
|
293
|
+
|
|
294
|
+
MIT License. See [LICENSE](LICENSE).
|
|
295
|
+
|
|
296
|
+
## Attribution
|
|
297
|
+
|
|
298
|
+
Part of [Qualixar](https://qualixar.com) | Author: [Varun Pratap Bhardwaj](https://varunpratap.com)
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
<p align="center">
|
|
303
|
+
<sub>Built with mathematical rigor. Not in the race — here to help everyone build better AI memory systems.</sub>
|
|
304
|
+
</p>
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
AUTHORS.md
|
|
2
|
+
LICENSE
|
|
3
|
+
NOTICE
|
|
4
|
+
README.md
|
|
5
|
+
pyproject.toml
|
|
6
|
+
src/superlocalmemory/__init__.py
|
|
7
|
+
src/superlocalmemory.egg-info/PKG-INFO
|
|
8
|
+
src/superlocalmemory.egg-info/SOURCES.txt
|
|
9
|
+
src/superlocalmemory.egg-info/dependency_links.txt
|
|
10
|
+
src/superlocalmemory.egg-info/entry_points.txt
|
|
11
|
+
src/superlocalmemory.egg-info/requires.txt
|
|
12
|
+
src/superlocalmemory.egg-info/top_level.txt
|
|
13
|
+
src/superlocalmemory/attribution/__init__.py
|
|
14
|
+
src/superlocalmemory/attribution/mathematical_dna.py
|
|
15
|
+
src/superlocalmemory/attribution/signer.py
|
|
16
|
+
src/superlocalmemory/attribution/watermark.py
|
|
17
|
+
src/superlocalmemory/cli/__init__.py
|
|
18
|
+
src/superlocalmemory/cli/commands.py
|
|
19
|
+
src/superlocalmemory/cli/main.py
|
|
20
|
+
src/superlocalmemory/cli/migrate_cmd.py
|
|
21
|
+
src/superlocalmemory/cli/post_install.py
|
|
22
|
+
src/superlocalmemory/cli/setup_wizard.py
|
|
23
|
+
src/superlocalmemory/compliance/__init__.py
|
|
24
|
+
src/superlocalmemory/compliance/abac.py
|
|
25
|
+
src/superlocalmemory/compliance/audit.py
|
|
26
|
+
src/superlocalmemory/compliance/eu_ai_act.py
|
|
27
|
+
src/superlocalmemory/compliance/gdpr.py
|
|
28
|
+
src/superlocalmemory/compliance/lifecycle.py
|
|
29
|
+
src/superlocalmemory/compliance/retention.py
|
|
30
|
+
src/superlocalmemory/compliance/scheduler.py
|
|
31
|
+
src/superlocalmemory/core/__init__.py
|
|
32
|
+
src/superlocalmemory/core/config.py
|
|
33
|
+
src/superlocalmemory/core/embeddings.py
|
|
34
|
+
src/superlocalmemory/core/engine.py
|
|
35
|
+
src/superlocalmemory/core/hooks.py
|
|
36
|
+
src/superlocalmemory/core/maintenance.py
|
|
37
|
+
src/superlocalmemory/core/modes.py
|
|
38
|
+
src/superlocalmemory/core/profiles.py
|
|
39
|
+
src/superlocalmemory/core/registry.py
|
|
40
|
+
src/superlocalmemory/dynamics/__init__.py
|
|
41
|
+
src/superlocalmemory/dynamics/fisher_langevin_coupling.py
|
|
42
|
+
src/superlocalmemory/encoding/__init__.py
|
|
43
|
+
src/superlocalmemory/encoding/consolidator.py
|
|
44
|
+
src/superlocalmemory/encoding/emotional.py
|
|
45
|
+
src/superlocalmemory/encoding/entity_resolver.py
|
|
46
|
+
src/superlocalmemory/encoding/entropy_gate.py
|
|
47
|
+
src/superlocalmemory/encoding/fact_extractor.py
|
|
48
|
+
src/superlocalmemory/encoding/foresight.py
|
|
49
|
+
src/superlocalmemory/encoding/graph_builder.py
|
|
50
|
+
src/superlocalmemory/encoding/observation_builder.py
|
|
51
|
+
src/superlocalmemory/encoding/scene_builder.py
|
|
52
|
+
src/superlocalmemory/encoding/signal_inference.py
|
|
53
|
+
src/superlocalmemory/encoding/temporal_parser.py
|
|
54
|
+
src/superlocalmemory/encoding/type_router.py
|
|
55
|
+
src/superlocalmemory/hooks/__init__.py
|
|
56
|
+
src/superlocalmemory/hooks/auto_capture.py
|
|
57
|
+
src/superlocalmemory/hooks/auto_recall.py
|
|
58
|
+
src/superlocalmemory/hooks/ide_connector.py
|
|
59
|
+
src/superlocalmemory/hooks/rules_engine.py
|
|
60
|
+
src/superlocalmemory/infra/__init__.py
|
|
61
|
+
src/superlocalmemory/infra/auth_middleware.py
|
|
62
|
+
src/superlocalmemory/infra/backup.py
|
|
63
|
+
src/superlocalmemory/infra/cache_manager.py
|
|
64
|
+
src/superlocalmemory/infra/event_bus.py
|
|
65
|
+
src/superlocalmemory/infra/rate_limiter.py
|
|
66
|
+
src/superlocalmemory/infra/webhook_dispatcher.py
|
|
67
|
+
src/superlocalmemory/learning/__init__.py
|
|
68
|
+
src/superlocalmemory/learning/adaptive.py
|
|
69
|
+
src/superlocalmemory/learning/behavioral.py
|
|
70
|
+
src/superlocalmemory/learning/behavioral_listener.py
|
|
71
|
+
src/superlocalmemory/learning/bootstrap.py
|
|
72
|
+
src/superlocalmemory/learning/cross_project.py
|
|
73
|
+
src/superlocalmemory/learning/database.py
|
|
74
|
+
src/superlocalmemory/learning/engagement.py
|
|
75
|
+
src/superlocalmemory/learning/features.py
|
|
76
|
+
src/superlocalmemory/learning/feedback.py
|
|
77
|
+
src/superlocalmemory/learning/outcomes.py
|
|
78
|
+
src/superlocalmemory/learning/project_context.py
|
|
79
|
+
src/superlocalmemory/learning/ranker.py
|
|
80
|
+
src/superlocalmemory/learning/source_quality.py
|
|
81
|
+
src/superlocalmemory/learning/workflows.py
|
|
82
|
+
src/superlocalmemory/llm/__init__.py
|
|
83
|
+
src/superlocalmemory/llm/backbone.py
|
|
84
|
+
src/superlocalmemory/math/__init__.py
|
|
85
|
+
src/superlocalmemory/math/fisher.py
|
|
86
|
+
src/superlocalmemory/math/langevin.py
|
|
87
|
+
src/superlocalmemory/math/sheaf.py
|
|
88
|
+
src/superlocalmemory/mcp/__init__.py
|
|
89
|
+
src/superlocalmemory/mcp/resources.py
|
|
90
|
+
src/superlocalmemory/mcp/server.py
|
|
91
|
+
src/superlocalmemory/mcp/tools.py
|
|
92
|
+
src/superlocalmemory/mcp/tools_core.py
|
|
93
|
+
src/superlocalmemory/mcp/tools_v28.py
|
|
94
|
+
src/superlocalmemory/mcp/tools_v3.py
|
|
95
|
+
src/superlocalmemory/retrieval/__init__.py
|
|
96
|
+
src/superlocalmemory/retrieval/agentic.py
|
|
97
|
+
src/superlocalmemory/retrieval/ann_index.py
|
|
98
|
+
src/superlocalmemory/retrieval/bm25_channel.py
|
|
99
|
+
src/superlocalmemory/retrieval/bridge_discovery.py
|
|
100
|
+
src/superlocalmemory/retrieval/engine.py
|
|
101
|
+
src/superlocalmemory/retrieval/entity_channel.py
|
|
102
|
+
src/superlocalmemory/retrieval/fusion.py
|
|
103
|
+
src/superlocalmemory/retrieval/profile_channel.py
|
|
104
|
+
src/superlocalmemory/retrieval/reranker.py
|
|
105
|
+
src/superlocalmemory/retrieval/semantic_channel.py
|
|
106
|
+
src/superlocalmemory/retrieval/strategy.py
|
|
107
|
+
src/superlocalmemory/retrieval/temporal_channel.py
|
|
108
|
+
src/superlocalmemory/server/__init__.py
|
|
109
|
+
src/superlocalmemory/server/api.py
|
|
110
|
+
src/superlocalmemory/server/security_middleware.py
|
|
111
|
+
src/superlocalmemory/server/ui.py
|
|
112
|
+
src/superlocalmemory/server/routes/__init__.py
|
|
113
|
+
src/superlocalmemory/server/routes/agents.py
|
|
114
|
+
src/superlocalmemory/server/routes/backup.py
|
|
115
|
+
src/superlocalmemory/server/routes/behavioral.py
|
|
116
|
+
src/superlocalmemory/server/routes/compliance.py
|
|
117
|
+
src/superlocalmemory/server/routes/data_io.py
|
|
118
|
+
src/superlocalmemory/server/routes/events.py
|
|
119
|
+
src/superlocalmemory/server/routes/helpers.py
|
|
120
|
+
src/superlocalmemory/server/routes/learning.py
|
|
121
|
+
src/superlocalmemory/server/routes/lifecycle.py
|
|
122
|
+
src/superlocalmemory/server/routes/memories.py
|
|
123
|
+
src/superlocalmemory/server/routes/profiles.py
|
|
124
|
+
src/superlocalmemory/server/routes/stats.py
|
|
125
|
+
src/superlocalmemory/server/routes/v3_api.py
|
|
126
|
+
src/superlocalmemory/server/routes/ws.py
|
|
127
|
+
src/superlocalmemory/storage/__init__.py
|
|
128
|
+
src/superlocalmemory/storage/access_control.py
|
|
129
|
+
src/superlocalmemory/storage/database.py
|
|
130
|
+
src/superlocalmemory/storage/migrations.py
|
|
131
|
+
src/superlocalmemory/storage/models.py
|
|
132
|
+
src/superlocalmemory/storage/schema.py
|
|
133
|
+
src/superlocalmemory/storage/v2_migrator.py
|
|
134
|
+
src/superlocalmemory/trust/__init__.py
|
|
135
|
+
src/superlocalmemory/trust/gate.py
|
|
136
|
+
src/superlocalmemory/trust/provenance.py
|
|
137
|
+
src/superlocalmemory/trust/scorer.py
|
|
138
|
+
src/superlocalmemory/trust/signals.py
|
|
139
|
+
tests/test_auto_hooks.py
|
|
140
|
+
tests/test_behavioral_full.py
|
|
141
|
+
tests/test_cli.py
|
|
142
|
+
tests/test_compliance_full.py
|
|
143
|
+
tests/test_config_system.py
|
|
144
|
+
tests/test_engine_hooks.py
|
|
145
|
+
tests/test_event_bus.py
|
|
146
|
+
tests/test_features.py
|
|
147
|
+
tests/test_final_locomo_mini.py
|
|
148
|
+
tests/test_ide_connector.py
|
|
149
|
+
tests/test_infra.py
|
|
150
|
+
tests/test_learning_advanced.py
|
|
151
|
+
tests/test_learning_collectors.py
|
|
152
|
+
tests/test_llm_provider.py
|
|
153
|
+
tests/test_mcp_server.py
|
|
154
|
+
tests/test_migration.py
|
|
155
|
+
tests/test_post_install.py
|
|
156
|
+
tests/test_ranker.py
|
|
157
|
+
tests/test_trust_full.py
|
|
158
|
+
tests/test_v3_api.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
httpx>=0.24.0
|
|
2
|
+
numpy<3.0.0,>=1.26.0
|
|
3
|
+
scipy<2.0.0,>=1.12.0
|
|
4
|
+
networkx>=3.0
|
|
5
|
+
mcp>=1.0.0
|
|
6
|
+
python-dateutil>=2.9.0.post0
|
|
7
|
+
rank-bm25>=0.2.2
|
|
8
|
+
vadersentiment>=3.3.2
|
|
9
|
+
|
|
10
|
+
[dev]
|
|
11
|
+
pytest>=8.0
|
|
12
|
+
pytest-cov>=4.1
|
|
13
|
+
|
|
14
|
+
[full]
|
|
15
|
+
superlocalmemory[learning,performance,search,ui]
|
|
16
|
+
|
|
17
|
+
[learning]
|
|
18
|
+
lightgbm<5.0.0,>=4.0.0
|
|
19
|
+
|
|
20
|
+
[performance]
|
|
21
|
+
diskcache<6.0.0,>=5.6.0
|
|
22
|
+
orjson<4.0.0,>=3.9.0
|
|
23
|
+
|
|
24
|
+
[search]
|
|
25
|
+
sentence-transformers<4.0.0,>=2.5.0
|
|
26
|
+
torch>=2.2.0
|
|
27
|
+
scikit-learn<2.0.0,>=1.3.0
|
|
28
|
+
geoopt>=0.5.0
|
|
29
|
+
|
|
30
|
+
[ui]
|
|
31
|
+
fastapi<1.0.0,>=0.109.0
|
|
32
|
+
uvicorn[standard]<1.0.0,>=0.27.0
|
|
33
|
+
python-multipart<1.0.0,>=0.0.6
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
superlocalmemory
|