metronix-memory vs utopia
Self-hosted agent memory stack in Docker: Postgres + Qdrant + Neo4j hybrid retrieval, a temporal knowledge graph, ontology layer and freshness checks behind one MCP-native API. — versus — DeepLethe's open 'enterprise world model': one Rust binary plus Postgres running a bitemporal knowledge graph with ontology packs, cited hybrid search, an agent harness and MCP. Air-gap ready.
Both put a temporal knowledge graph and an ontology layer under hybrid retrieval, self-hosted. Metronix is memory infrastructure for agents (Postgres + Qdrant + Neo4j in Docker); Utopia is an enterprise knowledge base with a UI, in one Rust binary on Postgres.
| metronix-memory | utopia | |
|---|---|---|
| Stars | 97 | 4.5k |
| Forks | 11 | 422 |
| Language | Python | Rust |
| License | Apache-2.0 | Apache-2.0 |
| Last activity | 2 days ago | today |
| Topics | memory, rag, knowledge-graphs | knowledge-graphs, rag |
| Curated connections | 7 | 5 |
metronix-memory — the curator's take
Reach for it when you want one self-hosted box doing dense + sparse + graph retrieval and keeping long-lived facts fresh, and you're willing to run four datastores to get it. Skip it if you only need per-project session recall — a SQLite memory plugin is a fraction of the operational surface. Read the benchmark table with care: they are the author's own N=1 runs under a self-defined protocol, and the honest signal in them is that retrieval scores (Recall@10 85-95%) far outrun end-to-end answers (53-63%) — finding the evidence was never the hard part.
utopia — the curator's take
For a company that wants a governed knowledge base its agents can trust, on its own hardware: ingest PDFs/Office/Markdown and sync sources (GitHub, Jira, Notion, S3), extraction follows an ontology you pick at creation (schema.org, W3C Org, PROV-O, FOAF, IOF ship in the binary), facts are bitemporal so you can ask what was known as of a date, and a built-in agent walks the graph with the same read-only tools exposed over MCP. Tantivy full-text is embedded, vectors go in pgvector, the job queue is a table — nothing else to run. NOT a memory layer for an agent app (it is a product, not a library) and not for a single person's notes: the ontology and audit machinery only pay off when several people and agents share the knowledge.