~/blog/muninn-kanban-board

AI Agent Life, from Zero · part 13

[Agent 101 #13] See what your fleet of AI agents is doing — from your phone: Muninn adds a Kanban board

cat --toc

TL;DR

Hermes ships with a Kanban — agents open, claim, and report on cards there. But away from your desk, all your phone gets is Telegram's plain text, and the board's shape disappears into a wall of lines. Muninn now pulls that board onto the phone: horizontally-scrolling Running / Blocked / Done columns — who's working on what, which card got blocked, which one failed — at a glance. Zero backend changes, pure client, over the same encrypted tunnel. Read-only for now.

The short version: you've got a fleet of agents, but all you see is the text they spit out

Earlier in this series you got Hermes running and split it into several sibs (Part 10) — each with its own brain, each off doing its own thing.

The problem: you can't really see what they're doing.

Hermes has a built-in Kanban: what's queued, what's running, what's blocked, what's done — the agents log all of it. Open the dashboard in a browser on your computer and it's a clean, draggable board.

On mobile, though, you're back in Telegram — and Telegram only gives you text. A whole board flattened into lines — no columns, no color, "who's doing what" is something you reconstruct by eye. What you lose is the at-a-glance.

That's the gap Muninn closes: it brings the same board onto the phone as an actual board.

Muninn's Kanban board, left to right: Running (green, tasks in progress), Blocked (red, out-of-bounds tasks the agent stopped itself), Done (44 cards finished)

Three columns: who's working, who's blocked, what's done

The board scrolls sideways, one status per column, each with its own color. The three I look at most:

Running (green) — who's actually working. A running card has a spinner in the top-right showing which sib is on it and how long it's been running. In the shot above, hikari is "building a Shopee price monitor for the ASUS Ascent GX10," 27 seconds in. No asking, no scrolling back through messages — open the app and you see it.

Blocked (red) — who got stopped, and why. This is the interesting column. Several of these are cards the agent blocked itself: a task wanted it to edit ~/.hermes/config.yaml and restart the gateway — control-plane stuff it judged out of bounds, so it refused.

So the board doesn't just show you progress, it shows you whether they're coloring outside the lines. Clicking down the red column is basically auditing whether your fleet of AIs is staying inside its guardrails.

Done (gray) — finished work stacks up here. 44 of 50 cards sit in Done; tap any one for its full output. One scroll down the column tells you what the sibs got through all day.

Every card carries the essentials: priority, the sib on it, how long it's sat, a two-line preview; tap in for the full content, the comment thread, and each run's log and failure messages.

How it works: zero backend changes

This is the part I'm happiest with — the whole feature is client-side on the phone; the home machine didn't need a single code change.

Hermes's dashboard already exposes the board as a REST API (/api/plugins/kanban/*). And Muninn already has that encrypted iroh P2P tunnel to the dashboard (the bridge from Part 14). So all the phone has to do is reuse the same connection that already carries voice and files, call one more API to read the board, and render it as columns in the app.

  • No new server, no bridge change, no dashboard change.
  • The board follows whichever agent you're connected to (one agent, one board).
  • It tells whether the board changed by comparing a single latest_event_id, so it can auto-refresh cheaply.

The whole thing stands on the groundwork the earlier posts laid down — it's one more layer of UI on top.

Honest note: this version is read-only

This version is read-only. I wanted the read-only view solid first — columns, cards, tap-in detail, auto-refresh.

Dragging cards to change status, commenting, opening new cards — those write actions aren't in yet; they're the next phase. Not because it can't (same REST path), but because I wanted the "seeing" to feel right before piling more on.

So if you're in the "I just want to glance at what my fleet is up to while I'm out" camp — this version is enough. Want to drive it hands-on? Hang tight.


The board is the natural extension of "see your agents from anywhere." Prereqs:

FAQ

Does Muninn's board need a separate backend?
No. Hermes already ships a Kanban (agents open, claim, and report on cards there). Muninn just reads that same board over the existing iroh P2P tunnel and draws it on your phone. No new server, no account, no cloud.
Can I drag cards or change status from the phone?
Not in this version — it's read-only. You can see every column, tap into a card for its full content, comment thread, run logs, and failure reasons. Dragging, commenting, and creating cards are write features for the next phase.
Whose board am I looking at?
Whichever agent your phone is connected to right now. Each Hermes agent runs its own dashboard and its own kanban.db, so when you switch sibs the board switches with your connection.