FishMem

Overview

One private memory. Every agent.

FishMem is a privacy-first memory layer for AI agents. It turns conversations into compact durable records by default, stores already-distilled input verbatim when requested, keeps records isolated by scope, and recalls the relevant parts in later sessions.

FishMem has three product surfaces:

  • FishMem Desktop — local memory for Codex and Claude Code.
  • FishMem Open Source — a self-hosted memory service, REST API, dashboard, and TypeScript engine.
  • FishMem Cloud — the managed commercial service, with API keys, observability, operations, and webhooks.

Start here

Browse by task

The memory contract

infer: true is the application default: one LLM call extracts refined canonical records, and only those records are stored. infer: false stores submitted content records verbatim and makes zero LLM calls. FishMem never writes both forms for one add and never silently falls back when extraction fails.

Long text and files follow a separate document path: retain the source and index chunks for RAG instead of pretending every passage is a durable personal fact. Derived state and profile views remain rebuildable projections with provenance back to canonical records.

Recall can combine keyword, vector, temporal, and graph signals when configured. The exact storage and retrieval capabilities depend on the deployment profile; basic storage does not require a hosted embedding provider.

Evaluation snapshot

The frozen 2026-08-24 comparison uses paired items and the same disclosed write, answer, embedding, and judge configuration for FishMem and mem0 OSS 3.1.2.

BenchmarkPaired itemsFishMemmem0Paired delta (95% CI)
LongMemEval oracle50088.2%83.8%+4.4 pt (+1.0 to +7.8)
BEAM 100k40046.7%41.0%+5.7 pt (+1.8 to +9.5)
LoCoMo, categories 1–51,98667.5%71.1%-3.7 pt (-5.8 to -1.5)

This is two statistically positive results and one statistically significant loss—not a universal-superiority claim. The LongMemEval result is the oracle variant, not LongMemEval-S. Cost and end-to-end wall-clock claims are withheld because recovered process attempts make the reused baselines unsuitable for those comparisons. Read the full evidence report for configuration manifests, category results, artifact hashes, and all claim boundaries.

Choose your path

On this page