Web Viewer¶
Hawk includes a web UI for browsing and analyzing evaluation results, served via CloudFront.
Opening the Viewer¶
hawk web # open current eval set in browser
hawk web EVAL_SET_ID # open a specific eval set
hawk view-sample UUID # open a specific sample
Features¶
The web viewer supports:
- Browsing eval sets and scan runs — see all submitted evaluations
- Filtering samples — by score range, completion-time range, and full-text search
- Comparing results — across eval sets and models
- Exporting to CSV — download filtered results
- Shareable URLs — filter state is encoded in query params for easy sharing
Live eval-set status¶
The Status view gives an at-a-glance, drill-down picture of an entire eval
set while it is still running — useful for spotting stuck pods, missing images
(ImagePullBackOff), rate-limit storms, and slow sandbox calls.
Open it by clicking the status badge of an in-flight eval set in the jobs
list (badges are clickable while a run is active), or navigate to
/eval-set/<EVAL_SET_ID>/status. It updates live (polling every few seconds)
and shows:
- Overall status, runner pod health (CPU/memory, sandbox pod/GPU counts), and a segmented progress bar (completed / running / errored / limit / waiting).
- Per-task progress bars with trouble badges (e.g.
image pull failing). - Per-sample phase (waiting / init / running / scoring / completed / errored / limit), retries, limit hit, latest score, token usage, and the last event with both relative and UTC time plus how long it took.
- A "Waiting for Kubernetes" list of samples whose sandbox pod has not been
scheduled yet, with the reason (e.g.
Unschedulable) and the scheduler message.
If you created the eval set, the view also offers Stop (graceful — score partial work) and Delete (tear down resources) actions; these are owner-only.
Access is scoped: you only see eval sets whose model groups you have access to (same as the rest of the viewer), and only the creator can stop or delete a run.
Live data is read directly from Kubernetes (pod status/metrics) and from
inspect_ai's shared sample buffer in S3, so it is available before the eval set
has been imported into the warehouse. It is served by
GET /monitoring/jobs/{eval_set_id}/eval-set-status.
In-transcript search¶
When viewing a sample transcript, the viewer's search panel lets you search within that transcript's messages and events.
Two modes are available:
- Grep (always available): searches the warehouse
message_poolandeventtables directly — no S3 read. Supports literal, regex, and word-boundary matching. Results include anchored references back to matching messages or events. - LLM (subject to model access): runs an Inspect Scout LLM scanner against the transcript. You choose the model to search with (a model is required). The LLM call goes through Hawk's middleman proxy, authenticated with your own credentials — if you don't have access to the chosen model you will receive a 403.
Both modes require the same model-group read access as viewing the transcript itself.
Development¶
To run the viewer locally for development: