@hmanlab/memo 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -2
- package/dist/cli.js +36902 -351
- package/dist/memo-mcp-server.js +38242 -1379
- package/package.json +23 -2
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ account, no telemetry.
|
|
|
12
12
|
|
|
13
13
|
## What's in the box (v1.0.0)
|
|
14
14
|
|
|
15
|
-
### MCP tools (
|
|
15
|
+
### MCP tools (35)
|
|
16
16
|
- **Persona (11):** `persona_list`, `persona_get`, `persona_create`,
|
|
17
17
|
`persona_update`, `persona_delete`, `persona_clone`,
|
|
18
18
|
`persona_reload`, `user_persona_get`, `user_persona_update`
|
|
@@ -50,6 +50,46 @@ The CLI auto-installs Bun if missing and registers the MCP bundle
|
|
|
50
50
|
under `~/.local/share/hl-plugins/memo/`, then wires it into
|
|
51
51
|
`~/.claude.json`.
|
|
52
52
|
|
|
53
|
+
### Optional: the MiniLM embedder
|
|
54
|
+
|
|
55
|
+
`hl-plugins install memo` prompts once before completing the install:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
? MiniLM-L6-v2 (~25 MB) powers semantic search so paraphrase and typo queries
|
|
59
|
+
still hit the right memory.
|
|
60
|
+
|
|
61
|
+
With it: 73.3% recall@5
|
|
62
|
+
Without it: paraphrase queries drop to ~30%
|
|
63
|
+
(30-seed eval across coding, glossary, and preferences)
|
|
64
|
+
|
|
65
|
+
Enable? [Y/n]:
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
- **Y (default):** the install writes `embedder_mode: minilm` to
|
|
69
|
+
`~/.hmanlab/config.yaml`. The model downloads lazily on the next
|
|
70
|
+
`memory_save` / `memory_search` call (~25 MB, ~2 s warmup, then ~50 ms
|
|
71
|
+
per query). The choice is committed — there's no "did it really install?"
|
|
72
|
+
follow-up.
|
|
73
|
+
- **n:** the install writes `embedder_mode: hash` and `loadExtractor()`
|
|
74
|
+
short-circuits on every subsequent call. The model is **never** downloaded
|
|
75
|
+
or referenced.
|
|
76
|
+
- **Non-interactive installs** (CI, scripts piped via `| sh`): the prompt is
|
|
77
|
+
skipped and treated as Yes. Run `hmanlab-memory embedder disable`
|
|
78
|
+
afterwards if you want to flip it without re-installing.
|
|
79
|
+
|
|
80
|
+
Change your mind any time:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
hmanlab-memory embedder status # show current mode
|
|
84
|
+
hmanlab-memory embedder install # switch to minilm (lazy download on next memory call)
|
|
85
|
+
hmanlab-memory embedder disable # switch to hash (no download, ever)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The mode is stored under `embedder_mode` in `~/.hmanlab/config.yaml`. Three
|
|
89
|
+
values: `minilm` (require the real model), `hash` (use the deterministic
|
|
90
|
+
trigram fallback), `auto` (try MiniLM, fall back to hash on failure —
|
|
91
|
+
default if the key is absent).
|
|
92
|
+
|
|
53
93
|
## CLI quickstart
|
|
54
94
|
|
|
55
95
|
```bash
|
|
@@ -70,9 +110,11 @@ Full CLI reference: [`docs/USAGE.md`](./docs/USAGE.md).
|
|
|
70
110
|
|
|
71
111
|
```
|
|
72
112
|
~/.hmanlab/
|
|
73
|
-
├── config.yaml # cwd_auto_detect, persona_filter_mode,
|
|
113
|
+
├── config.yaml # cwd_auto_detect, persona_filter_mode, embedder_mode
|
|
74
114
|
├── root.db # user_persona, ai_personas, projects,
|
|
75
115
|
│ # global_memories (+ _fts + _edges), schema migrations
|
|
116
|
+
├── models/ # MiniLM-L6-v2 q8 (~25 MB), lazy-downloaded on first use
|
|
117
|
+
│ └── Xenova/all-MiniLM-L6-v2/...
|
|
76
118
|
├── personas/ # persona YAML files (built-in + user)
|
|
77
119
|
│ ├── default.yaml
|
|
78
120
|
│ ├── work.yaml # parent: default
|