Skip to content

Local Report UI

The local report UI reads Vitest JSON artifacts and serves a local viewer for drilling into runs, cases, scores, application and judge usage, harness sessions, tool calls, and trace spans.

Run evals with the vitest-evals reporter plus Vitest’s JSON reporter. The JSON artifact preserves the eval metadata used by the local UI and GitHub reporter.

run evals
pnpm exec vitest run --config vitest.evals.config.ts \
--reporter=vitest-evals/reporter \
--reporter=json \
--outputFile.json=vitest-results.json

Use vitest-evals serve with one JSON file, a quoted glob, or a directory of JSON artifacts.

inspect reports
pnpm exec vitest-evals serve vitest-results.json
pnpm exec vitest-evals serve "eval-results/*.json"
pnpm exec vitest-evals serve eval-results/

The command prints the local URL and keeps the server alive until interrupted. Use --host, --port, or --workspace when the defaults do not match the environment where the artifacts were produced.

Use the report UI when a summary is not enough. The top summary separates application, judge, and total tokens and cost. A case’s Usage section shows the same breakdown for that case. If any contributing run has unknown cost, its combined cost is shown as n/a rather than as a partial total.

You can also compare runs, find failed cases, read judge scores, inspect harness output, and follow session transcripts with tool arguments, results, errors, and related trace details.

The same JSON artifacts can also be uploaded to the GitHub reporter, so local investigation and CI reporting stay on one durable report format.