Memoria vs memvid
Rust memory layer for AI agents with Git-style version control — snapshot, branch, merge and rollback over MatrixOne's copy-on-write engine, plus hybrid vector + full-text retrieval. — versus — Single-file memory layer for agents: data, embeddings, index and metadata in one portable .mv2 — append-only Smart Frames, time-travel queries, sub-5ms recall, no server. Rust core, Node/Python SDKs.
Both are Rust memory layers with version-control semantics: memoria does explicit Git-style snapshot/branch/merge over Mat storage; memvid does append-only Smart Frames with time-travel baked into one portable file.
| Memoria | memvid | |
|---|---|---|
| Stars | 472 | 16k |
| Forks | 61 | 1.4k |
| Language | Rust | Rust |
| License | Apache-2.0 | Apache-2.0 |
| Last activity | 29 days ago | 14 days ago |
| Topics | memory | memory, local |
| Curated connections | 5 | 2 |
Memoria — the curator's take
Pick it when memory auditability and reversibility matter — you want to branch an agent's memory, roll back a bad write, or trace the provenance of every fact, and you're fine running MatrixOne underneath. Overkill if you just need a simple recall store (memmachine, memmolt) or fully-local files (memanto) — the versioning engine and DB dependency are the cost. Young project, Apache-2.0.
memvid — the curator's take
The portability bet is the real differentiator: one .mv2 capsule holds the whole memory — hand it to another agent, ship it offline, branch it, rewind it. The project began life literally encoding text into video frames; the codec DNA survived the Rust rewrite as compression smarts, and the maturity question survives with it. Benchmark claims (+35% SOTA on LoCoMo, '1,372× throughput') are self-run — the eval is open, so run it before repeating it. When NOT: team-shared concurrent memory — single file, append-only, no server means no multi-writer story; that's what the server-based layers are for.