Skip to content

Repository files navigation

Spectator

Spectator is a local-first web app for reviewing Claude JSONL sessions directly from disk. It renders structured timelines, supports fast navigation, and keeps the raw JSON line visible in an inspector.

Spectator UI

Quick start

git clone https://github.com/arach/spectator.git && cd spectator && bun install && bun run build && bun run start

Edit spectator.config.json to point at your local log roots:

{
  "roots": ["~/.claude/projects"],
  "maxDepth": 5,
  "port": 8787
}

Features

  • Session listing grouped by project with sorting controls.
  • Timeline view with category filters, density toggle, and minimap scrubber.
  • Command blocks for tagged user messages (<command-name>, <command-args>, <command-message>, <local-command-stdout>).
  • Tool calls/results, code blocks with syntax highlighting, and image attachments.
  • File history snapshots with quick view and diff previews.
  • Raw JSON inspector for every entry.

Development

Run the UI and the local API server in separate terminals:

bun run dev
bun run dev:server

Then visit:

http://localhost:5173

Open a session from the list or jump directly to:

http://localhost:5173/s/<session-id>

File History (Optional)

If you have Claude file history backups, Spectator will surface snapshot diffs by reading:

~/.claude/file-history

You can override this path in server.ts if needed.

Limitations

  • Long code blocks and diffs are truncated to the first 10 lines for readability.
  • The initial pass is focused on Claude JSONL. OpenAI support is planned next.

Production

bun run build
bun run start

Releases

Packages

Contributors

Languages