Given the abundance of vaguely similar local-first AI memory layers, it might be a good idea to add a "Why Mnemo" section right at the top of README.md to explain why folks should consider using it.
Done "Why mnemo" section added to the README with a
comparison table. Short version: single Rust binary,
zero cloud, petgraph knowledge graph with multi-hop
traversal, scored retrieval. Link in case you want to
check it: github.com/zaydmulani09/mnemo
BM25 is in my other project vecdb. mnemo's retrieval is
graph-first — entity deduplication, multi-hop traversal,
session-scoped scoring. Different tradeoff, not an oversight.
Everybody builds one. And, then they usually figure out that making the model fill its context with a bunch of memories hurts performance more often than it helps.
I tend to agree with the rest of the commenters that the most likely outcome is that harnesses will include features like this. I had a slightly different issue and that was 'project-level memory' that i can use across models or harnesses (chat, claude code, etc).
for a while i used Obsidian but it was not very good with hosted tools like claude.ai then i moved to a combination of Linear and Notion. Still using Linear but Notion ended up being a royal pain: it is built for humans not agents. It is block based and when multiple agents use it there is a lot of corruption in the process.
I wanted a markdown only, notion built for agents that can work with multiple agents so built one: markbase.cloud
Yes, the multi-agent governance takes a lot of solving.. thus far I've gotten Hermes writing to the same memory store that Claude code, antigravity, cursor, etc can all contribute, pull from, but it's taken a whole separate layer of governance.
Agents that can write to shared memory are powerful. Agents that can write to shared memory without oversight are a liability. Mori has the governance layer - https://github.com/fjwood69/mori
Nice approach, the Rust performance and single-binary deployment are compelling. Question, how do you handle contradictory facts? If John moves from Stripe to Google, does the graph resolve that, or does it store both?
24 comments
[ 4.9 ms ] story [ 43.9 ms ] thread> Most LLMs forget everything the moment a conversation ends. mnemo fixes that
Even the opening line of the README is obviously very out of date. Might be true if you’re raw-dogging a model or using a basic agent SDK
https://github.com/MikeS071/ai-engram
https://github.com/lamost423/openclaw-hybrid-memory
https://medium.com/@qdrddr/agentic-memory-framework-hindsigh...
https://clawhub.ai/vnesin-sarai/hybrid-retrieval
https://www.josecasanova.com/blog/openclaw-qmd-memory
https://medium.com/@richardhightower/stop-the-hallucinations...
https://github.com/oomkapwn/enquire-mcp#-why-its-the-best
https://github.com/rohitg00/agentmemory#key-capabilities
https://github.com/Melody-0321/NE-Memory-Core
https://github.com/ClaudioDrews/memory-os
https://en.wikipedia.org/wiki/Okapi_BM25
> It is based on the probabilistic retrieval framework developed in the 1970s and 1980s
Anyway, good for ya, hope you had fun building it.
for a while i used Obsidian but it was not very good with hosted tools like claude.ai then i moved to a combination of Linear and Notion. Still using Linear but Notion ended up being a royal pain: it is built for humans not agents. It is block based and when multiple agents use it there is a lot of corruption in the process.
I wanted a markdown only, notion built for agents that can work with multiple agents so built one: markbase.cloud
feel free to try and use it. i think it's useful
Agents that can write to shared memory are powerful. Agents that can write to shared memory without oversight are a liability. Mori has the governance layer - https://github.com/fjwood69/mori
For single bins or otherwise, brew is definitely preferred.
How does mnemo decides when to forget something? So old history wont pollute the new answers?
It looks like this is left as an exercise for the student?