Oh
Install Oh
Theme
Appearance

Comparison

Oh vs Mem0

Mem0 gives an application a memory for each of its users: messages go in, distilled facts come back. Oh keeps an agent’s own working memory in a local SQLite file, where each fact stays linked to the records it came from. The two overlap on the word “memory” more than on the job.

01

Different products, different jobs

Mem0 is a memory layer for AI applications. Its core calls are add, which extracts facts from the messages you send, and search, which returns the memories that match a query. Memories are scoped by user_id, agent_id, and run_id, so a product can keep each end user’s memory separate. Mem0 ships in two forms: the hosted Platform, and an open-source SDK released under Apache-2.0 that you run on your own stack.

Oh is memory for the agent’s own work rather than for its users. You or your agent write records with oh put and read them with oh get; a record’s dependencies link it to the records it rests on, so a brief can be traced back to the passage or table behind each claim. One local SQLite file holds the records, the append-only log of every change, and a keyword index, and oh verify replays the log and recomputes every digest. Oh is MIT licensed, needs no account, and has no hosted service.

02

Where Mem0 Platform ends and open source begins

Both forms share the same extraction and retrieval loop and the same per-user scoping. The Platform runs the vector store, LLM, and embedder for you and adds capabilities the open-source SDK does not have: graph memory, memory decay, temporal reasoning, and Dream background consolidation, plus webhooks, memory export, custom categories, batch updates and deletes, organizations and projects, and the dashboard at app.mem0.ai. Passing the OSS SDK a decay or temporal parameter raises a “not supported” error, per the documentation.

The open-source SDK instead runs on infrastructure you provision. Its documentation counted 25 vector stores, 18 LLM providers, and 11 embedders at that page’s writing, so you choose and pay for each piece yourself. Self-hosting keeps the data on your systems and removes usage billing; the Platform-only ranking features stay on the Platform.

Feature split and provider counts from Mem0’s “Platform vs Open Source” documentation, checked September 26, 2026.

03

The one matched run so far

In September 2026 this repository ran both systems through ProsusAI’s MemEval, a third-party harness, on its stratified 102-question LongMemEval-S sample. MemEval drops the question date, answers with a 50-token cap, and re-ingests the history per question, a protocol that lowers every system’s score relative to the studies on the homepage.

MemEval on its 102-question LongMemEval-S sample, judged by the harness’s LongMemEval prompts on a GPT-4o alias. Mem0 ran the first 30 questions.
SystemReaderCorrect
Mem0 open source 1.0.3gpt-4.1-mini43.3% (13/30)
Oh semantic, same 30 questionsgpt-4.1-mini60.0% (18/30)
Oh semantic, same 30 questionsgpt-4.166.7% (20/30)
Oh semantic, all 102 questionsgpt-4.1-mini60.8%
Oh semantic, all 102 questionsgpt-4.161.8%

With the same reader on the same 30 questions, Oh answered 18 to Mem0’s 13. Mem0’s run spent about 9.0 million tokens across 2,982 calls, most of them extraction, against about 0.55 million for Oh on the same questions. The result document is direct about the bound: thirty questions cannot support a precise margin, so this is a matched observation, not a superiority claim. Mem0’s ingestion took about twelve minutes per question, which is what kept the run at 30.

Mem0 publishes higher figures from its own protocol, 94.4 on LongMemEval and 92.5 on LoCoMo at mem0.ai/research, with a different reader, judge, and ingestion path. Those scores do not compare directly with a matched run.

04

What Oh keeps that a distilled memory drops

Mem0’s add asks a model to distill messages into facts; what it stores is the extraction. Oh stores the record you write, unchanged. The claim, the stance taken on it, and the evidence for it live in separate linked records, each carrying a SHA-256 digest of the record’s exact bytes. Revising a fact appends a new operation instead of editing history, and the log replays under oh verify.

That shape suits an agent’s working memory, where “what is this answer resting on” must have an answer, more than it suits per-user personalization inside a product. Oh has no user_id model; its nearest analogue is the named space inside a database, and multi-tenant rules are the application’s job. Semantic search is optional and runs on a local model by default, keyword search needs no model at all, and sync to a libSQL database you control exchanges operations, never database pages.

05

Choosing between them

  • Choose Mem0 Platform when a product needs per-end-user memory and you want the vector store, models, webhooks, and retention tooling managed for you.
  • Choose Mem0 open source for the same memory model on your own infrastructure, with the providers you pick.
  • Choose Oh when the memory belongs to your agent’s own work: facts that keep their sources, a history that replays, and no service to sign up for.
06

Limits of this comparison

  • Dated claims Mem0’s feature split, provider counts, and published scores come from its own documentation and research page, checked September 26, 2026, and can change.
  • One 30-question study The matched run covers previously exposed questions under a harness that lowers every score, run by agents and not audited by any person or outside group.
  • Different protocols Mem0’s published figures and Oh’s benchmark figures use different readers, judges, and ingestion paths; this page reports them as published claims, not matched results.
  • Oh’s gaps Oh has no dashboard, no hosted service, and no per-end-user scoping API; it also runs no extraction step, so the records an agent writes are exactly what it stores.
07

Sources