A permanent home for your Playwright test results.
CI reports vanish on every build. Piwi keeps them — and turns them into live dashboards,
failure clusters, AI diagnosis, and cross-run analytics. Self-hosted, no SaaS.
Native Playwright HTML reports are great for local debugging — but they're ephemeral. Once the next CI run completes, the old report is gone. Piwi keeps every run and makes them connected, searchable, and actionable:
- 🗄️ Permanent history — every run, trace, and report stored and browsable across time.
- ⚡ Live streaming — watch runs in real time as CI executes; no polling, no waiting.
- 🔗 Failure clustering — failures sharing a root cause are auto-grouped by error fingerprint.
- 🤖 AI diagnosis — LLM analysis of a failure cluster, grounded in your actual SCM diff.
- 🩹 Locator healing — when a locator breaks, ranked replacement locators captured from prior passing runs, with a recommended fix.
- 📈 Performance & flaky tracking — P90 duration trends, slowest tests, composite flakiness scores.
- 🔌 Built for automation — drop-in reporter, REST API, OpenAPI docs, and an MCP server for AI agents.
- ☁️ Zero lock-in — self-hosted with Docker; your data in SQLite/PostgreSQL and local/S3 storage.
👉 Explore the live demo — no install required.
1. Start the dashboard
# Linux / macOS
docker run -p 3000:3000 -v $(pwd)/.data:/app/.data phenx/piwi-dashboard:latest# Windows (PowerShell)
docker run -p 3000:3000 -v ${PWD}/.data:/app/.data phenx/piwi-dashboard:latestVisit http://localhost:3000.
2. Add the reporter to your test project
npm install --save-dev @piwitests/reporter// playwright.config.ts
import { defineConfig } from '@playwright/test'
export default defineConfig({
reporter: [
['list'],
['@piwitests/reporter', {
serverUrl: 'http://localhost:3000',
projectName: 'my-project',
}],
],
use: { trace: 'retain-on-failure' },
})3. Run your tests — npx playwright test. Results appear automatically; the project is created on first submission.
➡️ Full setup, configuration, and CI integration in the Getting started guide.
| Topic | Link |
|---|---|
| Getting started | piwitests.github.io/getting-started |
| Playwright reporter | piwitests.github.io/reporter |
| UI overview | piwitests.github.io/ui-overview |
| AI diagnosis & clustering | piwitests.github.io/ai-diagnosis |
| Flaky tests & analytics | piwitests.github.io/flaky-tests |
| Notifications & alerts | piwitests.github.io/notifications |
| Configuration reference | piwitests.github.io/configuration |
| API reference | piwitests.github.io/api |
| MCP server | piwitests.github.io/mcp |
| Authentication | piwitests.github.io/authentication |
| Storage configuration | piwitests.github.io/storage |
| Deployment | piwitests.github.io/deployment |
The running dashboard also serves interactive API docs (Scalar) at /docs.
cd application && npm install && npm run app:dev # http://localhost:3000See AGENTS.md for architecture, conventions, and the full development guide.
MIT
Disclaimer: Piwi Dashboard is not affiliated with, endorsed by, or connected to Microsoft Corporation in any way. "Piwi" is a playful, unrelated name with no connection to any existing product or brand.