Show HN: Mnemo – local-first AI memory layer for any LLM (Rust, SQLite,petgraph)

Posted by zaydmulani 6 days ago

Counter60Comment28OpenOriginal

Comments

Comment by georgespencer 6 days ago

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.

Comment by cush 6 days ago

Or just wait a week and whatever’s built into your harness de jour will be as good or better than whatever homebrew solutions are out there

> 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

Comment by SwellJoe 6 days ago

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.

Comment by menno-sh 5 days ago

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.

Comment by zaydmulani 5 days ago

[dead]

Comment by cush 5 days ago

I’m not sure how your reply is related to my comment. Harnesses come with capable memory systems. If you want your harness to forget then turn it off.

Comment by zaydmulani 6 days ago

[dead]

Comment by zaydmulani 6 days ago

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

Comment by zaydmulani 6 days ago

[dead]

Comment by bilbo-b-baggins 6 days ago

Comment by asdev 6 days ago

I haven't seen one unique product in AI, everyone is building the same thing

Comment by zaydmulani 6 days ago

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.

Comment by fractorial 5 days ago

I rolled the same thing in Go months ago as I am sure at least another 1000 people have in their own way.

Comment by zaydmulani 5 days ago

Would genuinely be interested to see it. link? The graph traversal approach seems underexplored compared to pure vector search.

Comment by andai 6 days ago

Do any of them work properly yet?

Comment by fjwood69 3 days ago

sure they do.. but it's painful

how to capture, what to capture, when to capture it.. where to put it.. how to make it 'useful'.. how to reinject it or make it accessible

the harness makers may well come up with better means than flat files, but there are loads of folks out there working across different harnesses and in teams, and there's very little that works in that respect.

why I built mori - https://github.com/fjwood69/mori

use it solo, use it in your homelab/office, use it in the cloud with a team..

Comment by zaydmulani 6 days ago

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.

Comment by 3 days ago

Comment by SwellJoe 6 days ago

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.

Comment by esafak 6 days ago

That's why I always ask: got benchmarks?

Comment by zaydmulani 6 days ago

Yes — cargo run -p mnemo-bench. Ships with 12 benchmarks. Full retrieval pipeline is ~4ms on debug build. Numbers are in the README performance table.

Comment by SwellJoe 6 days ago

I don't care if it's fast, if it makes the model dumber by cluttering up context.

Comment by zaydmulani 6 days ago

[flagged]

Comment by zaydmulani 6 days ago

[dead]

Comment by kdkdkdjdksksn 6 days ago

[dead]

Comment by ksajadi 6 days ago

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

feel free to try and use it. i think it's useful

Comment by fjwood69 3 days ago

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

Comment by zaydmulani 6 days ago

[dead]

Comment by vichoiglesias 5 days ago

I think we are all experiencing more or less the same kind of pain regarding memory+llms, and love to see how different approaches exist this problem.

How does mnemo decides when to forget something? So old history wont pollute the new answers?

Comment by zaydmulani 5 days ago

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.

Comment by fjwood69 3 days ago

[flagged]

Comment by andywidjaja 5 days ago

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?

Comment by zaydmulani 5 days ago

[flagged]

Comment by zamalek 4 days ago

> and injects relevant context back into future prompts

It looks like this is left as an exercise for the student?

Comment by pylotlight 5 days ago

Brew installation? Not looking to use pip or load manually.

For single bins or otherwise, brew is definitely preferred.

Comment by zaydmulani 5 days ago

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.

Comment by phantomathkg 6 days ago

Is there any relevance with another tool call mnemon?

Comment by zaydmulani 6 days ago

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.

Comment by jazzen 4 days ago

[flagged]

Comment by sikamikanikobg 3 days ago

[flagged]

Comment by Pixel-Labs 5 days ago

[flagged]

Comment by rayan_ 6 days ago

[flagged]

Comment by xuanlin314 4 days ago

[flagged]

Comment by xuanlin314 5 days ago

[flagged]