Testing with my own agent, I quickly became unsatisfied with the current agent memory backends. The most advanced solution currently seems to be OpenViking. OpenViking went broader (filesystem + vector search + skills as first-class), we went deeper (recursive distillation with time decay). We believe our method is superior, and are releasing it as an independent project. It plugs into any agent, records the data and compresses it into chunks based on tags and timestamps. It's how Autolycus was working internally anyway, but it grew too much, had to be separated.
If you use various agents, each gains automatically from the experience of the others. It doesn't just plug-in to agents, it aggregates sessions together as much as it can. It uses tags to classify subjects. More flexible but more prone to overlap: which doesn't matter, because only a single non-redundant shard is served, and the redundance gets filtered each tier level, and only the most recent relevant shard is served. It only has sync and uv as dependencies (or sync + python311 + python311-sqlite3, which are the current default versions in FreeBSD).
Available free here: https://github.com/waym0reom3ga/TotalRecall