Yet Another Memory Layer, inspired by Cognitive Science, designed for Cyber Waifu
These are the design goals for Plast Mem, some of which may not yet been implemented. See docs/ARCHITECTURE.md for implementation details.
Plast Mem is built around self-hosting and does not try to steer you towards a website with a 'Pricing' tab.
Written in Rust, it is packaged as a single binary (or Docker image) and requires only a connection to an LLM service (such as llama.cpp) and a ParadeDB database to work.
Conversations flow continuously, but human memory segments them into discrete episodes. Plast Mem uses Event Segmentation Theory to detect natural boundaries—topic shifts, time gaps, or message accumulation—and creates episodic memories at these boundaries.
By introducing FSRS (Free Spaced Repetition Scheduler), we can determine when a memory should be forgotten.
Retrieval records candidate memories for review; when the conversation is later segmented, An LLM evaluates each memory's relevance (Again/Hard/Good/Easy) and updates FSRS parameters accordingly.
We have not yet released version 0.1.0 because the core functionality is incomplete. However, you are welcome to join us in developing it! See CONTRIBUTING.md for guidelines.
No, but I might draw inspiration from some of it - or I might not.
For locally running embedding models, we recommend Qwen3-Embedding-0.6B - its dimensionality meets requirements and delivers high-quality embeddings.
For other embedding models, simply ensure they can output vectors of 1024 dimensions or higher and support MRL, like OpenAI's text-embedding-3-small.
For chat models, no recommendations are currently available, as further testing is still required.
This project is inspired by the design of: