# PurrCat

A local-first personal AI agent framework with a hybrid short-term and long-term memory, combining an episodic SQLite store and a semantic knowledge graph, plus a DAG-based workflow engine for running several agents concurrently under one persona.

PurrCat combines several kinds of memory: an in-memory short-term store retaining condensed summaries of recent interactions across session switches, a core memory file holding user profile and work-experience information injected into the system prompt at startup, and a long-term structured memory with an episodic engine backed by SQLite full-text search and a semantic engine backed by a graph database, whose relations strengthen or weaken over time and can be exported as an HTML graph. Retrieval fuses BM25 keyword search and vector search concurrently through a thread pool, and new information is buffered and converted into structured facts by a background process, with a decay mechanism cleaning up long-unused memories.

A separate workflow engine runs multiple agents concurrently under a single persona, intended to avoid the overhead of natural-language back-and-forth between separate agent instances.

It ships as a desktop Electron application with a one-line install script that also installs its prerequisites, such as git, uv, Node.js and Docker; it is written in Python and licensed under MIT.

Website: https://purrpod.github.io/
