Skip to main content

Overview

While the memoryTools() 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

With metadata:

Searching Memories

With options:

Getting All Memories

With limit:

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
Returns: 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)
Returns: Promise<MemoryWithSimilarity[]>

getAllMemories(options?)

Retrieves all memories for the user.
number
default:"100"
Maximum number of memories to return
Returns: Promise<Memory[]>

deleteMemory(id)

Deletes a specific memory.
string
required
UUID of the memory to delete
Returns: 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

Create one client per user and reuse it:
Store complete, self-contained information:
Use metadata to categorize and filter memories:
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