@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.
Files changed (4) hide show
  1. package/README.md +44 -2
  2. package/dist/cli.js +36902 -351
  3. package/dist/memo-mcp-server.js +38242 -1379
  4. 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 (33)
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, decay knobs
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