Skip to content
use-cases / watch-your-agent-think-from-the-coffee-shop / hero
PIPE · TRACE · LIVE

Watch your agent think from the coffee shop

Your agent runs in a container at home. You're across town. The agent loop pipes each step into Hoody Pipe; you curl the same path from a phone tab. The trace lands character by character — no SSH, no dashboard, no upload.

Read the Pipe API
use-cases / watch-your-agent-think-from-the-coffee-shop / mechanism

Pipe each step out, curl it in

The agent's loop already emits structured events — think, tool_use, result. Pipe them into a path with PUT. From the phone, GET the same path. The pipe doesn't store the bytes; it streams them through to whoever is reading.

agent.loop · home container
PUT/api/v1/pipe/trace
# inside the agent loop$ echo "$step" | curl -T - \ https://agent-pipe.…hoody.com/api/v1/pipe/trace[INFO] Streaming to 1 receiver(s)...no buffer · backpressure on the agent itself
termux · café table
GET/api/v1/pipe/trace
# read from the same path$ curl -N \ https://agent-pipe.…hoody.com/api/v1/pipe/trace[think] check schema first…phone tab open · trace prints as it lands

Two HTTP connections, one path. The pipe holds the receiver's connection until the sender arrives — your phone can be open before the agent starts, or you can join mid-run. Hoody Pipe is the wire between them, never a database.

use-cases / watch-your-agent-think-from-the-coffee-shop / anatomy

Anatomy of a trace you can read

The agent emits four kinds of line. Each one tells you something a dashboard can't: not just what happened, but what the agent was thinking when it happened.

01 · BLUE

[think] — the reasoning step

The model's plan, in its own words. Why it picked this tool, what it expects back, where it might branch. Reading these is reading the agent's mind in real time.

[think] user wants invoice CSV…
02 · NEUTRAL

[tool_use] — the call

The exact function and arguments the agent decided to invoke. One line per call, in the order the loop fired them. No SDK abstraction; just the wire-level request.

[tool_use] sql.describe("invoices")
03 · GREEN

[result] — what came back

The tool's response, summarised to the line. Row counts, file sizes, status codes, error messages. The thing the next [think] line will reason about.

[result] 12 rows · 41 ms
04 · LIVE

Streaming, not polling

Every line lands as the agent emits it. No 5-second refresh, no "last updated 2 min ago". When the cursor blinks, the agent is between thoughts. You're tailing, not refreshing.

[tool_use] files.write("invoices.csv")
use-cases / watch-your-agent-think-from-the-coffee-shop / punchline

The agent ran for forty minutes. You read it like a book.

Forty minutes of reasoning, tool calls, and results — rendered as one continuous, color-coded text stream. You're not polling an endpoint. You're not reloading a dashboard. You're tailing the agent's mind from a café.

TRACE · LIVE TAIL00:00 → 40:12
  1. 00:00[think]
  2. 00:14[tool_use]
  3. 00:31[result]
  4. 06:02[think]
  5. 12:48[tool_use]
  6. 23:11[result]
  7. 31:55[think]
  8. 40:12[result]
  • no dashboard
  • no polling
  • no upload
  • just curl
Read the Pipe API
use-cases / watch-your-agent-think-from-the-coffee-shop / replaces

What this replaces

Watching an agent has historically meant a SaaS, a dashboard, or a bespoke WebSocket app. None of that survives the question "what if I just curl it?".

  • AgentOps / LangSmith dashboardsA SaaS layer to read your own logs
  • Datadog APM for agent tracesBuilt for services, awkward for loops
  • Agent logging SaaSYour reasoning steps in someone else's database
  • Screen-share with yourselfVNC home from a café · battery murder
  • Polling /status every 5 secondsLatency you invented · cost you pay
  • Custom WebSocket dashboardA weekend project you maintain forever
use-cases / watch-your-agent-think-from-the-coffee-shop / cta

Pipe the loop, curl the path. The agent's thinking is now a tail you can read.

Read the Pipe API
use-cases / watch-your-agent-think-from-the-coffee-shop / related

Read the others