rememori — agent memory that runs anywhere JavaScript runs
Your agent forgets. Give it memory.
rememori is an embedded memory engine in pure TypeScript.<br>Zero dependencies, zero servers, zero native bindings.<br>One file on disk — or IndexedDB in the browser.
npm install rememori<br>copy
v0.3.0 · 0 dependencies · ~8 kB core · MIT
rememori — Esperanto for “to remember”. A language built to run anywhere. Same idea.
Every session ends the same way.
The context window empties. The user's preferences, the decisions made,<br>the names mentioned — gone. Fixing it usually means a vector database, an<br>embedding pipeline and a retrieval service. All that, for a bot that needs<br>to remember fifty things.
Memory should be a primitive, not a platform.
memori. rememori. forgesi.
Remember, recall, forget — three verbs. That’s the API.
remember stores text with its embedding, tags and<br>extracted entities. recall ranks by cosine similarity ×<br>importance × time decay — plus a graph bonus for shared entities.<br>forget deletes. Everything else is an option, not a method.
Bring any embedder: Ollama for local privacy, any<br>OpenAI-compatible endpoint, or your own function.<br>The verbs are Esperanto, like the name.
import { Memory } from 'rememori';<br>import { ollama } from 'rememori/embedders';
const mem = await Memory.open('./agent.mem', {<br>embedder: ollama('nomic-embed-text'),<br>});
await mem.remember('User prefers dark mode', {<br>tags: ['prefs'], importance: 0.8,<br>});
const hits = await mem.recall('UI settings?', {<br>limit: 5, halfLifeDays: 90,<br>});
await mem.forget(hits[0].id);
Don’t take our word for it.
This section runs rememori in your browser. The embedding model<br>downloads once (~30 MB, cached), then everything — embeddings, storage,<br>semantic recall — happens on your machine. Open<br>DevTools → Network and watch it stay silent.
Load the live demo<br>Downloads the MiniLM embedding model (~30 MB) from<br>Hugging Face, once. Your memories never leave this page.
Ready.
Remember something
Ask your memory
Give your agent a memory. Now.
rememori ships as an MCP server.<br>One command gives Claude Code — or Cursor, Windsurf, any MCP client —<br>persistent memory across sessions. Embeddings run locally via Ollama;<br>memories live in one file on your disk.
claude mcp add rememori -- npx -y rememori-mcp<br>copy
deploy notes<br>api keys doc<br>giorgio’s fix
AWS<br>Giorgio
“any updates from Giorgio?”
A query that shares an entity lights up memories plain<br>similarity would miss.
Recall is more than similarity.
Every memory links to the entities it mentions — a bipartite<br>knowledge graph, built automatically at write time. At recall,<br>memories sharing entities with the query get a bonus:
(cosine + graph) × importance × decay
So when the words don't match but the who does, the right<br>memory still surfaces. Entity extraction is pluggable; the built-in<br>heuristic costs zero dependencies and zero API calls.
If it runs JavaScript,<br>it remembers.
Node ≥ 18 append-only file, one npm i
Bun same file format, same API
Browser IndexedDB via idb:// paths
Edge workers bring a KV adapter — it's one interface
Electron no rebuild, ever
Native-binding memory engines compile per<br>platform and stop at the browser's edge. Pure TypeScript ships everywhere<br>the language does — this very page is the existence proof.
What would you build?
A support bot that remembers the customer
Last ticket, preferred tone, the promise a colleague made two weeks<br>ago. remember() every message, recall() before<br>replying. Telegram, Discord, Slack — three lines each.
A coding agent with cross-session memory
Decisions, conventions, “we already tried that”. One<br>.mem file next to the repo, versionable and greppable.
A local-first app with semantic search
Electron or Tauri note-taking, mail, research tools: recall by<br>meaning without shipping your users' data to a server.
Assistants under compliance
Legal, health, finance. Memory that provably never leaves the<br>device: IndexedDB storage plus local embeddings, auditable in the<br>Network tab.
A home-automation brain on a Raspberry Pi
“Boiler serviced in March, technician was Rossi.” Nobody wants to<br>run Postgres on a Pi.
NPCs that hold a grudge
Game characters that remember the player across saves — in-process,<br>inside the game loop, zero infrastructure.
What rememori is not.
Not a multi-user server. Not a cloud. Not a document-ingestion<br>platform. If you need those, Cognee<br>and Mem0 are good at them.<br>rememori is for when you want memory inside your process, in five<br>minutes, with nothing to operate.
This site is static HTML, CSS and one small script.<br>No framework, no tracker, no cookies. View source — it’s the whole point.<br>La verda stelo — the green star — is the symbol of Esperanto.