npm.io
0.6.1 • Published 3d ago

turbomem

Licence
Apache-2.0
Version
0.6.1
Deps
3
Size
655 kB
Vulns
0
Weekly
1.7K

turbomem

turbomem

npm version · Documentation

Local-first agent memory for TypeScript. Persistent, semantically searchable memory that runs inside your Node or Bun process or in the browser with IndexedDB-backed PGlite. No separate memory server, no Python sidecar.

Install

npm install turbomem

Set OPENAI_API_KEY for the default OpenAI embeddings and fact-extraction stack. PGlite is included; no extra database setup. For the optional sqlite-vec backend: npm install better-sqlite3 sqlite-vec. For edge deployment with Upstash Vector: npm install @upstash/vector — see the Edge guide. For browser apps, import from turbomem/browser — see the Browser guide.

Providers: embeddings via OpenAI, local (transformers), Voyage AI (VOYAGE_API_KEY), or Google Gemini (GEMINI_API_KEY); fact extraction via OpenAI, Anthropic, or Google Gemini (plus any OpenAI-compatible endpoint via a custom baseURL). See the Providers reference.

Quick start

import { TurboMemory } from "turbomem";

const memory = new TurboMemory({
  embeddings: "openai", // or "local" | "voyage" | "google"
  storage: "pglite",
  extraction: { provider: "openai", model: "gpt-4.1-mini" },
  openai: { apiKey: process.env.OPENAI_API_KEY },
});

await memory.init();

await memory.add(
  [{ role: "user", content: "I love hiking and I'm training for a half marathon this fall." }],
  { userId: "user_123" },
);

const results = await memory.search("What outdoor activities is the user into?", {
  userId: "user_123",
  limit: 5,
});

for (const { memory: m, score } of results) {
  console.log(`[${score.toFixed(3)}] ${m.content}`);
}

await memory.close();

The example above uses OpenAI (text-embedding-3-small by default). You can also use local transformers, Voyage AI, or Google Gemini via the embeddings preset, or pass a custom adapter for a specific model — see the Providers reference.

Framework adapters

Package Use case
@turbomem/mastra Mastra memory provider
@turbomem/vercel-ai Vercel AI SDK tools

CLI

Package Use case
@turbomem/cli Terminal memory management

Documentation

Full guides, configuration reference, and runnable examples:

https://turbomem.dev

Requirements

Node.js 20+ or Bun. TypeScript recommended.

License

Apache License 2.0

Keywords