v6.5  •  Open Source

Your agents have
amnesia

Engram is a cognitive memory system that learns what matters, forgets what doesn't, and builds a knowledge graph that grows smarter over time. No external APIs. No vendor lock-in. Your hardware, your data.

Get Started → Try Live Demo
TypeScript

AI memory is broken

🔄

Perpetual Reset

Every session starts from zero. Your agent has no continuity, no history, no accumulated knowledge.

Context Windows Aren't Memory

They're short-term buffers that vanish the moment the conversation ends. That's not remembering -- that's forgetting with extra steps.

🗃

Vector Dumps Don't Think

Markdown files and vector databases don't forget, prioritize, or connect. They can't tell important memories from noise.

🧠

Agents Need a Hippocampus

Not a filing cabinet. A cognitive system that strengthens useful memories, lets irrelevant ones fade, and discovers connections on its own.

Everything agents need to remember

One Node.js process. One SQLite database. Local embeddings. No external APIs. No vendor lock-in.

FSRS-6 Spaced Repetition

Memories strengthen with use and fade when ignored. Based on the algorithm behind 100M+ Anki reviews.

🧠

4-Channel Hybrid Search

Vector similarity, full-text, personality signals, and graph traversal fused via Reciprocal Rank Fusion.

🕸

Knowledge Graph

Auto-linking, community detection, PageRank. Memories aren't flat files -- they're a connected web.

🎭

Personality Engine

Preferences, values, motivations, identity. Every recall shaped by who your agent is talking to.

🔒

Self-Hosted, Zero Dependencies

One Node.js process. One SQLite database. Local embeddings. No OpenAI key. No cloud bills.

🔧

Not Another MCP Server

Engram is a real server with a REST API, TypeScript SDK, and CLI. Works everywhere, not just MCP clients.

🧩

Atomic Fact Decomposition

Long memories broken into self-contained facts. Each independently searchable, all linked to source.

Contradiction Detection

When your agent learns something that conflicts with existing knowledge, Engram catches it.

🛡

Guardrails

Agents check before they act. Stored rules return allow/warn/block before destructive operations.

📖

Episodic Memory

Full conversation episodes as searchable narratives. Ask "what happened last Tuesday?" and get a real answer.

Time-Travel Queries

Query what your agent knew at any past moment. Debug decisions, audit context drift.

📦

Bulk Ingestion

Markdown, PDFs, chat exports, ZIP archives. Full pipeline from raw documents to searchable memory.

View all capabilities

Smart Memory

  • FSRS-6 Spaced Repetition -- 21-parameter algorithm with power-law forgetting curves
  • Dual-Strength Model -- Bjork & Bjork: storage strength never decays, retrieval strength resets on access
  • Versioning -- Update memories without losing history. Full version chain preserved
  • Auto-Deduplication -- SimHash 64-bit locality-sensitive hashing detects near-identical memories
  • Auto-Forget / TTL -- Set memories to expire. Background sweep every 5 minutes
  • Contradiction Detection -- LLM-verified conflict scanning with resolution options

Intelligence Layer

  • 4-Channel Hybrid Search -- RRF across vector, FTS5, personality, and graph signals with cross-encoder reranking
  • Fact Extraction & Auto-Tagging -- Structured facts with temporal validity windows
  • Atomic Fact Decomposition -- Long memories split into independently searchable atomic facts
  • Conversation Extraction -- Feed raw chat logs, get structured memories
  • Reflections & Consolidation -- Meta-analysis and cluster compression
  • Abstention -- Search knows what it doesn't know. No false positives on unrelated queries
  • Personality Engine -- Six signal types shape future recall scoring
  • Guardrails -- Pre-action safety checks: allow/warn/block
  • Assistant Recall -- Captures what the AI said, recommended, and produced

Developer Platform

  • MCP Server -- 25+ tools for Claude Desktop, Cursor, Windsurf, and other MCP clients
  • TypeScript SDK -- First-class client with store, search, context, guard, inbox
  • CLI -- Full access to every feature from your terminal
  • REST API -- 80+ endpoints with OpenAPI 3.1 spec
  • Multi-Tenant + RBAC -- Isolated memory per user with role-based access
  • Webhooks & Digests -- Event hooks with HMAC signing and scheduled digests
  • Cross-Instance Sync -- Keep multiple deployments in sync
  • Audit Trail -- Every mutation logged with who, what, when, from where
  • Scratchpad -- Ephemeral working memory with TTL auto-purge

Visualization & Organization

  • WebGL Galaxy Graph -- Interactive memory space visualization at /gui
  • Knowledge Graph -- Auto-linking, PageRank, community detection
  • Episodic Memory -- Conversation episodes as embedded, searchable narratives
  • Entities & Projects -- First-class people, servers, tools, and projects
  • Review Queue / Inbox -- Approve, reject, or edit before memories enter recall
  • Community Detection -- Label propagation surfaces memory clusters
  • PageRank -- Structural importance scoring boosts search results
  • Time-Travel Queries -- Query memory state at any past moment
  • Graph Timeline -- Weekly knowledge graph growth tracking

See your memory space

Engram includes a built-in WebGL graph visualization. Explore connections between memories, search, create, edit, all from the browser.

demo.engram.lol
🧠
Interactive Memory Galaxy
Explore a live demo with sample memories and auto-generated links. Click nodes to inspect. Search, filter by category, create new memories. Keyboard shortcuts for power users.
WebGL Rendering Force-Directed Layout Real-time Search Category Filters
Open Live Demo →

A day with Engram

What it actually looks like to use persistent memory.

Session starts

Pick up where you left off

Your agent pulls context from Engram. It knows the project state, your preferences, what you decided last time, and what's still unresolved.

While working

Decisions and discoveries stored automatically

New architecture choices, deployment configs, bug resolutions -- all stored with importance scoring and auto-linked to related memories.

Conflict detected

"You said X last week but now Y -- which is correct?"

Engram catches contradictions between new information and existing knowledge. Your agent surfaces them instead of silently overwriting history.

Session ends

Memories consolidate, weak ones fade

Important memories grow stronger. Irrelevant details lose retrieval strength. The knowledge graph reorganizes around what actually matters.

Next session

Your agent remembers everything that mattered

Not a transcript dump. Not a vector search over flat files. Weighted, prioritized, personality-aware context -- assembled from a living knowledge graph.

How memory retrieval strength works

Click "Recall" to see how spaced repetition builds lasting memory.

Retrievability: 100% Stability: 1.0d Reviews: 0

Three lines to persistent memory

TypeScript SDK, CLI, or raw HTTP. Pick your weapon.

TypeScript npm install @ghost_frame/engram
const mem = new Engram({
  url: "http://localhost:4200",
  apiKey: "eg_...",
});

await mem.store("Auth migrated to JWT", {
  category: "decision", importance: 9,
});

const ctx = await mem.recall("authentication setup");

// Check FSRS memory health
const fsrs = await mem.fsrsState(id);
// { retrievability: 0.94, stability: 6.2 }
CLI npm install -g @ghost_frame/engram
# Store a memory
engram-cli store "Auth migrated to JWT" \
  --category decision --importance 9

# Search with explanation
engram-cli search "auth setup" --explain

# Budget-aware context for RAG
engram-cli context "auth setup" \
  --budget 2000

# All commands support --json output
cURL raw HTTP
# Store a memory
curl -X POST localhost:4200/store \
  -H "Authorization: Bearer eg_..." \
  -d '{"content":"Auth migrated",
      "category":"decision",
      "importance":9}'

# Contextual recall
curl -X POST localhost:4200/context \
  -d '{"query":"auth setup",
      "budget":2000}'

Also available via MCP for Claude Desktop, Cursor, Windsurf, and other MCP clients. Setup guide →

Engram remembers. Eidolon protects.

Included with Engram. Enable when you're ready.

🛡

Action Gating

Blocks dangerous operations before they execute. Your agent checks with Eidolon before doing anything destructive.

🧠

Living Prompt Injection

Relevant memory context injected into every agent session automatically. No manual retrieval needed.

🔐

Credential Scrubbing

Secrets never leak into prompts. Eidolon intercepts and sanitizes before your agent sees them.

Get started in 30 seconds

One command. Full memory. Your hardware.

$ docker compose up -d

View on GitHub → Read the Docs Try the Demo