superlocalmemory 4.1.18 → 4.1.20
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 +183 -0
- package/README.md +132 -661
- package/bin/slm-npm +1 -1
- package/ide/configs/cursor-mcp.json +4 -1
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +2 -2
- package/plugin/.mcp.json +7 -2
- package/plugin/CLAUDE.md +4 -4
- 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.bat +5 -5
- package/plugin/scripts/ensure-venv.sh +27 -5
- 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 +4 -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 +22 -11
- 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 +4 -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 +47 -16
|
@@ -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. 38-tool code profile with graph intelligence.",
|
|
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.20"
|
|
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.20"
|
|
43
43
|
}
|
|
44
44
|
]
|
|
45
45
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,189 @@ 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.20] — Answers you can check, from any computer
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Answer Check tab** in the dashboard: which check is running, a "Try it" box
|
|
13
|
+
that shows raw results next to the verdict, how often SLM said "I don't have
|
|
14
|
+
that", time against the 3-second limit, and the recent checks with where each
|
|
15
|
+
recall's time went. History is kept 30 days on this machine; questions and
|
|
16
|
+
memories are never stored in it.
|
|
17
|
+
- **Answer-check settings anyone can use.** Each option says whether it is
|
|
18
|
+
ready and what to do next, has its own Test button with a visible result, and
|
|
19
|
+
one Save applies everything without a restart. Only the option you choose
|
|
20
|
+
runs: Laya on this Mac, or Jev online, never both. A setup that stalls stops
|
|
21
|
+
by itself and offers to use an install you already have.
|
|
22
|
+
- **Use SuperLocalMemory from another computer** (`slm remote`): an encrypted
|
|
23
|
+
listener that is off by default, a certificate helper, and named keys you can
|
|
24
|
+
revoke. Each key is read-only or read-write and is bound to one profile.
|
|
25
|
+
Remote callers never see this computer's paths, account or environment.
|
|
26
|
+
- **Hermes can use an SLM on another computer** (#138). A save that did not land
|
|
27
|
+
says NOT SAVED.
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- **The same question gets the same answer.** Learned ranking no longer
|
|
32
|
+
reshuffles results between runs, a repeat question keeps its top answer, and
|
|
33
|
+
the answer check gives the same verdict on a repeat. A check that did not run
|
|
34
|
+
says why.
|
|
35
|
+
- **Recall right after a save finds it.** On a fresh install, recall answers
|
|
36
|
+
while the embedding model is still loading, within 3 seconds, and says which
|
|
37
|
+
parts of the search were still warming instead of "No confident match".
|
|
38
|
+
- **Saves under heavy load are accepted and saved**, never refused. A save the
|
|
39
|
+
disk refuses says so.
|
|
40
|
+
- **Upgrades are faster.** An update copies only the databases it changes and
|
|
41
|
+
says how long that will take.
|
|
42
|
+
- Cross-scope recall reads only what it scores and seeds the graph from the
|
|
43
|
+
best matches (#146, #147).
|
|
44
|
+
- The README is rewritten for developers, with new guides for memory kinds,
|
|
45
|
+
recall and restore points.
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
- **macOS:** building the memory compression rotation no longer corrupts
|
|
50
|
+
process memory, which could crash SuperLocalMemory later at random.
|
|
51
|
+
- On Windows the plugin starts the SuperLocalMemory you installed (#139). The
|
|
52
|
+
plugin no longer requires Python 3.12 when it uses your installed `slm`
|
|
53
|
+
(#140), and its hooks find SuperLocalMemory wherever the plugin's server does
|
|
54
|
+
(#141).
|
|
55
|
+
- Saves accepted for another profile, or with `--replaces` while busy, are
|
|
56
|
+
completed after a restart. One unreadable saved memory no longer blocks
|
|
57
|
+
start-up. Re-running `slm remember` never stores the same memory twice.
|
|
58
|
+
- A data export includes everything: the whole code graph and every learning
|
|
59
|
+
record, from the CLI and the dashboard.
|
|
60
|
+
- A date range includes its last day; an unreadable time filter is refused
|
|
61
|
+
instead of ignored, on every surface.
|
|
62
|
+
- `slm warmup` reports PASS only when recall is ready. `slm list` shows each
|
|
63
|
+
memory's ID and kind. `slm delete` and `slm update` report an unknown ID as
|
|
64
|
+
not found. `slm remember --replaces` prints the exact undo command.
|
|
65
|
+
- The dashboard's Memory activity uses your local time zone; on a phone the
|
|
66
|
+
menu closes after you choose a page.
|
|
67
|
+
- Mesh peers can sync shared state again. Dashboard search finds the same
|
|
68
|
+
memories as recall. A shut-down embedding service stays shut.
|
|
69
|
+
- `slm recall` prints only results; error hints name commands that exist; an
|
|
70
|
+
unknown MCP tool profile is refused with the valid names; the
|
|
71
|
+
consistency-check notice is shown once.
|
|
72
|
+
|
|
73
|
+
### Security
|
|
74
|
+
|
|
75
|
+
- Other computers must sign in to read memory, not only to write it.
|
|
76
|
+
- On team workspaces, search, memory chat, recall trace, summary, timeline,
|
|
77
|
+
`slm list` and mesh reads all require read permission.
|
|
78
|
+
- Requests carried by a proxy are never treated as local unless you name a
|
|
79
|
+
trusted proxy.
|
|
80
|
+
- SuperLocalMemory's own requests never follow redirects, so a key is never
|
|
81
|
+
sent through one. A refused request never repeats the value it was sent.
|
|
82
|
+
- Restore points and remote keys are readable only by you, on macOS, Linux and
|
|
83
|
+
Windows.
|
|
84
|
+
|
|
85
|
+
### Upgrade notes
|
|
86
|
+
|
|
87
|
+
- The first start after upgrading writes a restore point and adds the Answer
|
|
88
|
+
Check history. `slm db prepare-downgrade` returns your data to 4.1.19 if
|
|
89
|
+
needed, and prints the exact install command.
|
|
90
|
+
|
|
91
|
+
## [4.1.19] — Memories know what kind they are
|
|
92
|
+
|
|
93
|
+
### Added
|
|
94
|
+
|
|
95
|
+
- **Nine memory kinds.** A memory can be a fact, an event, a current status, an
|
|
96
|
+
opinion, a standing rule, a decision, a how-to, a plan or a correction. You
|
|
97
|
+
or your agent can say which when saving (`kind` on `remember`, `--kind` on
|
|
98
|
+
the CLI); otherwise SLM suggests one. A suggestion changes nothing until
|
|
99
|
+
someone confirms it.
|
|
100
|
+
- **Standing rules at session start.** Rules and decisions you confirmed are
|
|
101
|
+
given to every new agent session, up to ten rules and five decisions.
|
|
102
|
+
Proposed, rejected, archived, quarantined and replaced items are never
|
|
103
|
+
included.
|
|
104
|
+
- **Classify existing memories** in the background (`slm kinds backfill`, or
|
|
105
|
+
HTTP), with progress, pause, cancel and an exact undo. It never changes a
|
|
106
|
+
kind you confirmed. Classifying online with Jev needs its own consent and a
|
|
107
|
+
confirmation that memory text leaves this machine.
|
|
108
|
+
- **Review and confirm kinds** from agents (four new tools in the default,
|
|
109
|
+
code, full and power tool sets), the CLI (`slm kinds set | review | confirm`)
|
|
110
|
+
and HTTP.
|
|
111
|
+
- **Ask for a kind of memory.** Recall, search and list take a `kind` filter.
|
|
112
|
+
"What did we decide" favours decisions, "how do I" favours how-tos, and "what
|
|
113
|
+
is the current state" puts the newest confirmed status or decision first.
|
|
114
|
+
Questions that ask for no particular kind are ranked exactly as before.
|
|
115
|
+
- **Narrow a recall** by project, by the agent that saved a memory, or by who
|
|
116
|
+
or what it is about (`project`, `saved_by`, `about`). The filter applies on
|
|
117
|
+
every recall path and before the answer check, so the check judges only what
|
|
118
|
+
you will see.
|
|
119
|
+
- **Say which memory a new one replaces.** `remember(..., replaces=<id>)`
|
|
120
|
+
retires the old memory (kept, never deleted) and recall shows the new one.
|
|
121
|
+
Undoing it through correction review brings the old memory back exactly.
|
|
122
|
+
It works with a per-request `profile_id` too: a client routed to its own
|
|
123
|
+
profile can replace a memory and undo it there (`review_correction` and
|
|
124
|
+
`list_corrections` take the same `profile_id`), without switching the
|
|
125
|
+
daemon's active profile.
|
|
126
|
+
- **Upgrades keep a verified copy you can go back to:** restore points, a
|
|
127
|
+
restore that also brings back memories saved since the copy, and a prepared
|
|
128
|
+
path back to the previous version (`slm db restore-points | restore |
|
|
129
|
+
prepare-downgrade`).
|
|
130
|
+
- **Encrypted cloud backups** (see Security), with `slm backup recovery-key` and
|
|
131
|
+
`slm backup decrypt`.
|
|
132
|
+
|
|
133
|
+
### Fixed
|
|
134
|
+
|
|
135
|
+
- **Recall never writes.** Asking about an unknown name no longer creates
|
|
136
|
+
entities or calls a model, which also removes a multi-second delay on the
|
|
137
|
+
first question about a new name.
|
|
138
|
+
- **Enrichment no longer gets stuck** on memories that hold credentials.
|
|
139
|
+
- **Memories blanked by an earlier release are repaired once**, after a
|
|
140
|
+
verified safety copy: their text, the facts searched from it, and wrongly
|
|
141
|
+
set "replaced" marks.
|
|
142
|
+
- **A restore never repeats a loss.** It deletes again only what you or a
|
|
143
|
+
privacy erasure deleted, works when the live store is damaged, refuses a copy
|
|
144
|
+
made by a newer version, keeps kinds you confirmed after the copy, keeps
|
|
145
|
+
erased profiles erased in learning data, and cannot be cancelled half-way
|
|
146
|
+
through. Its messages say what actually happened.
|
|
147
|
+
- **A kind you confirmed is never overwritten** by background work, and a
|
|
148
|
+
machine suggestion never changes a memory's type.
|
|
149
|
+
- **The same request gives the same answer on MCP, the CLI and HTTP**,
|
|
150
|
+
including refusals. Every `--json` command prints JSON on errors too.
|
|
151
|
+
- **The Hermes plugin works with the release it ships with**, and asks for
|
|
152
|
+
confirmation before `remember --replaces`.
|
|
153
|
+
- **Windows:** the test suite runs on Windows again, and a read timeout in the
|
|
154
|
+
embedding worker no longer freezes it.
|
|
155
|
+
- **npm install on Linux finds `python3.12` and newer** next to an older
|
|
156
|
+
`python3`, and honours `SLM_PYTHON`.
|
|
157
|
+
|
|
158
|
+
### Security
|
|
159
|
+
|
|
160
|
+
- **Credentials leave this machine redacted on every path.** One outbound gate
|
|
161
|
+
covers model providers, cloud embedders, summaries, the reranker, the
|
|
162
|
+
answer check, a LAN Ollama and mesh peers; a model provider's key is sent only
|
|
163
|
+
to that provider. Context given to agent sessions is redacted the same way,
|
|
164
|
+
with no last-four-character tails. Requests to this machine never go through
|
|
165
|
+
an environment proxy.
|
|
166
|
+
- **Cloud backups are encrypted on this machine before upload** to GitHub or
|
|
167
|
+
Google Drive. You get a recovery key; keep it to restore on another
|
|
168
|
+
machine. Backups made by earlier releases still restore.
|
|
169
|
+
- **Every new read route checks permission.**
|
|
170
|
+
- **Error responses no longer include file paths or internal messages.**
|
|
171
|
+
|
|
172
|
+
### Changed
|
|
173
|
+
|
|
174
|
+
- **Credentials you save are stored as written.** Up to 4.1.18, known key
|
|
175
|
+
formats were removed on save. SLM keeps them so your agents can recall them,
|
|
176
|
+
and redacts them on the way out.
|
|
177
|
+
- **Python 3.12 or newer is required**, and every check now says so.
|
|
178
|
+
- **Tool sets:** default and full 54 tools, code 38, power 66. The Antigravity
|
|
179
|
+
plugin uses the power set (within Antigravity's limit) and the Cursor
|
|
180
|
+
configuration uses the code set.
|
|
181
|
+
- **Recall's ceiling is 3.0 seconds** including the answer check.
|
|
182
|
+
|
|
183
|
+
### Known limits
|
|
184
|
+
|
|
185
|
+
- **Macs shared by several user accounts:** the per-account check is still not
|
|
186
|
+
in this release. Turn on company mode (Team → Access policy) on a shared Mac.
|
|
187
|
+
- **Classifying existing memories with a cloud model** uses on-device rules.
|
|
188
|
+
- **Drive does not rotate old backups**: delete plain-text backups made before
|
|
189
|
+
this release yourself.
|
|
190
|
+
|
|
8
191
|
## [4.1.18] — Recall can say "I don't have that"
|
|
9
192
|
|
|
10
193
|
### Added
|