Skip to main content

tanstack-ai-memory-in-memory

Use when wiring inMemory() from @tanstack/ai-memory/in-memory — explains setup, options (embedder, extract, topK/minScore), when to pick it (dev/tests/single-process demos), and what NOT to use it for (multi-process or persistent).

Informations de source

Dépôt
TanStack/ai
Dernière activité de la source
9 septembre 2026 à 06:08
Langue détectée de SKILL.md
anglais
Étoiles
3 275
Forks
378

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
tanstack-ai-memory-in-memory
description
Use when wiring inMemory() from @tanstack/ai-memory/in-memory — explains setup, options (embedder, extract, topK/minScore), when to pick it (dev/tests/single-process demos), and what NOT to use it for (multi-process or persistent).
# In-Memory Memory Adapter Zero-dependency `recall`/`save` adapter backed by a `Map`. Records vanish on process restart. ## When to use it - Local development. - Vitest / Playwright tests. - Single-process demos where users don't need persistence. ## When NOT to use it - Production multi-process deployments — every worker has its own `Map`; users get inconsistent memory. - Anything that needs survival across restarts. For production, use `redis()` (see the `tanstack-ai-memory-redis` skill). ## Setup ```ts import { memoryMiddleware } from '@tanstack/ai-memory' import { inMemory } from '@tanstack/ai-memory/in-memory' const memory = inMemory() // A static scope is fine for dev/tests; derive it from the session in real apps. memoryMiddleware({ adapter: memory, scope: { threadId: 'demo-thread', userId: 'alice' }, }) ``` ## Options `inMemory(options?)` accepts: - `topK` (default 6), `minScore` (default 0.15), `kinds` — recall tuning. - `embedder: { embed(text): Promise<number[]> }` — enable semantic scoring (both `recall` and `save` embed through it). - `extract(turn, scope)` — return derived facts to persist alongside the raw turn (e.g. call an LLM to pull out preferences). Without it, `save` stores the raw user/assistant messages and `recall` scores them lexically + by recency. - `render(hits)` — replace the built-in prompt renderer. ## Capacity The adapter scans every record in a scope per `recall`. Fine up to ~100k records; beyond that, switch to Redis.
Voir sur GitHub