Launch AI Works
InsightsNov 12, 20266 min read

Waku Agent: Your Local-First AI Assistant in 95 Lines of Code

Waku Agent is a local-first AI assistant that runs on your laptop, giving you full control over memory, loops, and evals.

LBy Launch AI Works
Waku Agent: Your Local-First AI Assistant in 95 Lines of Code
The short version

Waku Agent is a local-first AI assistant you actually own, with a 95-line loop, SQLite memory, and built-in eval. Small businesses can use it to remember customer preferences, automate tasks, and keep data private.

What Is Waku Agent?

Waku Agent is a local-first personal assistant built around four pillars: Harness, Loop, Memory, and Eval/LLM-Ops. According to the GitHub repository, it is a codebase you own, not a product you use. The loop is about 95 lines of plain Python, and the memory is stored in a single SQLite file at ~/.waku/state.db.

The agent runs entirely on your laptop, with no cloud dependencies. It supports multiple models including Anthropic, OpenAI, Gemini, DeepSeek, MiniMax, Kimi, GLM, OpenRouter, OpenCode Zen, and OpenCode Go. You set the provider and paste one key to get started.

Why Small Businesses Should Care

Small businesses often juggle customer preferences, scheduling, and repetitive tasks. Waku Agent can replace manual note-taking and spreadsheets with a single, readable codebase. For example, you can tell it to remember that a client prefers morning meetings, and it will recall that information even after a restart.

Because the memory is local and stored in a SQLite file, you retain full control over your data. There is no third-party cloud service holding your customer information. This is especially valuable for businesses that handle sensitive data or want to avoid vendor lock-in.

How It Works

The agent’s loop is about 95 lines of plain Python. It reasons, acts, and repeats, with two ways to stop. The memory system includes semantic, episodic, and procedural (skills) types. A gate decides whether to remember, and consolidation decides what to keep.

The dashboard lights up every message as it flows through the harness. You can watch the agent think in real time. The eval system includes deterministic tests and LLM-as-judge side by side, with a release gate. This means you can test changes before deploying them to production.

Getting Started

To install, you run ‘pip install waku-agent’ and then ‘waku’ to talk to the agent in the terminal. You can also run ‘waku dashboard’ to open a browser cockpit at localhost:7777. The first run will tell you which API key to set.

If you want to read or modify the code, you clone the repository and install it with ‘uv pip install -e .’. The agent supports connecting to Waku Memory, a hosted memory service you can share across agents like Claude Code and Codex. You can also connect to live data sources like treg for research.

What Makes It Different

Unlike ChatGPT or Claude Desktop, which are products you use, Waku Agent is a codebase you own. You can read and change the loop, memory schema, gate, and eval harness. Compared to larger open-source assistants like OpenClaw or Hermes, it has the same architecture but with 1/100th the code.

The repository has 2.2k stars and 428 forks on GitHub. It is licensed under MIT for the main code, with the hosted/ folder under Elastic License 2.0. The community is active, with a Discord server and good first issues for new contributors.

Takeaways

  • Waku Agent is a local-first AI assistant you own, with a 95-line loop and SQLite memory.
  • Small businesses can use it to remember customer preferences, automate tasks, and keep data private.
  • It supports multiple models and has built-in eval for testing changes before deployment.
L

Launch AI Works builds practical AI and automation inside small businesses. Notes in Insights are written from sources we cite and checked before publishing.

Your turn

Where would this work in your business?

Take the two-minute AI Opportunity Snapshot and we will point to where automation is most likely to pay off for you.

2mFree AI Opportunity Snapshot →