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).

Quellinformationen

Repository
TanStack/ai
Letzte Quellaktivität
9. September 2026 um 06:08
Erkannte Sprache von SKILL.md
Englisch
Sterne
3.324
Forks
379

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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.
Auf GitHub ansehen