@agentskit/memory
v0.8.1
Published
Persistent and vector memory backends for AgentsKit.
Downloads
1,345
Maintainers
Readme
@agentskit/memory
Persist conversations and add vector search to your agents — swap backends without changing agent code.
Tags: ai · agents · llm · agentskit · ai-agents · memory · vector-db · embeddings · rag · sqlite · redis · vector-search
Why memory
- Conversations that survive restarts — SQLite for local development, Redis for production; your agent remembers context across sessions with zero code changes
- RAG-ready vector search — store and retrieve embeddings with
fileVectorMemory(pure JS, no native deps) or Redis vector search for scale - Plug any backend — the
VectorStoreinterface is 3 methods; bring LanceDB, Pinecone, or any custom store in minutes - One interface, every deployment target — swap from
inMemorytosqlitetorediswithout touching agent code
Install
npm install @agentskit/memory better-sqlite3
# For production: npm install redis
# For vectors: npm install vectraQuick example
import { createRuntime } from '@agentskit/runtime'
import { anthropic } from '@agentskit/adapters'
import { sqliteChatMemory, fileVectorMemory } from '@agentskit/memory'
const runtime = createRuntime({
adapter: anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, model: 'claude-sonnet-4-6' }),
memory: sqliteChatMemory({ path: './chat.db' }),
})
// Agent now remembers previous conversations across process restarts
const result = await runtime.run('What did we discuss yesterday?')
console.log(result.content)With RAG
Use a vector backend with @agentskit/rag createRAG({ embed, store }) — fileVectorMemory and redisVectorMemory implement VectorMemory for chunk storage and search.
Features
Chat memory (3)
fileChatMemory({ path })— JSON on disk; zero infra.sqliteChatMemory({ path })— WAL-mode SQLite; indexed by session.redisChatMemory({ client, keyPrefix })— distributed, serverless-friendly.
All on top of createInMemoryMemory / createLocalStorageMemory from
@agentskit/core.
Vector memory (7)
fileVectorMemory— pure-JS, file-persisted (good to ~10k vectors).redisVectorMemory— Redis Stack / Redis 8+ HNSW.pgvector— BYO SQL runner (postgres.js,pg, Drizzle, Prisma, Neon).pinecone— managed; namespaces + metadata filters.qdrant— self-hosted or cloud via HTTP.chroma— HTTP collection client.upstashVector— serverless HTTP.
Same 3-method VectorStore contract — swap without touching agent code.
Higher-order wrappers (6)
createHierarchicalMemory— MemGPT-style tiers: working / recall / archival. Recipe.createVirtualizedMemory— hot window + cold retriever for long sessions. Recipe.createAutoSummarizingMemory(via@agentskit/core/auto-summarize) — fold oldest turns into a running summary. Recipe.createEncryptedMemory— AES-GCM-256 envelope over anyChatMemory; keys never leave the caller. Recipe.createInMemoryGraph— knowledge graph (nodes + edges + BFS). Recipe.createInMemoryPersonalization+renderProfileContext— per-user trait profile. Recipe.
Memory contract v1 (ADR 0003) — substitutable across runtime,
useChat, and every framework binding.
Ecosystem
| Package | Role |
|---------|------|
| @agentskit/core | Memory, VectorMemory types |
| @agentskit/rag | Chunking + retrieval on top of vector memory |
| @agentskit/runtime | memory / retriever options |
| @agentskit/adapters | Embeddings for RAG |
Contributors
License
MIT — see LICENSE.
