memory-pulse-mcp-server 0.1.15 → 0.1.17

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 CHANGED
@@ -14,6 +14,33 @@
14
14
 
15
15
  ---
16
16
 
17
+ ## What's New
18
+
19
+ ### v0.1.16 - Smart Retrieval with Auto-Degradation
20
+
21
+ This release introduces a major upgrade to the retrieval engine. **Memory Pulse now guarantees you always get results** -- even when your query keywords don't exactly match stored content.
22
+
23
+ **Multi-Dimension Search** -- Searches across 5 dimensions simultaneously: `projectId`, `summary`, `fullText`, `tags`, and `keywords`. Any keyword matching any dimension counts as a hit.
24
+
25
+ **Smart Auto-Degradation** -- When no results are found, the engine automatically relaxes search conditions in two stages:
26
+
27
+ ```
28
+ Stage 1: Query matches nothing?
29
+ -> Remove keywords, return latest memories for the project
30
+
31
+ Stage 2: Still nothing?
32
+ -> Remove project filter, search globally
33
+ ```
34
+
35
+ This means `mpulse_recall` with a `projectId` will **never return empty** as long as that project has any memories stored -- no matter what query you use.
36
+
37
+ **Other improvements:**
38
+ - Auto-relationship building: new memories automatically link to related existing memories
39
+ - Improved PostgreSQL storage: `multiDimensionSearch` replaces legacy search methods
40
+ - Fixed `storeSolution` tags handling for PostgreSQL
41
+
42
+ ---
43
+
17
44
  ## Why Memory Pulse?
18
45
 
19
46
  ### The Problem with Existing AI Memory Solutions
@@ -30,26 +57,31 @@
30
57
  | Feature | Memory Pulse | mem0 | Zep | LangChain Memory |
31
58
  |---------|-------------|------|-----|------------------|
32
59
  | **Storage** | Full context (no compression) | Vector embeddings | Vector + Graph | Vector embeddings |
33
- | **Retrieval Strategy** | L1 Exact → L2 Full-text → L3 Semantic | Semantic only | Semantic + Temporal | Semantic only |
60
+ | **Retrieval** | Multi-dimension + auto-degradation | Semantic only | Semantic + Temporal | Semantic only |
61
+ | **Never Empty Recall** | Yes (auto-degradation) | No | No | No |
34
62
  | **Decision Tracking** | Forced structured fields | - | - | - |
63
+ | **Auto-Relationships** | Built-in | - | - | - |
35
64
  | **Relationship Graph** | Built-in | - | Built-in | - |
36
65
  | **Timeline View** | Built-in | - | Built-in | - |
37
66
  | **MCP Native** | Yes | - | - | - |
38
- | **Local-first** | SQLite | Cloud-dependent | Cloud-dependent | Varies |
67
+ | **Local-first** | SQLite + PostgreSQL | Cloud-dependent | Cloud-dependent | Varies |
39
68
  | **Zero Config** | Yes | - | - | - |
40
69
 
41
70
  ---
42
71
 
43
72
  ## Features
44
73
 
74
+ - **Always Gets Results** - Smart auto-degradation ensures you never get empty recalls
75
+ - **Multi-Dimension Search** - Searches across projectId, summary, fullText, tags, and keywords simultaneously
45
76
  - **Complete Context Preservation** - No compression, no information loss
46
- - **Multi-level Retrieval** - L1 Exact match → L2 Full-text search → L3 Semantic search
47
77
  - **Structured Memory Types** - Decision / Solution / Session / Code / Error / Config
78
+ - **Auto-Relationship Building** - New memories automatically link to related existing ones
48
79
  - **Relationship Chains** - Track how memories relate and evolve
49
80
  - **Timeline View** - See memory evolution over time
50
81
  - **Forced Structure** - AI must provide complete context (no lazy summaries)
51
- - **Local-first** - SQLite storage, your data stays with you
52
- - **Zero Config** - Works out of the box
82
+ - **Local-first** - SQLite storage by default, your data stays with you
83
+ - **PostgreSQL Support** - Scale to cloud for team usage
84
+ - **Zero Config** - Works out of the box with `npx`
53
85
 
54
86
  ---
55
87
 
@@ -337,38 +369,45 @@ Relationships:
337
369
 
338
370
  ## Retrieval Algorithm
339
371
 
340
- Memory Pulse uses a **3-level cascade retrieval strategy**:
372
+ Memory Pulse uses a **multi-dimension search with smart auto-degradation**:
341
373
 
342
374
  ```
343
- ┌─────────────────────────────────────────────────────┐
344
- User Query │
345
- └─────────────────────┬───────────────────────────────┘
346
-
347
- ┌─────────────────────────────────────────────────────┐
348
- │ L1: Exact Match (< 10ms) │
349
- │ - projectId + type + keywords index
350
- - Returns if matches ≥ 5
351
- └─────────────────────┬───────────────────────────────┘
352
- (if insufficient)
353
- ┌─────────────────────────────────────────────────────┐
354
- │ L2: Full-text Search (< 100ms)
355
- │ - SQLite FTS5 / PostgreSQL full-text │
356
- │ - Chinese + English tokenization
357
- - Returns if matches ≥ 3
358
- └─────────────────────┬───────────────────────────────┘
359
- ▼ (if insufficient)
360
- ┌─────────────────────────────────────────────────────┐
361
- │ L3: Semantic Search (< 500ms) │
362
- │ - Embedding similarity (optional)
363
- - Fallback for fuzzy queries
364
- └─────────────────────────────────────────────────────┘
375
+ ┌──────────────────────────────────────────────────────┐
376
+ User Query │
377
+ │ (query + projectId + filters) │
378
+ └──────────────────────┬───────────────────────────────┘
379
+
380
+ ┌──────────────────────────────────────────────────────┐
381
+ Multi-Dimension Search (< 100ms)
382
+ Searches 5 dimensions simultaneously:
383
+ │ projectId | summary | fullText | tags | keywords │
384
+ │ Any keyword matching any dimension = hit │
385
+ └──────────────────────┬───────────────────────────────┘
386
+ (if 0 results)
387
+ ┌──────────────────────────────────────────────────────┐
388
+ Auto-Degradation Stage 1
389
+ Remove query keywords, keep projectId
390
+ │ -> Returns latest memories for the project │
391
+ └──────────────────────┬───────────────────────────────┘
392
+ ▼ (if still 0 results)
393
+ ┌──────────────────────────────────────────────────────┐
394
+ Auto-Degradation Stage 2
395
+ Remove projectId filter, search globally
396
+ │ -> Returns latest memories across all projects │
397
+ └──────────────────────┬───────────────────────────────┘
398
+ ▼ (optional, if vector available)
399
+ ┌──────────────────────────────────────────────────────┐
400
+ │ Semantic Search Fallback │
401
+ │ Embedding similarity for fuzzy matching │
402
+ └──────────────────────────────────────────────────────┘
365
403
  ```
366
404
 
367
405
  **Why this approach?**
368
406
 
369
- - **Precision first**: Exact matches are faster and more accurate
370
- - **Graceful degradation**: Falls back to broader search when needed
371
- - **No false positives**: Semantic search is last resort, not default
407
+ - **Never empty**: Smart degradation guarantees results when memories exist
408
+ - **Precision first**: Multi-dimension exact matching before relaxing conditions
409
+ - **Graceful fallback**: Progressively broader search, not a sudden jump to fuzzy matching
410
+ - **Works with any language**: No tokenizer dependency, LIKE-based matching works with Chinese, English, and mixed content
372
411
 
373
412
  ---
374
413
 
@@ -415,8 +454,9 @@ Features:
415
454
  - [x] MCP Server core functionality
416
455
  - [x] SQLite local storage
417
456
  - [x] PostgreSQL cloud support
418
- - [x] Multi-level retrieval (Exact + Full-text)
457
+ - [x] Multi-dimension retrieval with smart auto-degradation
419
458
  - [x] Decision/Solution/Session structured storage
459
+ - [x] Auto-relationship building between memories
420
460
  - [x] Web Dashboard for visualization
421
461
  - [ ] CLI tool for manual operations
422
462
  - [ ] Semantic search (Embedding)