// the find
CaviraOSS/OpenMemory
Local persistent memory store for LLM applications including claude desktop, github copilot, codex, antigravity, etc.
OpenMemory is a self-hosted memory layer for LLM applications — SQLite or Postgres backend, Python and Node SDKs, MCP server. It positions itself as proper cognitive memory (episodic, semantic, procedural sectors with decay and temporal tracking) rather than a thin wrapper around a vector store. Aimed at developers building agents or copilots who don't want to hand their memory data to a cloud vendor.
The temporal knowledge graph is the most interesting piece — `valid_from`/`valid_to` on facts and automatic timeline closure is something most memory libraries skip entirely. The explainable recall traces (waypoint graph showing which nodes were used and why) are genuinely useful for debugging agent behavior. Both Python and Node SDKs share the same conceptual model, so switching runtimes doesn't require re-learning the API. MCP support means you can wire it into Claude, Cursor, or Windsurf without custom glue code.
The README opens with a 🚧 rewrite-in-progress warning and a plea for contributors — that's a significant red flag for anyone considering adoption today; the main branch and the rewrite branch are diverged and it's unclear which is production-ready. The claim of 'not RAG' is undermined by the architecture diagram, which shows embeddings going into SQLite/Postgres and retrieval via vector search — the sector classification layer on top doesn't change what the retrieval mechanism is. The Python package has a `tests/` directory where one test file is itself a directory (`test_multilingual_dedup.py/test_multilingual_dedup.py`), which suggests the test suite is not regularly run. Composite scoring (salience + recency + coactivation) sounds good but there's no published benchmark or explanation of how the weights were chosen, so you're trusting it blindly.