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.
After working with LLMs a bunch, I now want them to forget everything every time I end the conversation. Otherwise they get dumber and more confused over time.
LLMs do not have memory and these "memory" systems that everyone makes don't change that fact. They just clutter up context with probably irrelevant noise. I don't want the LLM to remember everything I've ever said and try to make every project align with often contradictory or unrelated facts, rules, guidelines, practices, whatever, because when it tries it gets messier and makes worse software.
I don't want the LLM to be my friend and remember my birthday. I have it write plans, developer docs, test suites, and static analysis into every project. That's the "memory". It's compatible with every agent, it's in their native tongue (Markdown and code), and it's focused on the specific project.
Yep, the memory in the ChatGPT macOS app is also starting to piss me off. I think developers generally dislike ‘hidden’ state, which is what memory essentially becomes.
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
Fair. The differentiator is the Rust single binary +
petgraph knowledge graph. No Python runtime, no cloud,
survives restarts. Built it because nothing local fit
that profile.
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.
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
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.
Currently mnemo doesn't have automatic forgetting it's on
the v0.2.0 roadmap. The mitigation right now is that retrieval
scoring weights recency, so older chunks naturally rank lower
than recent ones. A TTL system and explicit memory decay are
the right long-term fix. Good callout.
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?
Homebrew tap is on the roadmap. For now the fastest path on
Mac is cargo install --path crates/mnemo-api or the Docker
one liner. Will add a brew tap for v0.2.0.
Different project — mnemon is a Python-based memory tool.
mnemo is a Rust binary with a knowledge graph layer and
REST API sidecar. Similar name, different approach.
> 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
LLMs do not have memory and these "memory" systems that everyone makes don't change that fact. They just clutter up context with probably irrelevant noise. I don't want the LLM to remember everything I've ever said and try to make every project align with often contradictory or unrelated facts, rules, guidelines, practices, whatever, because when it tries it gets messier and makes worse software.
I don't want the LLM to be my friend and remember my birthday. I have it write plans, developer docs, test suites, and static analysis into every project. That's the "memory". It's compatible with every agent, it's in their native tongue (Markdown and code), and it's focused on the specific project.
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
How does mnemo decides when to forget something? So old history wont pollute the new answers?
For single bins or otherwise, brew is definitely preferred.