By beggars on Skatehive
In case you missed the announcement, I released an open-source Discord bot written in Rust called Buzzkeeper (a play on Buzzkiller). Buzzkeeper started with a very simple form of memory: persist a list of notes, then shove the latest few into the prompt. That worked for early testing, but it breaks down fast in practice: the newest memories are not always the relevant ones the bot can remember facts, but it struggles to recall the right fact at the right time state-linked history like "what did I say when I was absolutely cooked?" needs more than recency running a separate vector database felt like operational overkill for a Discord bot So the memory system was upgraded to use a hybrid SQLite-backed RAG layer. What Changed Buzzkeeper now keeps two durable stores: JSON for guild state, persona state, permissions, drink/action config, and conversation state SQLite for long-term memory indexing and retrieval That SQLite memory index uses: FTS5 for lexical recall sqlite-vec for embedded ve