Waku
A local-first personal AI assistant, small enough to read in an afternoon, built to show the four pillars behind a serious agent: harness, loop, memory and evaluation, with state kept in one SQLite file the user owns.
Waku is a local-first personal AI assistant meant as a teaching reference as much as a usable tool: harness, loop, memory and evaluation are all plain code with no framework hiding the parts that matter. Its entire memory is one SQLite file that a user can open and read directly, combining semantic, episodic and procedural memory with a gate that decides whether to remember something and a separate pass that decides what to keep. The core agent loop is about 95 lines of plain Python, and a local dashboard visualizes every message as it moves through the harness.
Evaluation runs deterministic tests alongside an LLM-as-judge, side by side, with a release gate before changes ship. Model access goes through a roughly 60-line adapter that supports Anthropic, OpenAI, Gemini, DeepSeek, MiniMax, Kimi, GLM, OpenRouter and other providers, chosen with one environment variable and one API key.
It installs as a Python package with a command-line client and a browser dashboard.