CtrlK
BlogDocsLog inGet started
Tessl Logo

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

80

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

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

import { memoryMiddleware } from '@tanstack/ai-memory'
import { inMemory } from '@tanstack/ai-memory/in-memory'

const memory = inMemory()

memoryMiddleware({ adapter: memory, scope })

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.

Repository
TanStack/ai
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.