Core Concepts
How memory works
Extraction, hybrid storage, and reconciliation.
When you add a conversation, FishMem doesn't store the transcript. It runs three steps:
- Extract — an LLM distills atomic, durable facts from the messages.
- Reconcile — new facts are compared against existing memories: add new ones, update changed ones, and invalidate the ones they supersede.
- Store — facts land on a graph store (entities and relations) and a vector index (semantic similarity) at the same time.
Set infer: false on an add to skip extraction and store raw content verbatim.
Bi-temporal facts
Every fact records both when it was true and when FishMem learned it. When a fact changes, the old one is superseded, not deleted — so an agent answers with the current state while the history stays queryable.