- CI learns it. Your chat agent already knows it. Open source, - self-hosted recall that any server, client, or script can shape. +
+ Agents forget everything between runs. deja fixes that. +
++ An open-source memory layer that stores what agents learn and recalls it when relevant. + Available as three packages — pick the runtime that fits your stack.
- -- Quickstart - · Docs - · Integrations - · Research -
+ ++ Every time an AI agent runs, it starts from scratch. It doesn't remember what worked last time, + what failed, or what another agent already figured out. You end up re-explaining the same context, + re-discovering the same workarounds, and watching agents make the same mistakes. +
+
+ deja is a memory layer. Agents call learn() to store
+ what they discover and recall() to retrieve what's relevant
+ before they act. Memories have confidence scores, get deduplicated automatically, and decay when they go stale.
+
+ It works across agents, across runs, across tools. CI learns something → your chat agent already knows it. + One agent figures out a workaround → every agent benefits. +
++ Same concepts, different runtimes. Pick the one that matches your stack, or use them together. +
+- Thin wrapper over HTTP. Two functions. -
-+ Best for: CLI tools, local agents, scripts, development. +
- HTTP endpoints. Use from anywhere. + +
+ Best for: per-user memory in edge apps, Cloudflare Workers, chat apps.
-- Native protocol. Claude, Cursor, etc. + +
+ Best for: multi-agent teams, shared memory, MCP, REST API access.
-- Use cases: incident response, onboarding, playbooks. See walkthroughs. -
+ +| + | deja-local | +deja-edge | +deja (hosted) | +
|---|---|---|---|
| Runtime | +Bun | +Cloudflare DO | +Cloudflare Workers | +
| Search | +Cosine similarity | +FTS5 / BM25 | +Vectorize semantic | +
| Embeddings | +all-MiniLM-L6-v2 | +None (text-based) | +bge-small-en-v1.5 | +
| Latency | +Zero (in-process) | +Zero (in-DO) | +Network hop | +
| Multi-agent | +Single process | +Per-DO isolation | +Scoped sharing | +
| MCP | +— | +— | +Built-in | +
| Install | +npm i deja-local |
+ npm i deja-edge |
+ npm i deja-client |
+
+ After a run, the agent stores what it discovered. deja embeds the text, checks for duplicates, + and assigns a confidence score. +
- deja is just HTTP. Anything that can make a request can learn and - recall. CI/CD pipelines, local chat agents, Slack bots, cron jobs, CLI - scripts — all writing to and reading from the same memory. -
-+ Before acting, the next agent describes what it's about to do. deja returns the most relevant + memories — already formatted for injection into the prompt. +
++ Useful memories gain confidence. Contradicted ones get superseded. Stale ones decay. + The memory stays clean without manual curation. +
- CI learns it. Your chat agent knows it. Same memory, different doors. -
{entry.data.description}
- - ))} -{entry.data.description}
- - ))} -- 20 explorations of how humans and agents might interact with persistent memory. - From filing cabinets to mycelial networks — each one is a standalone interactive research page. -
- -{featuredPrompt.data.description}
-{featuredPrompt.data.prompt.slice(0, 300)}{featuredPrompt.data.prompt.length > 300 ? '...' : ''}
-
- You could. But then you're building semantic search, scoping, confidence decay, and cleanup yourself. deja is that layer, already wired to Cloudflare's vector and AI stack.
+Different agents run in different places. A CLI tool needs in-process memory with zero latency. An edge worker needs memory inside its Durable Object. A multi-agent team needs shared memory over HTTP. Same core idea, three runtimes.
It's 1 Worker, 2 endpoints. No SDK required. curl works. The whole thing is ~500 lines of TypeScript.
You could. But then you're building semantic search, deduplication, confidence scoring, conflict resolution, and cleanup yourself. deja is that layer.
Your Cloudflare account, your data, MIT license. It's a single Worker with a Durable Object and a Vectorize index. Fork it if we disappear.
+deja-local runs on Bun with SQLite — no cloud required. deja-edge runs inside any Cloudflare DO. The hosted version runs on your own CF account. MIT license, fork it if we disappear.
It's the tool we use daily. But it's also open source — so it doesn't depend on us. The architecture is intentionally simple enough to understand in an afternoon.
+Building a local CLI tool or script? deja-local. Building on Cloudflare Workers? deja-edge. Need shared memory across multiple agents or MCP? deja (hosted).
- Every lesson, every workaround, every hard-won fix — already waiting in - context before the first token lands. +
+ Pick a package, add two function calls, and your agents will never forget again.
Docs · Integrations + · Patterns · Research
-