sideshow logo

sideshow

The missing visual surface companion for agents - generate UI mockups, data visualizations, code explainers, and more

Developer ToolsAI AgentsTypeScriptMIT 441 12Health 77
Website GitHub

What is it?

What it is

A live visual surface for terminal coding agents that publishes multimodal content—diagrams, markdown, diffs, terminal output, images, etc.—and renders it live in a browser.

Why it exists

To let agents communicate ideas visually, combine multiple media types, reduce token usage by sending only content instead of full HTML, and work with any existing agent harness (Claude Code, Codex, Pi, etc.).

Who should use it

Developers and teams building or using terminal coding agents who want a live visual surface for agent output, such as those working with Claude Code, Codex, Pi, or other agent harnesses.

Who should avoid it

Users who do not use coding agents or prefer static documentation and are not comfortable setting up a Node server or integrating with agent instructions.

How it works

A quick walkthrough in plain English

How sideshow works

Step 1 of 3

You interact with it

Open sideshow, send a request, or connect it to your stack.

Features

Live visual surface for terminal agents
Multimodal surface parts (html, markdown, diff, terminal, trace, image, mermaid, json, code)
Composable surfaces (multiple parts per card)
Token‑efficient output (only content sent, viewer supplies theme)
Fast rendering (fewer tokens, no full HTML per surface)
Integration with any agent harness (Claude Code, Codex, Opencode, Pi, etc.)
CLI and Cloudflare Workers deployment
Open‑as‑image export to PNG
Built‑in comment thread and agent setup
No build step for server, TypeScript runs directly on Node

Advantages

  • Reduces token usage and costs for agents
  • Speeds up rendering and reduces latency
  • Provides clear visual representations of agent output
  • Supports a wide range of surface types for richer communication
  • Easy to integrate with existing agents via simple setup block
  • Flexible deployment options (local or Cloudflare Workers)
  • No need to ship full HTML/CSS/JS for each surface
  • Built‑in viewer UI with sidebar and comment thread
  • Open‑as‑image feature for documentation and sharing
  • TypeScript code runs directly on Node, simplifying development

Disadvantages

  • Requires Node 22.18 or newer
  • Open‑as‑image PNG rendering only works on Cloudflare Workers (needs Browser Rendering binding)
  • Local Node server lacks headless browser for PNG export (action disabled)
  • Viewer is browser‑only; no native desktop or TUI support (aside from experimental sibling)
  • Limited documentation for advanced integration tiers
  • Potential learning curve for agents to publish surfaces correctly

Installation

cloud

See docs/deploying.md

native

npm install
npx sideshow serve --open

FAQ

How do I set up sideshow for my agent?

Install via `npm install`, run `npx sideshow serve --open` to start the viewer, then paste the setup block from `http://localhost:8228/setup` into your agent's instructions to enable surface publishing.

Which agents are compatible with sideshow?

sideshow works with any agent harness supporting MCP or shell commands, including Claude Code (desktop/CLI), Codex, Opencode, Pi, and others. Full integration details are in [docs/connecting-agents.md](docs/connecting-agents.md).

What types of content can agents publish?

Agents can publish surfaces containing html (interactive UIs), markdown (prose/code), diff (code reviews), terminal (ANSI output), image (uploads), mermaid (diagrams), and json (collapsible trees), as shown in the [sideshow demo](docs/surfaces/).

How does sideshow reduce token usage?

Surfaces send only content data (e.g., mermaid text, JSON values) to the viewer, which renders it using pre-styled themes. This avoids shipping full HTML/CSS, saving ~40-90% tokens compared to standalone HTML documents.

Can I deploy sideshow on Cloudflare Workers?

Yes, sideshow supports Cloudflare Workers deployments for remote agent-viewer setups. This requires the Browser Rendering binding and enables features like 'open-as-image' screenshots.

What is the terminal surface mentioned in development?

The `sideshow-term/` branch is an alpha project rendering surfaces in a terminal user interface (TUI) instead of a browser, with unstable APIs for experimental use.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for sideshow

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
sideshow | MushyBook