farfarawaylabs/deeprecall — explained in plain English
Analysis updated 2026-05-18
Give an AI agent persistent long-term memory across conversations by extracting and storing structured facts.
Serve relevant memories back to an agent on every turn using hybrid keyword and vector search.
Run memory storage for multiple separate products with structural tenant isolation and per-user scoping.
| farfarawaylabs/deeprecall | 0labs-in/vision-link | alfons-fhl/cursor-plan2api | |
|---|---|---|---|
| Stars | 4 | 4 | 4 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 5/5 | 3/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Local build and tests need no Cloudflare account, but production deployment requires provisioning six Workers plus D1, Vectorize, KV, and R2.
Deep Recall gives AI products a long-term memory. You send it conversations or documents, and it pulls out structured pieces of information such as facts, past events, forward-looking notes, and profile details, then checks each one against what it already knows so it can update, merge, or skip duplicates instead of storing the same thing twice. Later, when an AI agent needs context on a user or topic, Deep Recall serves the relevant memories back on every turn. The whole system runs on Cloudflare's platform rather than a traditional server stack, using six small Workers along with Cloudflare's D1 database, Vectorize for vector search, KV for configuration, R2 for document storage, and Queues and Workflows to coordinate the pipeline. New content moves through a six-step process: it is parsed, structured facts are extracted, those facts are embedded as vectors, a rule-based policy engine checks things like privacy rules and confidence thresholds, then a language model reconciles each candidate memory against existing ones before anything is finally written to storage. When retrieving memories, Deep Recall searches two ways at once, a keyword-based full-text search and a vector similarity search, then combines and reranks the results so the most relevant memories come first. This retrieval path does not require a language model call by default, keeping it fast, an optional answer endpoint adds one language model call to produce a citation-backed answer instead of raw memory records. The system is built to serve many separate products at once. Each product gets its own database and vector index, and an API key determines which one a request reaches, so different products' data stays structurally separated rather than relying on filtering logic. Within a single product, memories can also be scoped to a specific user, agent, or session. Every change to a memory is recorded in an audit log, and users can correct, pin, suppress, or fully remove their own memories. On a memory benchmark called LoCoMo, the shipped pipeline scored 72.8 percent judged accuracy across ten conversations and nearly 2,000 questions, which the README states outperforms the benchmark's reference results. Setup for local development needs pnpm and does not require a Cloudflare account, but deploying the six Workers to production does require one. The project is released under the Apache 2.0 license, with one benchmark component carrying a separate non-commercial license noted in the repository.
Deep Recall is a Cloudflare-native memory system that extracts, reconciles, and retrieves structured long-term memories for AI products, using hybrid search and multi-tenant isolation.
Mainly TypeScript. The stack also includes TypeScript, Cloudflare Workers, D1.
Apache 2.0 license: use freely including commercially, with patent protection, as long as you keep attribution notices.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.