One dashboard
Every harness, every project, in a single live view. Stop hunting through terminals and chat logs for what each agent produced.
Chat is where you talk to the agent. harness-deck is where the agent shows you things — reports, mockups, comparisons, approvals, and decisions that survive a context clear. One local dashboard, every harness, every project.
or go install github.com/TaylorFinklea/harness-deck/cmd/harness-deck@latest
What it is
harness-deck aggregates the structured output of every agent run into a single, consistent, terminal-styled view. It speaks one contract, so it doesn't care which tool produced the work.
The round-trip
Any harness writes a manifest. harness-deck renders and aggregates it. Your answers to interactive blocks flow straight back to the agent as a file.
↺ two-way — the dashboard isn't just a viewer; it's how you reply to the agent.
Why it's built this way
Every harness, every project, in a single live view. Stop hunting through terminals and chat logs for what each agent produced.
Answer an ask, decision, or approval in the dashboard; your reply flows back to the agent as responses.json plus a notification.
A local Go server on your machine. Nothing leaves it — no cloud, no accounts, no telemetry. Single-user by design.
A single stdlib-only Go binary. No npm, no database, no build step — even the Markdown renderer and watcher are in-house.
A 2-second watcher, server-sent events, and Web Push to an installable PWA — the moment an agent needs you, you know.
It's report@1: a stale binary degrades gracefully, and the schema ships inside the binary — hdeck contract or over MCP — so any agent has it without cloning.
Get started
brew install taylorfinklea/tap/harness-deck
or go install github.com/TaylorFinklea/harness-deck/cmd/harness-deck@latest
go install — one binary, no setup.harness-deck serve and point it at your project roots.report.json; the dashboard lights up live.set up harness-deck.