Memory Module
Memory Module
Mémory_Módule // Sémantic_Récall
ᚠ ᛫ ᛟ ᛫ ᚱ ᛫ ᛒ ᛫ ᛟ ᛫ ᚲ
The Memory module provides privacy-first local vector storage with semantic search, enabling NPCs to remember past events and recall relevant context.
T̷h̵e̸ ̷p̵a̷s̸t̷ ̶s̶h̴a̴p̷e̵s̵ ̶t̷h̵e̸ ̶f̷u̵t̵u̴r̵e̷.
Overview
The Memory module stores observations locally using IndexedDB (browser) or in-memory (Node.js). It provides:
- Semantic Search: Find memories relevant to a query
- Importance Scoring: Weight memories by significance
- Temporal Decay: Old memories fade over time
- API Sync: Optional cloud backup
Installation
The Memory module is included in the core SDK:
Quick Start
Configuration Options
API Reference
createMemory(config)
Factory function to create a Memory instance.
memory.store(text, type?, importance?)
Store a new memory observation.
Parameters:
text(string): The observation texttype(MemoryType):'observation'|'experience'|'fact'|'reflection'importance(number): 0.0 to 1.0 score
Returns: Promise<MemoryItem>
memory.recall(query, limit?)
Recall memories relevant to a query using semantic similarity.
Parameters:
query(string): The search querylimit(number): Maximum memories to return (default: 5)
Returns: Promise<MemoryItem[]>
memory.list(limit?, offset?)
List all memories with pagination.
Parameters:
limit(number): Maximum memories to return (default: 50)offset(number): Starting offset (default: 0)
Returns: Promise<MemoryItem[]>
memory.clear()
Clear all stored memories. This permanently deletes the LanceDB vector database.
Returns: Promise<void>
Note: This operation removes the underlying vector store directory. Use with caution.
memory.export()
Export all memories for backup or Soul portability.
Returns: Promise<MemoryItem[]>
memory.import(memories)
Import memories from backup or Soul.
Parameters:
memories(MemoryItem[]): Array of memories to import
Returns: Promise<void>
Pure Functions
For functional programming, use these standalone functions:
createMemoryItem(text, type?, importance?)
Create a new memory item without storing it.
applyTemporalDecay(memory, currentTime, decayRate?)
Apply temporal decay to a memory’s importance.
rankMemoriesByRelevance(memories, query, limit?)
Rank memories by relevance to a query.
Memory Types
Temporal Decay
When decay: 'temporal' is enabled, older memories become less important over time:
Default decay rate: 0.001 (memories lose ~50% importance after ~700 hours)
Integration with Soul
Export memories when creating a Soul for portability:
ᚠ ᛫ ᛟ ᛫ ᚱ ᛫ ᛒ ᛫ ᛟ ᛫ ᚲ
M̵e̶m̵o̷r̴i̷e̷s̷ ̸a̴r̵e̴ ̴t̵h̸e̷ ̸a̷n̶c̷h̸o̸r̸s̶ ̷o̸f̵ ̷i̴d̴e̵n̶t̴i̷t̵y̶.
