Dashboard
@input-output-hk/agent-review-dashboard is a companion CLI that turns the pull request history
agent-review already writes to GitHub into a local, browsable record. A sync command pulls
agent-reviewed pull requests into a local SQLite database, and a serve command exposes that
database as a read-only HTTP API and UI on localhost. The dashboard reads the same GitHub state
everyone else sees (labels, reviews, comments); it does not add any state of its own.
Sync
agent-review-dashboard sync --repo <owner/name> [--db <path>]
For each requested repository, sync finds pull requests touched by the agent-review workflow and
writes them into SQLite: the pull request itself, its reviews (with role, verdict, and model
metadata parsed from the review body), inline notes, claim markers, and participants. Every run
fully replaces that data for every pull request it visits, so the database always matches GitHub's
current state for the PRs in scope. Repeat --repo for more than one repository; --login picks
which agent's activity to match (defaults to the authenticated GITHUB_TOKEN user).
Serve
agent-review-dashboard serve [--db <path>] [--port <n>] [--host <addr>]
serve reads the database sync wrote and serves it at http://127.0.0.1:4319 by default;
--port and --host change where it binds, and --db points it at a different database file.
It is read-only and localhost-only by design:
- The database connection is opened read-only, so
servecannot write to it under any circumstance. - Every request's
Hostheader must resolve tolocalhost,127.0.0.1, or::1, and itsOriginheader, when present, must match the same allowlist; anything else gets a403. No CORS headers are sent, so a browser tab on another origin cannot read the API either. - If the database at
--dbdoes not exist yet,serveprints a message telling you to runsyncfirst instead of failing with a raw database error.
The HTTP API (/api/overview, /api/repos, /api/repos/:owner/:name/pulls,
/api/repos/:owner/:name/pulls/:number, /api/sync-runs) is complete. The page served at / is a
placeholder; a full dashboard user interface arrives in a later phase.
Files and authentication
The dashboard follows the same ~/.agent-peer-review/ home directory as agent-review; see
Files and directories for the full convention, including the
AGENT_PEER_REVIEW_HOME override. sync needs a GITHUB_TOKEN (or a cached gh auth token) with
read-only access to Pull requests and Issues. serve needs no token at all: it only reads the local
database sync already wrote.
See the dashboard README for the full command reference and known limitations.