Klippy is an agent now. One per person, a chat in your terminal, facts that outlive the chat, a y/n before it writes, limits on runaway loops and pages, and reminders that speak on their own. Time to tour it, ship it, and let bits check it.
Verified wrangler 4.157.0agents 0.33.0@cloudflare/ai-chat 0.12.2ai 7.0.162
Start from c-08 on GitHub. Starting here, or behind? Get the code at that tag:
git clone https://github.com/ryanyogan/klippy cd klippy git checkout c-08
1. Name the tag
The only code change: bits reads the tag from /klippy/check. In apps/agent/src/check.ts (and its test, test/check.spec.ts):
Run pnpm test: all 64 tests should pass. If the rate-limit test fails once, run it again: it counts in 60-second windows, and a run that crosses a window boundary can miss its 429 (fixed on Klippy's main).
2. The tour
Every lesson in one chat, locally. Ours (the Workers AI fallback answered, not Claude; input piped, so the y doesn't echo):
Read it honestly:
Memory worked: after
/clear, it still knew Dublin.But it asked instead of acting. With Dublin known, a good answer calls
getWeather. The free model asked a question; we expect Claude to do better, and will re-record once we have a key."QiDone!" is the fallback model's stray output, kept as recorded.
The last line came by itself, a minute later.
3. Ship it
In apps/agent:
pnpm wrangler deployThe first deploy with the Klippy Durable Object applies its migration (v1, new_sqlite_classes) for you. Your KLIPPY_TOKEN secret and the remote D1 table are already there from earlier courses. Then talk to the live one:
KLIPPY_URL=https://klippy.<your-subdomain>.workers.dev pnpm chat meWhat we recorded, and what we didn't. We haven't deployed the reference Klippy, so there's no recorded live deploy. Our dry run shows what goes up, with the Durable Object binding new since course B:
And the check, locally:
4. Let bits check it
Paste your Worker's address. bits calls /klippy/check on it and looks for this checkpoint's tag.
A pass proves a Worker at that address answers the way this lesson asks. It doesn't prove who wrote it.
That's Klippy, the agent. Your code matches tag c-09 (changes from c-08). In the next course, you'll give it a face: a web front end, built by directing Claude Code.