Overview
While thememoryTools() helper is great for Vercel AI SDK integration, you can also use the MemoryClient directly for more control over memory operations. This is useful for:
- Custom AI frameworks
- Background jobs that manage memories
- Admin interfaces for viewing/managing memories
- Non-LLM use cases
Installation
Basic Usage
Creating a Client
Adding Memories
Searching Memories
Getting All Memories
Deleting Memories
Complete API Reference
Constructor
string
required
Your Satori API key
string
required
Satori server URL (e.g.,
https://api.usesatori.sh)string
required
User identifier for memory isolation
Methods
addMemory(content, options?)
Saves a new memory.string
required
The text content to save
object
Optional metadata for organization
Promise<Memory>
searchMemories(query, options?)
Searches for semantically similar memories.string
required
Natural language search query
number
default:"10"
Maximum number of results (1-100)
number
default:"0.7"
Minimum similarity score (0-1)
Promise<MemoryWithSimilarity[]>
getAllMemories(options?)
Retrieves all memories for the user.number
default:"100"
Maximum number of memories to return
Promise<Memory[]>
deleteMemory(id)
Deletes a specific memory.string
required
UUID of the memory to delete
Promise<void>
Advanced Use Cases
Building an Admin Dashboard
Background Memory Processing
Memory Export
Custom AI Framework Integration
Error Handling
Handle errors appropriately:TypeScript Types
The client exports TypeScript types for all operations:Testing
Mock the client for testing:Best Practices
Reuse client instances
Reuse client instances
Create one client per user and reuse it:
Use descriptive memory content
Use descriptive memory content
Store complete, self-contained information:
Add metadata for organization
Add metadata for organization
Use metadata to categorize and filter memories:
Handle errors gracefully
Handle errors gracefully
Always wrap operations in try-catch blocks:
Next Steps
Vercel AI SDK
Learn about the AI SDK integration
API Reference
Explore the complete API documentation
Examples
See complete implementations
Troubleshooting
Fix common issues