superlocalmemory 4.1.20 → 4.1.22
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 +3 -3
- package/CHANGELOG.md +217 -0
- package/README.md +258 -58
- package/package.json +3 -1
- package/plugin/.claude-plugin/plugin.json +2 -2
- package/plugin/.cursor-plugin/plugin.json +24 -0
- 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/assets/logo.svg +36 -0
- package/plugin/cursor-skills/slm-bot-memory/SKILL.md +139 -0
- package/plugin/cursor-skills/slm-getting-started-bot/SKILL.md +138 -0
- package/plugin/cursor-skills/slm-recall/SKILL.md +333 -0
- package/plugin/cursor-skills/slm-remember/SKILL.md +273 -0
- package/plugin/cursor-skills/slm-scope/SKILL.md +176 -0
- package/plugin/cursor-skills/slm-session/SKILL.md +271 -0
- package/plugin/hooks/hooks.json +9 -9
- package/plugin/mcp.cursor.json +23 -0
- package/plugin/requirements-cpu-torch.txt +13 -0
- package/plugin/requirements.txt +1 -1
- package/plugin/scripts/ensure-venv.sh +45 -3
- package/plugin/scripts/slm-launch +93 -9
- package/plugin/scripts/torch-cpu-resolve.sh +86 -0
- package/plugin/skills/slm-bot-memory/SKILL.md +139 -0
- package/plugin/skills/slm-cache/SKILL.md +1 -1
- package/plugin/skills/slm-compress/SKILL.md +1 -1
- package/plugin/skills/slm-getting-started-bot/SKILL.md +138 -0
- 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 +5 -4
- 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-bot-memory/SKILL.md +139 -0
- 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-getting-started-bot/SKILL.md +138 -0
- 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 +5 -4
- 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/scripts/postinstall.js +107 -0
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"author": {
|
|
10
10
|
"name": "Qualixar"
|
|
11
11
|
},
|
|
12
|
-
"description": "Local-first agent memory + reversible context compression and KV cache, as an MCP server.
|
|
12
|
+
"description": "Local-first agent memory + reversible context compression and KV cache, as an MCP server. Serves the 56-tool full profile by default; set SLM_MCP_PROFILE=code for the 38-tool code profile.",
|
|
13
13
|
"homepage": "https://github.com/qualixar/superlocalmemory",
|
|
14
14
|
"keywords": [
|
|
15
15
|
"memory",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"license": "AGPL-3.0-or-later",
|
|
22
22
|
"name": "superlocalmemory",
|
|
23
23
|
"source": "./plugin",
|
|
24
|
-
"version": "4.1.
|
|
24
|
+
"version": "4.1.22"
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"author": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"license": "AGPL-3.0-or-later",
|
|
40
40
|
"name": "superlocalmemory-codex",
|
|
41
41
|
"source": "./codex-plugin",
|
|
42
|
-
"version": "4.1.
|
|
42
|
+
"version": "4.1.22"
|
|
43
43
|
}
|
|
44
44
|
]
|
|
45
45
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,223 @@ All notable changes to SuperLocalMemory will be documented in this file.
|
|
|
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).
|
|
7
7
|
|
|
8
|
+
## [4.1.22] — Faster recall from the first second, memories that stay findable, deletes you can trust
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Filter by exact tags.** `recall`, `search`, `list` and `slm recall/list`
|
|
13
|
+
take a tag filter, over MCP, HTTP and the daemon proxy. A tag filter searches
|
|
14
|
+
inside the tagged memories and says why a result is empty.
|
|
15
|
+
- **Switch the embedding model without losing recall.** `slm embedder`
|
|
16
|
+
re-indexes in the background, keeps the previous vectors, gives way to
|
|
17
|
+
recall while it works, resumes after a crash and can roll back.
|
|
18
|
+
- **Model recommendations for this computer.** A model catalogue with current
|
|
19
|
+
defaults and each local model's result in SLM's extraction test; the setup
|
|
20
|
+
wizard offers your installed Ollama models, best first, and `slm models` and
|
|
21
|
+
the dashboard suggest installed and recommended models.
|
|
22
|
+
- **Every recall says whether its answer was checked**: supported,
|
|
23
|
+
unsupported or unjudged, and why.
|
|
24
|
+
- **`slm db integrity` and `slm db repair`** show store health in five parts
|
|
25
|
+
and fix leftover rows, erased words, unfinished deletes and memories that
|
|
26
|
+
lost their searchable fact, with receipts and undo. A repair never brings
|
|
27
|
+
back anything that was erased, deleted or withheld.
|
|
28
|
+
- **`slm corrections overtaken`** lists corrections SLM had only proposed
|
|
29
|
+
itself that a delete, replace or edit overtook; `restore-overtaken` puts one
|
|
30
|
+
back.
|
|
31
|
+
- Older memories in an upgraded store are classified by kind once, on this
|
|
32
|
+
device, in the background.
|
|
33
|
+
- SuperLocalMemory installs as a Cursor-format plugin for Grok Bot, with a
|
|
34
|
+
low-RAM profile for shared bot hosts and two skills for bots sharing one
|
|
35
|
+
computer.
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- **Recall is about 2.6 times faster, with the same answers.** On a copy of a
|
|
40
|
+
real store, typical recall went from 849 ms to 321 ms (slowest 5%: 1.2 s to
|
|
41
|
+
0.49 s), and on 124 held-out questions from 923 ms to 340 ms (slowest 5%:
|
|
42
|
+
2.0 s to 0.77 s). Every speed change returns the same top ten memories as
|
|
43
|
+
before on all 184 test questions.
|
|
44
|
+
- **Fast from the first second after a start, and while you save.** The store
|
|
45
|
+
is read into memory once at start, graph rankings and stored vectors are
|
|
46
|
+
prepared in separate background processes, background work yields to a
|
|
47
|
+
running recall at fine grain, requests no longer open the database to check
|
|
48
|
+
the login setting, and several slow store queries now use indexes. On a
|
|
49
|
+
22,000-memory store with the answer check on, a recall every second and a
|
|
50
|
+
save every half second: recalls slower than 3 s went from 13 of 318 to 7 of
|
|
51
|
+
297, with none in the first minute after a start (3 before), and saves slower
|
|
52
|
+
than 1.5 s from 7 of 56 to 1 of 87.
|
|
53
|
+
- **Background enrichment keeps up.** Saved memories finish enrichment while
|
|
54
|
+
you keep recalling, instead of waiting for a quiet moment that never came:
|
|
55
|
+
about six times as many per minute under steady recall.
|
|
56
|
+
- **A stated rule answers a yes/no permission question.** "May the agent
|
|
57
|
+
publish without approval?" is answered by a memory that says "Never publish
|
|
58
|
+
until the owner approves", with the same answer-check threshold as before;
|
|
59
|
+
the answer says it came from a rule. A rule about one named thing does not
|
|
60
|
+
answer a general question.
|
|
61
|
+
- A memory that says it corrects an earlier one keeps that suggestion when the
|
|
62
|
+
model's check is unsure.
|
|
63
|
+
- Local models copy the extraction prompt's example into your memories no
|
|
64
|
+
more, and invent fewer dates and numbers (llama3.2: sources with a fact the
|
|
65
|
+
source did not support went from 36 to 22 of 102; gemma3:4b from 1 to 0;
|
|
66
|
+
qwen2.5:7b 6 before, 7 now).
|
|
67
|
+
- A fresh install (and CI) starts in Mode A.
|
|
68
|
+
- `slm --json` and MCP tool responses are no longer pretty-printed.
|
|
69
|
+
|
|
70
|
+
### Fixed
|
|
71
|
+
|
|
72
|
+
- **A note that looked like an older one no longer loses its searchable fact.**
|
|
73
|
+
Enrichment deleted a new memory's only fact when it resembled another
|
|
74
|
+
memory's, so notes that differed only in a number or a declared kind could
|
|
75
|
+
not be found a moment after saving. `slm db repair` gives existing ones back.
|
|
76
|
+
- **A question that mentions a time like "recently" still finds an older
|
|
77
|
+
memory it matches**, instead of returning nothing.
|
|
78
|
+
- **A memory you save stays findable while SLM's own guess that it updates an
|
|
79
|
+
older one waits for review.** Approving the guess retires the older memory;
|
|
80
|
+
rejecting it keeps both. In one real store this made 406 saved memories
|
|
81
|
+
findable again; how often the right memory comes first is unchanged.
|
|
82
|
+
- **Saves are not refused when the computer briefly stalls**, and a save
|
|
83
|
+
acknowledged just before the service was killed is enriched as soon as it
|
|
84
|
+
restarts.
|
|
85
|
+
- **Deleting and erasing.** Erasing a memory removes its words everywhere
|
|
86
|
+
(keyword index, journal, event previews, entity summaries, logs, soft-forget
|
|
87
|
+
copies, vectors kept for a model switch). Erasing a person also erases the
|
|
88
|
+
memories they corrected, and erasing a whole profile no longer stops partway.
|
|
89
|
+
A delete refused at the last moment no longer leaves a memory unfindable.
|
|
90
|
+
Deleting a profile moves its memories to default, still findable, linked and
|
|
91
|
+
correctable.
|
|
92
|
+
- A save sees the people and things it just added, so it does not create them
|
|
93
|
+
twice; a cancelled save leaves no trace in recall's lookups.
|
|
94
|
+
- A background computation that times out, or whose service was stopped, no
|
|
95
|
+
longer keeps running.
|
|
96
|
+
- Two recalls at the same moment are both reranked.
|
|
97
|
+
- Measurements like 2004.6 ms are kept as measurements, never turned into
|
|
98
|
+
dates.
|
|
99
|
+
- Bounded Loops runs with a node that never ran (an approval or a join) are no
|
|
100
|
+
longer rejected, and a gate verdict must be a real true or false.
|
|
101
|
+
- The first memory call after a fresh start waits for SLM to finish starting;
|
|
102
|
+
a tool call no longer waits 60 s when two starts race; stopping a daemon
|
|
103
|
+
stuck in start-up no longer hangs.
|
|
104
|
+
- Windows: SLM notices a stopped daemon at once, and Codex and Claude Code
|
|
105
|
+
hooks run SLM's own command.
|
|
106
|
+
- Linux hosts with no GPU install CPU-only torch.
|
|
107
|
+
- The remote listener closes a connection that floods data before its first
|
|
108
|
+
request; which cached answers get re-checked can no longer be predicted from
|
|
109
|
+
outside this install.
|
|
110
|
+
- Plugin listings state the tool counts they really serve; the Hermes plugin
|
|
111
|
+
reaches the new `slm models`, `slm corrections` and `slm embedder` commands.
|
|
112
|
+
|
|
113
|
+
### Known issues
|
|
114
|
+
|
|
115
|
+
- On very large stores under heavy saving, a few recalls can still take longer
|
|
116
|
+
than 3 s while the store is busy committing a large write.
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
## [4.1.21] — Recall that knows your project, and memories that stay findable
|
|
120
|
+
|
|
121
|
+
### Added
|
|
122
|
+
|
|
123
|
+
- **Recall knows your project** (#150). Memories saved for the project you are
|
|
124
|
+
working in rank ahead of cross-project trivia; `project=` filters to one
|
|
125
|
+
project, and a filter that matched nothing says so instead of returning an
|
|
126
|
+
empty list. Recall trace explains the same order recall returns.
|
|
127
|
+
- **Saved views and summaries** (#113). Save a recall query as a named view and
|
|
128
|
+
re-run it from the CLI (`slm view`), MCP or the dashboard, with the same
|
|
129
|
+
answer from each. Daily, session and project summaries trace every line back
|
|
130
|
+
to the memories it came from.
|
|
131
|
+
- **`slm provider set custom`** (#112): point Mode B or Mode C at your own
|
|
132
|
+
OpenAI-compatible server (llama.cpp, vLLM, LM Studio) from the CLI, with or
|
|
133
|
+
without a key. Its connection test goes through the same no-redirect gate as
|
|
134
|
+
every other request.
|
|
135
|
+
- **Measure answer quality on your own memories.** Label your own questions and
|
|
136
|
+
see whether the right memory comes first, and set each answer check's
|
|
137
|
+
threshold from your own results instead of a default.
|
|
138
|
+
|
|
139
|
+
### Changed
|
|
140
|
+
|
|
141
|
+
- **The same question returns the same memories every time.** Linking
|
|
142
|
+
memories through the people, projects and things they share used to stop at
|
|
143
|
+
a time limit, so a busy machine could return different memories for the same
|
|
144
|
+
question. It now does a fixed amount of work in a fixed order, and a
|
|
145
|
+
background fill of the entity index after the upgrade keeps it fast. Until
|
|
146
|
+
that fill finishes, a few minutes after the first start, recall uses the
|
|
147
|
+
exact scan, which can be slower on a busy machine.
|
|
148
|
+
- **Better first answers.** Memories a search actually found can no longer be
|
|
149
|
+
pushed out of the reranker's shortlist by loosely related neighbours, and
|
|
150
|
+
when the reranker clearly puts one memory first, recency and quality
|
|
151
|
+
adjustments can only break near-ties, not overturn it. On a large real
|
|
152
|
+
store: right memory first on 27 of 50 questions (was 23), and the right
|
|
153
|
+
memory in the top 3 on 17 of 97 held-out questions (was 11).
|
|
154
|
+
- A question that resembles none of your memories no longer gets graph matches
|
|
155
|
+
started from unrelated memories, so the result is the same with and without
|
|
156
|
+
the vector extension.
|
|
157
|
+
- **The semantic cache makes the same choice on every platform and every
|
|
158
|
+
run.** After a run of correct hits it serves a stored answer at similarity
|
|
159
|
+
0.98 and above every time, where before it skipped it at random (up to 43% of
|
|
160
|
+
the time at 0.98).
|
|
161
|
+
- **Modes are named by what you get, not by a vendor** (#112), in setup, the
|
|
162
|
+
CLI and the dashboard.
|
|
163
|
+
- **Remote access works on the key's profile for every tool**, whatever profile
|
|
164
|
+
this computer is using.
|
|
165
|
+
- In Settings, ticking a Jev option while Laya is chosen asks whether to
|
|
166
|
+
switch; "Try it" shows where the time went; a memory kind below the shared
|
|
167
|
+
confidence threshold shows as unconfirmed.
|
|
168
|
+
- The dashboard's live events show saved, captured, corrected and deleted
|
|
169
|
+
memories from every surface, and its filter offers only events SLM sends.
|
|
170
|
+
- Every dashboard text meets readable contrast in light and dark themes.
|
|
171
|
+
- The README leads with the answer check (Laya on your Mac, Jev on Windows,
|
|
172
|
+
Linux and macOS), lists platform support plainly, and brings back the
|
|
173
|
+
architecture diagram and the walkthrough video.
|
|
174
|
+
|
|
175
|
+
### Fixed
|
|
176
|
+
|
|
177
|
+
- **Background maintenance no longer moves memories you still use into the
|
|
178
|
+
archive**, where recall could not find them. On a large store most memories
|
|
179
|
+
had drifted there, and questions about them came back with the wrong answer
|
|
180
|
+
or none.
|
|
181
|
+
- A question about a version number ("what changed in 4.1.20") finds the memory
|
|
182
|
+
about that version.
|
|
183
|
+
- A new or changed link is used by the next recall instead of a cached answer.
|
|
184
|
+
- Erasure: unfinished deletions are re-checked and closed in every profile,
|
|
185
|
+
back off instead of retrying forever, heal entity erasures, and an unreadable
|
|
186
|
+
vector store never counts as erased (PR #149, thanks @bgausden). `slm ops`
|
|
187
|
+
and the Ops Health page say what each entry is and what to do.
|
|
188
|
+
- `slm ops resolve` rejects a bad operation ID cleanly instead of crashing
|
|
189
|
+
(#148); a broken daemon response is no longer reported as a bad ID.
|
|
190
|
+
- Re-verified the Mode B / Ollama, daemon-start and migration fixes reported in
|
|
191
|
+
#128 and #125.
|
|
192
|
+
- On a computer shared by several accounts, SLM never sends data to, starts
|
|
193
|
+
against, or adopts another account's daemon.
|
|
194
|
+
- Restore points, backups, remote secrets, the answer-check key and config are
|
|
195
|
+
readable only by you, including files older versions left open.
|
|
196
|
+
- Remote access closes a connection that stalls before TLS within 10 seconds.
|
|
197
|
+
- Shutting down while another program holds the memory database no longer
|
|
198
|
+
fails; a save waiting for it is kept for the next start.
|
|
199
|
+
- **Windows:** output to a pipe or file is UTF-8 and never crashes on a
|
|
200
|
+
character; the dashboard and SLM's files read and write UTF-8; process checks
|
|
201
|
+
never send Ctrl+C; profiles, restores, embedding migrations, backups and the
|
|
202
|
+
benchmark close their database files so they can finish; the code graph
|
|
203
|
+
records forward-slash paths; bounded-loops receipts import; the Answer Check
|
|
204
|
+
demo says plainly that it needs an Apple silicon Mac.
|
|
205
|
+
- **macOS:** no native matrix factorization on the recall and cache paths can
|
|
206
|
+
corrupt process memory.
|
|
207
|
+
- **Windows:** `slm serve stop` and the idle timeout shut the daemon down
|
|
208
|
+
cleanly instead of killing it, so it leaves no stale state behind; a model
|
|
209
|
+
download started by the daemon's self-repair stops when the daemon stops.
|
|
210
|
+
- The Summaries picker lists projects saved on your memories, not only the
|
|
211
|
+
folders an agent worked in.
|
|
212
|
+
- Each dashboard page opens at its first line instead of under the top bar.
|
|
213
|
+
|
|
214
|
+
### Security
|
|
215
|
+
|
|
216
|
+
- Installs and upgrades get fsspec 2026.6.0 or later, which closes a remote
|
|
217
|
+
code execution advisory (GHSA-27vj-qcqg-25rc) in a package SLM uses
|
|
218
|
+
indirectly.
|
|
219
|
+
- `config.json` and the answer-check and feedback keys that an older release
|
|
220
|
+
left readable by other accounts are made private when SLM starts.
|
|
221
|
+
|
|
222
|
+
Thanks to @bgausden for the erasure fix in PR #149 and for #148 and #150, to
|
|
223
|
+
@tianjueak for #128, and to @unfall103-debug for #112, #113 and #125.
|
|
224
|
+
|
|
8
225
|
## [4.1.20] — Answers you can check, from any computer
|
|
9
226
|
|
|
10
227
|
### Added
|