vesper-memory 0.5.1 → 0.5.3
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 +85 -18
- package/config/claude-rules/memory-discipline.md +39 -0
- package/config/claude-rules/vesper.md +218 -0
- package/dist/cli.js +59 -0
- package/dist/cli.js.map +1 -1
- package/dist/router/smart-router.d.ts +9 -3
- package/dist/router/smart-router.d.ts.map +1 -1
- package/dist/router/smart-router.js +236 -57
- package/dist/router/smart-router.js.map +1 -1
- package/dist/server.js +127 -2
- package/dist/server.js.map +1 -1
- package/dist/utils/validation.d.ts +12 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +13 -0
- package/dist/utils/validation.js.map +1 -1
- package/package.json +1 -2
- package/dist/cli 2.js +0 -583
- package/dist/cli.d 2.ts +0 -8
- package/dist/cli.d.ts 2.map +0 -1
- package/dist/cli.js 2.map +0 -1
- package/dist/config 2/rate-limits.d.ts +0 -76
- package/dist/config 2/rate-limits.d.ts.map +0 -1
- package/dist/config 2/rate-limits.js +0 -161
- package/dist/config 2/rate-limits.js.map +0 -1
- package/dist/consolidation 2/pipeline.d.ts +0 -52
- package/dist/consolidation 2/pipeline.d.ts.map +0 -1
- package/dist/consolidation 2/pipeline.js +0 -193
- package/dist/consolidation 2/pipeline.js.map +0 -1
- package/dist/embeddings 2/client.d.ts +0 -94
- package/dist/embeddings 2/client.d.ts.map +0 -1
- package/dist/embeddings 2/client.js +0 -144
- package/dist/embeddings 2/client.js.map +0 -1
- package/dist/memory-layers 2/semantic-memory.d.ts +0 -33
- package/dist/memory-layers 2/semantic-memory.d.ts.map +0 -1
- package/dist/memory-layers 2/semantic-memory.js +0 -114
- package/dist/memory-layers 2/semantic-memory.js.map +0 -1
- package/dist/memory-layers 2/skill-library.d.ts +0 -25
- package/dist/memory-layers 2/skill-library.d.ts.map +0 -1
- package/dist/memory-layers 2/skill-library.js +0 -54
- package/dist/memory-layers 2/skill-library.js.map +0 -1
- package/dist/memory-layers 2/working-memory.d.ts +0 -57
- package/dist/memory-layers 2/working-memory.d.ts.map +0 -1
- package/dist/memory-layers 2/working-memory.js +0 -153
- package/dist/memory-layers 2/working-memory.js.map +0 -1
- package/dist/middleware 2/auth.d.ts +0 -287
- package/dist/middleware 2/auth.d.ts.map +0 -1
- package/dist/middleware 2/auth.js +0 -610
- package/dist/middleware 2/auth.js.map +0 -1
- package/dist/monitoring 2/health.d.ts +0 -241
- package/dist/monitoring 2/health.d.ts.map +0 -1
- package/dist/monitoring 2/health.js +0 -649
- package/dist/monitoring 2/health.js.map +0 -1
- package/dist/monitoring 2/metrics.d.ts +0 -153
- package/dist/monitoring 2/metrics.d.ts.map +0 -1
- package/dist/monitoring 2/metrics.js +0 -349
- package/dist/monitoring 2/metrics.js.map +0 -1
- package/dist/retrieval 2/hybrid-search.d.ts +0 -186
- package/dist/retrieval 2/hybrid-search.d.ts.map +0 -1
- package/dist/retrieval 2/hybrid-search.js +0 -327
- package/dist/retrieval 2/hybrid-search.js.map +0 -1
- package/dist/router 2/smart-router.d.ts +0 -111
- package/dist/router 2/smart-router.d.ts.map +0 -1
- package/dist/router 2/smart-router.js +0 -383
- package/dist/router 2/smart-router.js.map +0 -1
- package/dist/security 2/rate-limit-middleware.d.ts +0 -119
- package/dist/security 2/rate-limit-middleware.d.ts.map +0 -1
- package/dist/security 2/rate-limit-middleware.js +0 -193
- package/dist/security 2/rate-limit-middleware.js.map +0 -1
- package/dist/server 2.js +0 -861
- package/dist/server-wrapper 2.js +0 -170
- package/dist/server-wrapper.d 2.ts +0 -12
- package/dist/server-wrapper.d.ts 2.map +0 -1
- package/dist/server-wrapper.js 2.map +0 -1
- package/dist/server.d 2.ts +0 -14
- package/dist/server.d.ts 2.map +0 -1
- package/dist/server.js 2.map +0 -1
- package/dist/synthesis 2/conflict-detector.d.ts +0 -43
- package/dist/synthesis 2/conflict-detector.d.ts.map +0 -1
- package/dist/synthesis 2/conflict-detector.js +0 -125
- package/dist/synthesis 2/conflict-detector.js.map +0 -1
- package/dist/utils 2/monitoring.d.ts +0 -25
- package/dist/utils 2/monitoring.d.ts.map +0 -1
- package/dist/utils 2/monitoring.js +0 -41
- package/dist/utils 2/monitoring.js.map +0 -1
- package/dist/utils 2/rate-limiter.d.ts +0 -97
- package/dist/utils 2/rate-limiter.d.ts.map +0 -1
- package/dist/utils 2/rate-limiter.js +0 -166
- package/dist/utils 2/rate-limiter.js.map +0 -1
- package/dist/utils 2/validation.d.ts +0 -139
- package/dist/utils 2/validation.d.ts.map +0 -1
- package/dist/utils 2/validation.js +0 -195
- package/dist/utils 2/validation.js.map +0 -1
package/README.md
CHANGED
|
@@ -8,13 +8,31 @@ Simple, local memory system for Claude Code. No authentication, no complexity -
|
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/vesper-memory)
|
|
10
10
|
[](https://www.npmjs.com/package/vesper-memory)
|
|
11
|
-
[](.)
|
|
12
12
|
[](.)
|
|
13
13
|
[](.)
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
## ✨ What's New in v0.5.
|
|
17
|
+
## ✨ What's New in v0.5.2
|
|
18
|
+
|
|
19
|
+
**Delete Memory Tool**
|
|
20
|
+
- New `delete_memory` MCP tool to remove stored memories by ID
|
|
21
|
+
- Cleans up across all layers (SQLite, Qdrant, Redis) and orphaned facts
|
|
22
|
+
- 14 MCP tools total
|
|
23
|
+
|
|
24
|
+
**Smart Router Activated**
|
|
25
|
+
- SmartRouter now wired into `retrieve_memory` as primary retrieval path
|
|
26
|
+
- All 6 query type handlers fully implemented (was dead code)
|
|
27
|
+
- Factual queries use entity lookup + HippoRAG PageRank
|
|
28
|
+
- Temporal queries parse time ranges ("yesterday", "last week")
|
|
29
|
+
- Project queries use HippoRAG graph traversal (depth=2)
|
|
30
|
+
- Complex queries fall back to semantic search with RRF fusion
|
|
31
|
+
|
|
32
|
+
**936 tests passing** (up from 909 in v0.5.0)
|
|
33
|
+
|
|
34
|
+
<details>
|
|
35
|
+
<summary>v0.5.0 Changes</summary>
|
|
18
36
|
|
|
19
37
|
**Multi-Agent Namespace Isolation**
|
|
20
38
|
- All memory operations support `namespace` parameter for multi-agent workflows
|
|
@@ -28,6 +46,7 @@ Simple, local memory system for Claude Code. No authentication, no complexity -
|
|
|
28
46
|
**Decision Memory Type**
|
|
29
47
|
- New `memory_type: "decision"` with reduced temporal decay (4x slower)
|
|
30
48
|
- Supersedes mechanism for evolving decisions
|
|
49
|
+
</details>
|
|
31
50
|
- Automatic conflict detection against existing decisions
|
|
32
51
|
|
|
33
52
|
**4 New MCP Tools** (13 total)
|
|
@@ -36,7 +55,7 @@ Simple, local memory system for Claude Code. No authentication, no complexity -
|
|
|
36
55
|
- `list_namespaces`: Discover all namespaces with counts
|
|
37
56
|
- `namespace_stats`: Per-namespace breakdown of memories, entities, agents
|
|
38
57
|
|
|
39
|
-
**
|
|
58
|
+
**936 tests passing** (up from 632 in v0.4.0)
|
|
40
59
|
|
|
41
60
|
---
|
|
42
61
|
|
|
@@ -49,7 +68,7 @@ Vesper has been scientifically validated with comprehensive benchmarks measuring
|
|
|
49
68
|
| Benchmark | Purpose | Key Metric | Result |
|
|
50
69
|
|-----------|---------|------------|--------|
|
|
51
70
|
| **Accuracy** | Measures VALUE (answer quality) | F1 Score | **98.5%** 🎯 |
|
|
52
|
-
| **Latency** | Measures COST (overhead) | P95 Latency | **0.
|
|
71
|
+
| **Latency** | Measures COST (overhead) | P95 Latency | **0.6ms** ⚡ |
|
|
53
72
|
|
|
54
73
|
### Accuracy Benchmark Results ⭐
|
|
55
74
|
|
|
@@ -79,12 +98,12 @@ Vesper has been scientifically validated with comprehensive benchmarks measuring
|
|
|
79
98
|
|
|
80
99
|
| Metric | Without Memory | With Vesper | Improvement |
|
|
81
100
|
|--------|---------------|-------------|-------------|
|
|
82
|
-
| **P50 Latency** | 4.
|
|
83
|
-
| **P95 Latency** |
|
|
84
|
-
| **P99 Latency** |
|
|
101
|
+
| **P50 Latency** | 4.6ms | 0.4ms | ✅ **91.3% faster** |
|
|
102
|
+
| **P95 Latency** | 6.9ms | 0.6ms | ✅ **91.3% faster** |
|
|
103
|
+
| **P99 Latency** | 8.2ms | 1.2ms | ✅ **85.4% faster** |
|
|
85
104
|
| **Memory Hit Rate** | 0% | 100% | ✅ **Perfect recall** |
|
|
86
105
|
|
|
87
|
-
**What this means:** Vesper v0.
|
|
106
|
+
**What this means:** Vesper v0.5.2 provides perfect memory recall with SmartRouter intelligently routing queries across 6 specialized handlers. Lazy loading reduces token usage by 90%, while the LRU embedding cache eliminates redundant embedding generation. Working memory provides sub-millisecond fast path for recent queries. All latency targets exceeded: P95 of 0.6ms is **99.7% better** than the 200ms target.
|
|
88
107
|
|
|
89
108
|
### Benchmark Methodology
|
|
90
109
|
|
|
@@ -239,6 +258,9 @@ npm install -g vesper-memory
|
|
|
239
258
|
# Run the installer (installs to ~/.vesper)
|
|
240
259
|
vesper install
|
|
241
260
|
|
|
261
|
+
# Set up Claude Code rules for optimal memory usage
|
|
262
|
+
vesper init
|
|
263
|
+
|
|
242
264
|
# The installer will automatically:
|
|
243
265
|
# 1. Clone/update Vesper to ~/.vesper
|
|
244
266
|
# 2. Build TypeScript and install dependencies
|
|
@@ -275,6 +297,27 @@ claude mcp add vesper --transport stdio --scope user -- node ~/.vesper/dist/serv
|
|
|
275
297
|
# 6. Restart Claude Code
|
|
276
298
|
```
|
|
277
299
|
|
|
300
|
+
### Claude Code Rules (Recommended)
|
|
301
|
+
|
|
302
|
+
`vesper init` installs rule files to `~/.claude/rules/` that teach Claude how and when to use Vesper memory. This works on all platforms:
|
|
303
|
+
|
|
304
|
+
```bash
|
|
305
|
+
vesper init
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
**What gets installed:**
|
|
309
|
+
- `vesper.md` - Tool documentation, storage guidelines, memory types, examples
|
|
310
|
+
- `memory-discipline.md` - Proactive storage triggers and retrieval habits
|
|
311
|
+
|
|
312
|
+
**Manual installation (any platform):**
|
|
313
|
+
```bash
|
|
314
|
+
# macOS / Linux / WSL
|
|
315
|
+
cp node_modules/vesper-memory/config/claude-rules/*.md ~/.claude/rules/
|
|
316
|
+
|
|
317
|
+
# Windows (PowerShell)
|
|
318
|
+
Copy-Item node_modules\vesper-memory\config\claude-rules\*.md $HOME\.claude\rules\
|
|
319
|
+
```
|
|
320
|
+
|
|
278
321
|
### Development Setup (For Vesper Contributors)
|
|
279
322
|
|
|
280
323
|
If you're developing Vesper itself, you need a different MCP configuration to use your local development build:
|
|
@@ -385,7 +428,7 @@ Entity Prefs KG HippoRAG TimeRange Skills
|
|
|
385
428
|
|
|
386
429
|
## 🔧 MCP Tools
|
|
387
430
|
|
|
388
|
-
Vesper provides
|
|
431
|
+
Vesper provides 14 MCP tools for memory management. All tools accept an optional `namespace` parameter (default: `"default"`) for multi-agent isolation:
|
|
389
432
|
|
|
390
433
|
### Core Memory Tools
|
|
391
434
|
|
|
@@ -434,11 +477,12 @@ Query with smart routing and semantic search.
|
|
|
434
477
|
- `task_id` (optional): Filter to memories from a specific task
|
|
435
478
|
- `exclude_agent` (optional): Exclude memories from a specific agent
|
|
436
479
|
|
|
437
|
-
**Routing Strategies
|
|
438
|
-
- `
|
|
439
|
-
- `
|
|
480
|
+
**Routing Strategies** (all active in v0.5.2):
|
|
481
|
+
- `auto` (default): SmartRouter classifies query and routes optimally
|
|
482
|
+
- `semantic`: BGE-large semantic search
|
|
483
|
+
- `fast_path`: Working memory only (<5ms)
|
|
440
484
|
- `full_text`: SQLite full-text search (fallback)
|
|
441
|
-
- `graph`: HippoRAG graph traversal
|
|
485
|
+
- `graph`: HippoRAG graph traversal with PageRank
|
|
442
486
|
|
|
443
487
|
**Response**:
|
|
444
488
|
```json
|
|
@@ -491,6 +535,22 @@ System metrics and health status.
|
|
|
491
535
|
}
|
|
492
536
|
```
|
|
493
537
|
|
|
538
|
+
### `delete_memory`
|
|
539
|
+
Delete a memory by ID across all layers (SQLite, Qdrant, Redis).
|
|
540
|
+
|
|
541
|
+
```json
|
|
542
|
+
{
|
|
543
|
+
"memory_id": "550e8400-e29b-41d4-a716-446655440000",
|
|
544
|
+
"namespace": "default"
|
|
545
|
+
}
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
**Behavior**:
|
|
549
|
+
- Removes from SQLite, Qdrant vectors, and Redis working memory
|
|
550
|
+
- Cleans up orphaned facts where `source_conversation = memory_id`
|
|
551
|
+
- Returns deleted memory details for confirmation
|
|
552
|
+
- Graceful degradation if Qdrant/Redis unavailable
|
|
553
|
+
|
|
494
554
|
### System Control Tools
|
|
495
555
|
|
|
496
556
|
### `vesper_enable` / `vesper_disable` / `vesper_status`
|
|
@@ -744,7 +804,7 @@ vesper/
|
|
|
744
804
|
|
|
745
805
|
## 🧪 Test Coverage
|
|
746
806
|
|
|
747
|
-
**Overall**:
|
|
807
|
+
**Overall**: 936/936 tests passing (100%)
|
|
748
808
|
|
|
749
809
|
| Category | Tests | Status |
|
|
750
810
|
|----------|-------|--------|
|
|
@@ -755,6 +815,13 @@ vesper/
|
|
|
755
815
|
| Conflict Detection | 19 | ✅ PASS |
|
|
756
816
|
| Consolidation | 21 | ✅ PASS |
|
|
757
817
|
| Working Memory | 14 | ✅ PASS |
|
|
818
|
+
| Delete Memory | 18 | ✅ PASS |
|
|
819
|
+
| **Multi-Agent (v0.5.0)** | | |
|
|
820
|
+
| Namespace Isolation | 32 | ✅ PASS |
|
|
821
|
+
| Agent Attribution | 20 | ✅ PASS |
|
|
822
|
+
| Share Context | 25 | ✅ PASS |
|
|
823
|
+
| Store Decision | 20 | ✅ PASS |
|
|
824
|
+
| Namespace Tools | 15 | ✅ PASS |
|
|
758
825
|
| **Scientific Benchmarks** | | |
|
|
759
826
|
| Benchmark Statistics | 59 | ✅ PASS |
|
|
760
827
|
| Benchmark Types | 32 | ✅ PASS |
|
|
@@ -768,7 +835,7 @@ vesper/
|
|
|
768
835
|
| Lazy Loading | 42 | ✅ PASS |
|
|
769
836
|
| Relational Embeddings | 38 | ✅ PASS |
|
|
770
837
|
| Security Hardening | 27 | ✅ PASS |
|
|
771
|
-
| **Integration & Other** |
|
|
838
|
+
| **Integration & Other** | 185 | ✅ PASS |
|
|
772
839
|
|
|
773
840
|
### Running Tests
|
|
774
841
|
|
|
@@ -899,18 +966,18 @@ curl http://localhost:6333/collections/memory-vectors
|
|
|
899
966
|
|
|
900
967
|
## 🎯 Design Philosophy
|
|
901
968
|
|
|
902
|
-
**v0.
|
|
969
|
+
**v0.5.2 Pragmatic Approach**:
|
|
903
970
|
- ✅ Simple solutions over complex architectures
|
|
904
971
|
- ✅ Honest uncertainty over auto-resolved conflicts
|
|
905
972
|
- ✅ Fast local operation (<1ms P95 latency)
|
|
906
|
-
- ✅ Comprehensive testing (
|
|
973
|
+
- ✅ Comprehensive testing (936 tests, 100% coverage)
|
|
907
974
|
|
|
908
975
|
**What makes this special**:
|
|
909
976
|
- Three-layer memory architecture with lazy loading
|
|
910
977
|
- Intelligent retrieval (semantic search + graph traversal + relational embeddings)
|
|
911
978
|
- 90% token efficiency gain (50 tokens vs 500 per skill)
|
|
912
979
|
- Word2Vec-inspired analogical reasoning
|
|
913
|
-
- Sub-millisecond P95 latency (0.
|
|
980
|
+
- Sub-millisecond P95 latency (0.6ms)
|
|
914
981
|
- Simple local setup
|
|
915
982
|
|
|
916
983
|
**What we're NOT building**:
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Memory Discipline
|
|
2
|
+
|
|
3
|
+
## Proactive Storage
|
|
4
|
+
|
|
5
|
+
Store important context to Vesper throughout the session, not just at the end. Context compaction can happen at any time and knowledge will be lost if not persisted.
|
|
6
|
+
|
|
7
|
+
### When to Store
|
|
8
|
+
|
|
9
|
+
**After completing significant work:**
|
|
10
|
+
- Feature implementation or bug fix completed
|
|
11
|
+
- Commit pushed to remote
|
|
12
|
+
- Build/test results that establish a baseline
|
|
13
|
+
- npm publish or deployment
|
|
14
|
+
|
|
15
|
+
**After decisions or discoveries:**
|
|
16
|
+
- Architectural decisions and rationale
|
|
17
|
+
- Gotchas, workarounds, or non-obvious fixes
|
|
18
|
+
- Configuration issues and their solutions
|
|
19
|
+
- Dependency or environment problems
|
|
20
|
+
|
|
21
|
+
**After user preferences are revealed:**
|
|
22
|
+
- Workflow preferences (tools, commands, process)
|
|
23
|
+
- Code style or quality standards
|
|
24
|
+
- Communication preferences
|
|
25
|
+
|
|
26
|
+
### How to Store
|
|
27
|
+
|
|
28
|
+
- Use `episodic` for events (completed task, fixed bug, published release)
|
|
29
|
+
- Use `semantic` for knowledge (gotchas, preferences, decisions)
|
|
30
|
+
- Use `procedural` for repeatable patterns (build steps, deployment process)
|
|
31
|
+
- Use `decision` for architectural/design decisions (reduced temporal decay)
|
|
32
|
+
- Always include relevant `tags` in metadata for retrieval
|
|
33
|
+
- Keep content concise but self-contained (readable without session context)
|
|
34
|
+
|
|
35
|
+
### When to Retrieve
|
|
36
|
+
|
|
37
|
+
- At session start: check for recent memories relevant to the project
|
|
38
|
+
- Before starting work: query for prior decisions, gotchas, or patterns
|
|
39
|
+
- When something feels familiar: search for past solutions
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# Vesper Memory Storage Guidelines
|
|
2
|
+
|
|
3
|
+
## Available Tools
|
|
4
|
+
|
|
5
|
+
Vesper provides 14 MCP tools for memory management. All tools are prefixed with `mcp__vesper__`.
|
|
6
|
+
|
|
7
|
+
### Core Memory Tools
|
|
8
|
+
|
|
9
|
+
**1. `store_memory`** - Store new memories
|
|
10
|
+
- **When to use**: When you encounter information worth remembering across conversations
|
|
11
|
+
- **Parameters**:
|
|
12
|
+
- `content` (required): The memory content to store
|
|
13
|
+
- `memory_type` (required): "episodic", "semantic", "procedural", or "decision"
|
|
14
|
+
- `metadata` (optional): Timestamp, source, tags, project, confidence
|
|
15
|
+
- `namespace` (optional): Namespace for multi-agent isolation (default: "default")
|
|
16
|
+
- `agent_id` (optional): ID of the agent storing this memory
|
|
17
|
+
- `agent_role` (optional): Role of the agent (e.g., "orchestrator", "code-reviewer")
|
|
18
|
+
- `task_id` (optional): Task ID this memory is associated with
|
|
19
|
+
- **Example**: Store user preferences, project decisions, learning moments
|
|
20
|
+
- **Performance**: ~10ms (includes automatic BGE-large embedding)
|
|
21
|
+
|
|
22
|
+
**2. `retrieve_memory`** - Query memories with smart routing
|
|
23
|
+
- **When to use**: When you need to recall past information, preferences, or patterns
|
|
24
|
+
- **Parameters**:
|
|
25
|
+
- `query` (required): Search query or memory retrieval prompt
|
|
26
|
+
- `routing_strategy` (optional): "fast_path", "semantic", "full_text", "graph", or "auto-select" (default)
|
|
27
|
+
- `memory_types` (optional): Filter by ["episodic", "semantic", "procedural", "decision"]
|
|
28
|
+
- `max_results` (optional): Max results to return (default: 5)
|
|
29
|
+
- `namespace` (optional): Namespace for multi-agent isolation (default: "default")
|
|
30
|
+
- `agent_id` (optional): Filter by agent ID
|
|
31
|
+
- `task_id` (optional): Filter by task ID
|
|
32
|
+
- `exclude_agent` (optional): Exclude memories from this agent
|
|
33
|
+
- **Example**: "What does the user prefer for testing?", "How did we solve the race condition?"
|
|
34
|
+
- **Performance**: 5ms (fast path) to 200ms (complex hybrid search)
|
|
35
|
+
|
|
36
|
+
**3. `list_recent`** - Get recent memory entries
|
|
37
|
+
- **When to use**: When you need context about recent conversations or activities
|
|
38
|
+
- **Parameters**:
|
|
39
|
+
- `limit` (optional): Number of entries to return (default: 5)
|
|
40
|
+
- `memory_type` (optional): Filter by type
|
|
41
|
+
- `namespace` (optional): Namespace for multi-agent isolation (default: "default")
|
|
42
|
+
- **Example**: Get last 10 conversations for context
|
|
43
|
+
- **Performance**: ~5ms (working memory cache hit)
|
|
44
|
+
|
|
45
|
+
**4. `get_stats`** - System metrics and health
|
|
46
|
+
- **When to use**: Check memory system health, storage usage, retrieval performance
|
|
47
|
+
- **Parameters**:
|
|
48
|
+
- `detailed` (optional): Include per-layer statistics (default: false)
|
|
49
|
+
- `namespace` (optional): Namespace for multi-agent isolation (default: "default")
|
|
50
|
+
- **Performance**: ~10ms
|
|
51
|
+
|
|
52
|
+
**5. `delete_memory`** - Delete a memory by ID
|
|
53
|
+
- **When to use**: When a memory is outdated, incorrect, or no longer needed
|
|
54
|
+
- **Parameters**:
|
|
55
|
+
- `memory_id` (required): The ID of the memory to delete
|
|
56
|
+
- `namespace` (optional): Namespace for multi-agent isolation (default: "default")
|
|
57
|
+
- **Note**: Cleans up across all layers (SQLite, Qdrant, Redis) and orphaned facts
|
|
58
|
+
|
|
59
|
+
### Multi-Agent Tools
|
|
60
|
+
|
|
61
|
+
**6. `share_context`** - Share memories between namespaces
|
|
62
|
+
- **When to use**: For agent handoffs in multi-agent workflows
|
|
63
|
+
- **Parameters**:
|
|
64
|
+
- `source_namespace` (required): Namespace to share from
|
|
65
|
+
- `target_namespace` (required): Namespace to share to
|
|
66
|
+
- `query` (optional): Semantic query to select relevant memories
|
|
67
|
+
- `task_id` (optional): Filter source memories by task ID
|
|
68
|
+
- `max_items` (optional): Max items to share (default: 10)
|
|
69
|
+
- `include_entities` (optional): Include related entities (default: true)
|
|
70
|
+
- `include_skills` (optional): Include matching skills (default: false)
|
|
71
|
+
|
|
72
|
+
**7. `store_decision`** - Store architectural/design decisions
|
|
73
|
+
- **When to use**: When recording important decisions with rationale
|
|
74
|
+
- **Parameters**:
|
|
75
|
+
- `content` (required): The decision content
|
|
76
|
+
- `namespace` (optional): Namespace for multi-agent isolation (default: "default")
|
|
77
|
+
- `supersedes` (optional): ID of a previous decision this replaces
|
|
78
|
+
- `agent_id` (optional): ID of the agent making this decision
|
|
79
|
+
- `agent_role` (optional): Role of the agent
|
|
80
|
+
- `task_id` (optional): Related task ID
|
|
81
|
+
- **Note**: Decisions have reduced temporal decay (4x slower) and automatic conflict detection
|
|
82
|
+
|
|
83
|
+
**8. `list_namespaces`** - Discover all namespaces
|
|
84
|
+
- **When to use**: To see what namespaces exist and their memory counts
|
|
85
|
+
- **Parameters**: None
|
|
86
|
+
|
|
87
|
+
**9. `namespace_stats`** - Per-namespace breakdown
|
|
88
|
+
- **When to use**: To get detailed stats for a specific namespace
|
|
89
|
+
- **Parameters**:
|
|
90
|
+
- `namespace` (required): The namespace to get stats for
|
|
91
|
+
|
|
92
|
+
### System Control Tools
|
|
93
|
+
|
|
94
|
+
**10. `vesper_enable`** - Enable Vesper memory system
|
|
95
|
+
- **When to use**: For A/B benchmarking or after disabling
|
|
96
|
+
- **Note**: Memory system is enabled by default
|
|
97
|
+
|
|
98
|
+
**11. `vesper_disable`** - Disable Vesper (pass-through mode)
|
|
99
|
+
- **When to use**: For A/B benchmarking or testing without memory
|
|
100
|
+
- **Note**: All memory operations will be bypassed
|
|
101
|
+
|
|
102
|
+
**12. `vesper_status`** - Check if Vesper is enabled/disabled
|
|
103
|
+
- **When to use**: Verify system state before operations
|
|
104
|
+
|
|
105
|
+
### Skill Tools
|
|
106
|
+
|
|
107
|
+
**13. `load_skill`** - Load full skill implementation on-demand
|
|
108
|
+
- **When to use**: When a skill summary needs complete details for execution
|
|
109
|
+
- **Parameters**:
|
|
110
|
+
- `skill_id` (required): The ID of the skill to load
|
|
111
|
+
- `namespace` (optional): Namespace for multi-agent isolation (default: "default")
|
|
112
|
+
|
|
113
|
+
**14. `record_skill_outcome`** - Record skill execution feedback
|
|
114
|
+
- **When to use**: After executing a skill to track success/failure
|
|
115
|
+
- **Parameters**:
|
|
116
|
+
- `skill_id` (required): ID of the skill to record feedback for
|
|
117
|
+
- `outcome` (required): "success" or "failure"
|
|
118
|
+
- `satisfaction` (optional): User satisfaction score 0-1 (required for success)
|
|
119
|
+
- `namespace` (optional): Namespace for multi-agent isolation (default: "default")
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## When to Store Memories
|
|
124
|
+
|
|
125
|
+
Use the `store_memory` tool when you encounter information worth remembering across conversations. Apply judgment - store meaningful information, not trivial details.
|
|
126
|
+
|
|
127
|
+
### Store These Types of Information
|
|
128
|
+
|
|
129
|
+
**Preferences & Settings** (memory_type: semantic)
|
|
130
|
+
- Tool preferences, coding style, workflow choices
|
|
131
|
+
- Communication preferences (verbosity, emoji use, explanation style)
|
|
132
|
+
- Technology stack preferences
|
|
133
|
+
- Examples: "User prefers Vitest over Jest", "Likes detailed explanations with examples"
|
|
134
|
+
|
|
135
|
+
**Project Decisions** (memory_type: decision)
|
|
136
|
+
- Architecture choices and rationale
|
|
137
|
+
- Design decisions and trade-offs considered
|
|
138
|
+
- Technology selections and why
|
|
139
|
+
- Examples: "Chose PostgreSQL over MongoDB for transaction guarantees", "Using microservices for scaling"
|
|
140
|
+
|
|
141
|
+
**Learning Moments** (memory_type: episodic)
|
|
142
|
+
- Solutions to non-trivial problems
|
|
143
|
+
- Mistakes and how they were fixed
|
|
144
|
+
- Patterns that worked or failed
|
|
145
|
+
- Examples: "Race condition in Redis cache fixed with Lua scripts", "Avoid premature optimization in hot paths"
|
|
146
|
+
|
|
147
|
+
**Context & Background** (memory_type: semantic)
|
|
148
|
+
- Project goals and constraints
|
|
149
|
+
- Domain knowledge and terminology
|
|
150
|
+
- User background and expertise level
|
|
151
|
+
- Examples: "Building SaaS for small businesses", "User has 5 years TypeScript experience"
|
|
152
|
+
|
|
153
|
+
### When NOT to Store
|
|
154
|
+
|
|
155
|
+
- Trivial facts already in documentation
|
|
156
|
+
- Temporary/session-specific information
|
|
157
|
+
- Information likely to change frequently
|
|
158
|
+
- Obvious or universal programming knowledge
|
|
159
|
+
- Every single code change or minor detail
|
|
160
|
+
|
|
161
|
+
### Storage Approach
|
|
162
|
+
|
|
163
|
+
**Balanced proactivity**:
|
|
164
|
+
- Store when information would be valuable in future conversations
|
|
165
|
+
- Use judgment - ask yourself "would this help me serve the user better next time?"
|
|
166
|
+
- Don't store just because something was mentioned - store because it's *memorable*
|
|
167
|
+
- Consolidate related information rather than creating many small memories
|
|
168
|
+
|
|
169
|
+
### Memory Types
|
|
170
|
+
|
|
171
|
+
- `episodic`: Specific events, conversations, problem-solving instances
|
|
172
|
+
- `semantic`: Facts, preferences, knowledge, decisions
|
|
173
|
+
- `procedural`: Skills, patterns, how-to knowledge
|
|
174
|
+
- `decision`: Architectural/design decisions (reduced temporal decay)
|
|
175
|
+
|
|
176
|
+
### Example Storage Patterns
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
User: "I prefer functional programming style with pure functions"
|
|
180
|
+
-> Store: memory_type=semantic, "User prefers functional programming with pure functions"
|
|
181
|
+
|
|
182
|
+
User: "We decided to use Redis for caching because we need sub-5ms reads"
|
|
183
|
+
-> Store: memory_type=decision, "Project uses Redis for caching (requirement: <5ms reads)"
|
|
184
|
+
|
|
185
|
+
User: "That bug was caused by async race condition, fixed with mutex"
|
|
186
|
+
-> Store: memory_type=episodic, "Race condition bug fixed with mutex pattern"
|
|
187
|
+
|
|
188
|
+
User: "The button is blue"
|
|
189
|
+
-> Don't store: Trivial UI detail, likely to change
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Metadata to Include
|
|
193
|
+
|
|
194
|
+
Always add helpful metadata:
|
|
195
|
+
- `timestamp`: When this was learned
|
|
196
|
+
- `source`: Where it came from (conversation, code, docs)
|
|
197
|
+
- `tags`: Relevant topics for retrieval
|
|
198
|
+
- `project`: Project name if applicable
|
|
199
|
+
- `confidence`: How certain you are (low/medium/high)
|
|
200
|
+
|
|
201
|
+
## Usage
|
|
202
|
+
|
|
203
|
+
When you decide to store a memory, call the MCP tool:
|
|
204
|
+
|
|
205
|
+
```typescript
|
|
206
|
+
mcp__vesper__store_memory({
|
|
207
|
+
"content": "User prefers TypeScript over JavaScript for type safety",
|
|
208
|
+
"memory_type": "semantic",
|
|
209
|
+
"metadata": {
|
|
210
|
+
"timestamp": "2026-02-02T22:45:00Z",
|
|
211
|
+
"source": "conversation",
|
|
212
|
+
"tags": ["preference", "typescript", "languages"],
|
|
213
|
+
"confidence": "high"
|
|
214
|
+
}
|
|
215
|
+
})
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Remember: **Quality over quantity**. Store information that makes you a better assistant over time.
|
package/dist/cli.js
CHANGED
|
@@ -583,6 +583,57 @@ function promptConfirm(question) {
|
|
|
583
583
|
});
|
|
584
584
|
});
|
|
585
585
|
}
|
|
586
|
+
// Initialize Claude Code rules for optimal Vesper usage
|
|
587
|
+
async function initRules() {
|
|
588
|
+
header('📋 Setting up Claude Code rules for Vesper');
|
|
589
|
+
const rulesDir = join(homedir(), '.claude', 'rules');
|
|
590
|
+
const packageRoot = join(__dirname, '..');
|
|
591
|
+
const sourceDir = join(packageRoot, 'config', 'claude-rules');
|
|
592
|
+
// Verify source rules exist
|
|
593
|
+
const ruleFiles = ['vesper.md', 'memory-discipline.md'];
|
|
594
|
+
for (const file of ruleFiles) {
|
|
595
|
+
if (!existsSync(join(sourceDir, file))) {
|
|
596
|
+
error(`Source rule file not found: ${join(sourceDir, file)}`);
|
|
597
|
+
error('This may indicate a broken installation. Try reinstalling vesper-memory.');
|
|
598
|
+
process.exit(1);
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
// Create ~/.claude/rules/ if missing
|
|
602
|
+
if (!existsSync(rulesDir)) {
|
|
603
|
+
info(`Creating ${rulesDir}...`);
|
|
604
|
+
mkdirSync(rulesDir, { recursive: true });
|
|
605
|
+
}
|
|
606
|
+
// Copy each rule file
|
|
607
|
+
let installed = 0;
|
|
608
|
+
for (const file of ruleFiles) {
|
|
609
|
+
const src = join(sourceDir, file);
|
|
610
|
+
const dest = join(rulesDir, file);
|
|
611
|
+
if (existsSync(dest)) {
|
|
612
|
+
const shouldOverwrite = await promptConfirm(`${file} already exists. Overwrite?`);
|
|
613
|
+
if (!shouldOverwrite) {
|
|
614
|
+
info(`Skipped ${file}`);
|
|
615
|
+
continue;
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
try {
|
|
619
|
+
copyFileSync(src, dest);
|
|
620
|
+
success(`Installed ${file}`);
|
|
621
|
+
installed++;
|
|
622
|
+
}
|
|
623
|
+
catch (err) {
|
|
624
|
+
error(`Failed to copy ${file}: ${err instanceof Error ? err.message : String(err)}`);
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
if (installed > 0) {
|
|
628
|
+
log('');
|
|
629
|
+
success(`${installed} rule file(s) installed to ${rulesDir}`);
|
|
630
|
+
log('\n💡 Claude Code will now know how and when to use Vesper memory.');
|
|
631
|
+
log(' Rules take effect in new Claude Code sessions.\n');
|
|
632
|
+
}
|
|
633
|
+
else {
|
|
634
|
+
info('No files were installed.');
|
|
635
|
+
}
|
|
636
|
+
}
|
|
586
637
|
// Migrate data from old locations to user-level storage
|
|
587
638
|
async function migrate() {
|
|
588
639
|
header('🚚 Migrating Vesper Data to User-Level Storage');
|
|
@@ -733,6 +784,12 @@ switch (command) {
|
|
|
733
784
|
process.exit(1);
|
|
734
785
|
});
|
|
735
786
|
break;
|
|
787
|
+
case 'init':
|
|
788
|
+
initRules().catch((err) => {
|
|
789
|
+
error(`Init failed: ${err.message}`);
|
|
790
|
+
process.exit(1);
|
|
791
|
+
});
|
|
792
|
+
break;
|
|
736
793
|
case 'help':
|
|
737
794
|
case '--help':
|
|
738
795
|
case '-h':
|
|
@@ -745,6 +802,7 @@ ${colors.bright}USAGE:${colors.reset}
|
|
|
745
802
|
|
|
746
803
|
${colors.bright}COMMANDS:${colors.reset}
|
|
747
804
|
install Install Vesper and configure Claude Code (full setup)
|
|
805
|
+
init Set up Claude Code rules for optimal memory usage
|
|
748
806
|
configure Configure MCP server only (no Docker setup)
|
|
749
807
|
migrate Migrate data from old location to user-level storage
|
|
750
808
|
uninstall Remove Vesper completely
|
|
@@ -755,6 +813,7 @@ ${colors.bright}COMMANDS:${colors.reset}
|
|
|
755
813
|
|
|
756
814
|
${colors.bright}EXAMPLES:${colors.reset}
|
|
757
815
|
vesper install # Full installation with Docker setup
|
|
816
|
+
vesper init # Install Claude Code rules for Vesper
|
|
758
817
|
vesper configure # Configure MCP only (lightweight)
|
|
759
818
|
vesper migrate # Move data to ~/.vesper/data/
|
|
760
819
|
vesper status # Check if running
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|