https://github.com/arach/spectator
https://github.com/arach/spectator
agent-logs claude claudecode jsonl
Last synced: 14 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/arach/spectator
- Owner: arach
- Created: 2026-01-07T06:05:19.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-03-30T18:52:36.000Z (3 months ago)
- Last Synced: 2026-03-30T20:27:49.616Z (3 months ago)
- Topics: agent-logs, claude, claudecode, jsonl
- Language: TypeScript
- Homepage: http://spectator.arach.dev/
- Size: 1.45 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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.

## Quick start
```bash
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:
```json
{
"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 (``, ``, ``, ``).
- 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:
```bash
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/
```
## 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
```bash
bun run build
bun run start
```