moe@dev ~ mem
███╗   ███╗███████╗███╗   ███╗
████╗ ████║██╔════╝████╗ ████║
██╔████╔██║█████╗  ██╔████╔██║
██║╚██╔╝██║██╔══╝  ██║╚██╔╝██║
██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║
╚═╝     ╚═╝╚══════╝╚═╝     ╚═╝

AI agents forget everything between sessions.

Give them memory.

Simple. Fast. Works anywhere.

$ npm install @withone/mem

Works with your favorite AI agents

Claude CodeCursorWindsurfGitHub CopilotClineRooAMPGooseCodexGeminiKiloTraeOpenCodeDroidKiro CLIClaude CodeCursorWindsurfGitHub CopilotClineRooAMPGooseCodexGeminiKiloTraeOpenCodeDroidKiro CLI

Quick start

example.ts
import { add, search } from '@withone/mem'
 
// Your agent remembers
await add('preference', {
content: 'User prefers dark mode'
})
 
// And recalls intelligently
const results = await search('user preferences')
// => [{ type: 'preference', data: {...}, score: 0.92 }]

See it in action

Try:

Features

Hybrid Search

Semantic + keyword search with RRF ranking. Find what you mean, not just what you type.

Relevance Scoring

Important memories surface automatically. Weight, access frequency, and recency combine to rank results.

Graph Relationships

Link memories together. Build knowledge graphs that capture how ideas connect.

How it works

1.
Connect to Supabase

mem uses Supabase for storage with pgvector for embeddings. Run mem init to set up.

2.
Store memories

Add notes, decisions, preferences, or any structured data. Embeddings are generated automatically.

3.
Retrieve with context

Search finds relevant memories using hybrid semantic + keyword search. Results are ranked by relevance score.