FishMem

Open Source

The fishmem engine and the self-hostable control-plane that powers FishMem Cloud.

FishMem is open-core. The part that does the work — extracting facts, reconciling them, and recalling them — is fully open source. There is no secret fork: the hosted cloud runs the same engine code you can read and embed yourself.

There are two open-source pieces, and you can use either or both.

1. The fishmem engine

fishmem (Apache-2.0) is a library you embed in your own app. You construct a Memory instance, point it at an LLM provider, an embedding provider, a graph store, and a vector index, and call add / search / get / update / delete / history directly — no network hop, no API key.

app.ts
import { Memory } from 'fishmem'

const memory = new Memory({
  llm: { provider: 'openai', model: 'gpt-4o-mini' },
  embedder: { provider: 'openai', model: 'text-embedding-3-small' },
})

await memory.add(
  [{ role: 'user', content: 'I prefer dark mode and write TypeScript.' }],
  { userId: 'alex' },
)

This is the right starting point if you want memory inside a single service and are happy to manage your own stores and provider keys. Start with the quickstart.

2. The self-hostable control-plane

The engine is a library. The control-plane is the full application that wraps it: a web dashboard, API key management, the mem0-compatible REST API, usage views, workspace isolation, and webhooks. It ships as the apps/web app in this same open-source fishmem-labs/fishmem repo, and is the same app that powers FishMem Cloud.

It runs on your own Cloudflare account — Workers for SSR and the API, D1 for the graph store, Vectorize for the vector index, and R2 for object storage. Run this when you want a team-facing platform (keys, dashboard, REST surface) rather than an embedded library. See Run the dashboard.

Open-core, honestly

The engine and the control-plane are both open source. The managed FishMem Cloud does not run different memory code — it runs the same engine and the same control-plane app. What you pay for on the managed cloud is operations: billing, usage metering and credits, scaling, updates, and an SLA. The memory behavior is identical whether you self-host or use the cloud.

For a side-by-side on which to choose, see Platform vs. open source.

Where to go next

On this page