AgentOps Workbench includes a local dashboard foundation backed by the same SQLite store used by the CLI.
The dashboard is supported as a local UI. Version v1.2.0 adds decision
views for merge readiness, claim/evidence checks, risk drilldown, evidence
exports, and run comparison. The v1.4 forensic import work adds evidence
quality labels for plain-text transcript imports. Browser JSON endpoints remain
local implementation details, not a stable remote API. See
Compatibility policy.
Ingest synthetic demo sessions:
./bin/agentops audit ./fixtures/sample-session.jsonl
./bin/agentops audit ./fixtures/needs-review-session.jsonl
./bin/agentops audit ./fixtures/risky-session.jsonl
./bin/agentops audit ./fixtures/forensic-terminal-transcript.txtStart the local server:
./bin/agentops openDefault URL:
http://127.0.0.1:4927
Use a different local port when needed:
./bin/agentops open --port 4930Validate the dashboard configuration without starting a long-running server:
./bin/agentops open --checkThe dashboard currently provides:
- session list
- session text and adapter filtering
- evidence-quality summary for structured JSONL and forensic text imports
- merge-readiness summary for a selected session
- claim-vs-evidence matrix for tests, lint, typecheck, build, and final success, with separate labels for verified, inferred, and missing evidence
- risk severity drilldown with linked event, command, file, and evidence context
- run comparison between two sessions
- session timeline
- command drilldown
- file-change drilldown
- MCP and tool usage summary
- token summary when available
- Markdown report export for the selected session
- sanitized JSON evidence export for the selected session
It reads from the local SQLite database only. It does not require hosted services, does not post to GitHub, and does not upload session data. Dashboard evidence exports omit source artifact paths, command output, raw event JSON, and raw payload hashes to reduce local-environment leakage in demos and screenshots.
The public fixtures are synthetic and cover the dashboard's main decision states:
| State | Fixture | Expected Dashboard Signal |
|---|---|---|
| Empty | no ingested sessions | empty session list and no selected session |
| Ready | fixtures/sample-session.jsonl |
no risks and bun test evidence |
| Needs review | fixtures/needs-review-session.jsonl |
final success claim without verification evidence |
| Blocked | fixtures/risky-session.jsonl |
high risks, medium risks, and missing success evidence |
| Forensic | fixtures/forensic-terminal-transcript.txt |
forensic-text adapter, observed shell commands, inferred file changes |
| Inferred forensic | fixtures/forensic-copied-chat.txt |
inferred command evidence requires review instead of showing as fully verified |
| Comparison | sample-session against risky-session |
reduced risks and added verification |
The local server exposes JSON endpoints used by the browser UI:
GET /api/health
GET /api/sessions?limit=50
GET /api/sessions/:id
GET /api/sessions/:id/report
GET /api/sessions/:id/evidence
GET /api/compare?base=<session-id>&target=<session-id>
The report endpoint returns the same Markdown session report generated by
agentops save report <id>. The evidence endpoint returns a sanitized
JSON bundle for local review artifacts. The comparison endpoint compares two
stored sessions and is used by the dashboard's run comparison panel.
These endpoints are intended for local dashboard use. They are not a stable remote API contract yet.
Dashboard demos and screenshots should use synthetic fixtures only.
Do not use real private transcripts, private PAI memory, local personal paths, credentials, or sensitive command output in public screenshots.
Basic manual verification:
- Run
./bin/agentops audit ./fixtures/sample-session.jsonl. - Run
./bin/agentops audit ./fixtures/needs-review-session.jsonl. - Run
./bin/agentops audit ./fixtures/risky-session.jsonl. - Run
./bin/agentops open. - Open
http://127.0.0.1:4927. - Confirm the session list shows
sample-session,needs-review-session, andrisky-session. - Confirm evidence quality, merge readiness, claim/evidence, risk drilldown, timeline, commands, files, tools, and token metrics render.
- Select a comparison session from the
Compare withcontrol and confirm the run comparison panel renders. - Open the Markdown report and JSON evidence links for the selected session.
Automated coverage verifies the dashboard JSON endpoints, representative demo states, comparison payload, evidence export hygiene, and HTML shell. Visual screenshots should be captured from synthetic fixtures only.