I built one inspired by OpenClaw's approach to file-based memory.
It stores facts in a plain `memory.md` file and chat history in daily logs. On startup, it builds an in-memory semantic index from those files using the embedding model you pass in. The files are the source of truth, embeddings are just a search cache.
`npm install memdir`
https://github.com/artiebits/memdir
It's naive and in beta, but has zero dependencies and is fully local, so no data leaves your machine.
Feedback appreciated.