peepshow serve

peepshow serve boots a local HTTP server that browses the run history, streams frames + audio, manages auto-sinks, and exposes a JSON API. Pure node:http, no extra runtime deps. Single-user, bound to 127.0.0.1 by default — non-loopback bind requires a token.

Quick start

peepshow serve                       # http://127.0.0.1:7331/
peepshow serve --port 8080 --open    # custom port + auto-open in browser
peepshow serve --host 0.0.0.0        # expose on the LAN — auto-generates a token

Routes

Pages

Streaming

JSON API

Security

Config

peepshow config init                  # interactive wizard (covers report + serve)
peepshow config set serve.port 8080
peepshow config set serve.host 0.0.0.0
peepshow config set serve.autoOpen true

Programmatic use

# Latest 10 runs as JSON
curl -s http://127.0.0.1:7331/api/runs.json?limit=10 | jq '.runs[].videoFilename'

# Annotate a run from a script
echo '{"summary":"Sintel meets the gatekeeper at 0:12"}' \
  | curl -X POST -H "content-type: application/json" -d @- \
    http://127.0.0.1:7331/runs/<runId>/annotate