AiHummer
English
Sign inAccount
v1.1.x
{ }Swagger

Memory (Einstein)

v1.1.x · updated 2026-06-26

Einstein is AiHummer’s long-term memory. It turns conversations into durable facts, but it does so carefully: nothing becomes memory without evidence and a human in the loop, and recall is wrapped so it can never act as a back door for prompt injection. Memory is administered under /v1/admin/memory/*.

This page explains the claim → review → promote pipeline, how recall is protected, and what is configurable. For the packaged memory service, see the Einstein plugin.

Claims, evidence and review

Memory is not written silently. As conversations happen, candidate facts are extracted as claims, each carrying the evidence it was drawn from. Claims go to review, where a human can accept or reject them, and only accepted claims are promoted into long-term memory.

conversation ─▶ claim (+ evidence) ─▶ human REVIEW ─▶ PROMOTED to memory

[!NOTE] Promotion is human-reviewed. The system indexes and proposes, but it never silently rewrites memory. This is what keeps long-term memory trustworthy enough to ground real answers.

Canonical Markdown is a readable projection

The system store of memory (the source of truth) is PostgreSQL. On top of it Einstein keeps canonical Markdown — a human-readable projection of that memory: it is what a person reads and edits during review. The Markdown is never silently overwritten, which keeps memory human-readable, reviewable and portable, rather than an opaque blob. It is a projection, not a second authoritative store.

Data-fenced recall

When memory is recalled into a turn, it arrives as a tool result wrapped in a data-fence. The data-fence marks recalled content as data, not instructions, so text stored in memory cannot hijack the agent — this is the defence against indirect prompt injection (where a malicious instruction is smuggled in via remembered content).

[!WARNING] Recalled memory is data, never commands. The data-fence is what enforces this. Do not disable it: it is the boundary that stops a poisoned memory from steering an agent.

What you can configure

Memory behaviour is governed by core settings — tunable from the admin UI (Management → Settings) and the admin API. The Einstein plugin itself has no operator settings.

Setting Options / purpose
Memory mode (AIHUMMER_MEMORY_CAPTURE) auto (extract and promote on the configured policy — the default), review (human gate), or off (collection stopped)
Retrieval (AIHUMMER_MEMORY_RETRIEVAL) Full-text and/or embedding-based recall
Embeddings AIHUMMER_EMBEDDER_URL / AIHUMMER_QDRANT_URL — the embedder and vector store used for semantic recall

Periodic consolidation (“dream”) and contradiction detection are built-in behaviour of the memory platform, not operator settings. The memory module is built in and cannot be removed; the off mode only stops collecting new memories, it does not remove the module itself.

[!TIP] Start with review mode in production so a human approves what becomes long-term memory, then move to auto only once you trust the extraction for a given workspace.

By default, recall can run on an in-memory store with a hash embedder. For production-quality semantic recall, point AiHummer at a real vector store and embedder with AIHUMMER_QDRANT_URL and AIHUMMER_EMBEDDER_URL.

Admin API

Resource Purpose
/v1/admin/memory Memory configuration and management
/v1/admin/memory/.../facts Review claims, promote or reject facts

Where to next