Show HN: Unify memory across agents and improve context rot, written in Rust
github.comI was frustrated that memory is usually tied to a specific tool. They’re useful inside one session but I have to re-explain the same things when I switch tools or sessions. Furthermore, most agents' memory systems just append to a markdown file and dump the whole thing into context. Eventually, it's full of irrelevant information that wastes tokens.
So I built this local memory layer that unifies memory across agents. Instead of a flat file, it builds a structured knowledge graph of "memory notes" inspired by the paper "A-MEM: Agentic Memory for LLM Agents" (https://arxiv.org/abs/2502.12110). The graph continuously evolves as more memories are committed, so older context stays organized rather than piling up.
It captures conversation turns and exposes an MCP service so any supported agent can query for information relevant to the current context. In practice that means less context rot and better long-term memory recall across all your agents. Right now it supports Claude Code, Codex, Gemini CLI, OpenCode, and OpenClaw.
Would love to hear any feedback. i've been building a persistent context layer that captures screen + audio continuously using screenpipe and syncs to a vector db. how are you handling the relevance scoring? time-based decay alone doesn't work because some old context is critical (architectural decisions) and some recent context is noise. I've left it up to claude code to reason based on the timestamps, and is helpful for the most part, but far from perfect