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

معلومات المصدر

المستودع
TanStack/ai
آخر نشاط في المصدر
٩ سبتمبر ٢٠٢٦ في ٠٦:٠٨
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٣٬١٩٩
التفرعات
٣٦٦

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
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.
عرض على GitHub