playwright-trace-llm
v1.0.0
Published
Export Playwright trace ZIPs to LLM-friendly Markdown and HTML for AI-assisted debugging.
Maintainers
Readme
playwright-trace-llm
Export a Playwright trace ZIP into LLM-friendly Markdown and HTML for AI-assisted debugging. Same information as the Trace Viewer GUI, in a form an LLM can read directly.
Usage
No install needed:
npx playwright-trace-llm path/to/trace.zip -o ./trace-export| Option | Description |
| --- | --- |
| -o, --output <dir> | Output directory (default: ./trace-export) |
| -h, --help | Show help |
Record a trace by setting trace: 'on' in your Playwright config, or await context.tracing.start({ screenshots: true, snapshots: true }).
What it produces
trace-export/
├── index.md # Test summary: status, duration, viewport, actions
├── timeline.md # Hierarchical action tree with snapshot links
├── timeline-log.md # Detailed per-action Playwright processing logs
├── errors.md # Errors and stack traces
├── console.md # Browser console messages
├── network.md # Network requests
├── metadata.md # Browser/environment/timing
├── filmstrip.md # Screencast frames
├── attachments.md # Test attachments
└── assets/
├── snapshots/ # DOM snapshots as standalone HTML (CSS preserved)
├── resources/ # Screenshots and captured resources
└── attachments/ # Extracted attachmentsDOM snapshots use relative paths, so serve them over HTTP to view:
cd trace-export && npx serve
# open http://localhost:3000/assets/snapshots/after@[email protected]Programmatic API
import { exportTraceToMarkdown } from 'playwright-trace-llm';
await exportTraceToMarkdown('path/to/trace.zip', { outputDir: './trace-export' });How it relates to Playwright
The export logic (traceExporter.ts) is original work, developed as the
export-trace feature on a Playwright fork
and packaged here to run standalone without a full Playwright install. Only a
few small helpers are vendored from Playwright — a ZIP reader, HTML-escaping
utilities, and trace snapshot type definitions. It reads .trace and .network
files from the ZIP directly; its only runtime dependency is yauzl. See
NOTICE for attribution.
Versioning
This project follows Semantic Versioning 2.0.0. See CHANGELOG.md for release history.
Contributing
See AGENTS.md for publishing instructions and project conventions.
License
Apache-2.0
