Enabling the Dashboard
Pass-w or --web-ui to al start:
[gateway].port setting in config.toml (default: 8080).
Authentication
The dashboard is protected by the gateway API key. Navigate tohttp://localhost:8080/dashboard and you’ll be redirected to a login page where you paste your API key. On success, an al_session cookie is set (HttpOnly, SameSite=Strict) so all subsequent requests — including SSE streams — are authenticated automatically.
A Logout link is available in the dashboard header.
See Gateway API — Authentication for details on key management and protected routes.
Dashboard Pages
Main Page — /dashboard
Displays a live overview of all agents:
| Column | Description |
|---|---|
| Agent | Agent name (click to view logs) |
| State | Current state: idle, running, building, or error |
| Status | Latest status text or error message |
| Last Run | Timestamp of the most recent run |
| Duration | How long the last run took |
| Next Run | When the next scheduled run will happen |
| Actions | Run (trigger an immediate run) and Enable/Disable (toggle the agent) |
- Pause/Resume button — pauses or resumes the scheduler (all cron jobs)
- Logout link — clears the session cookie and redirects to the login page
Trigger History — /dashboard/triggers
Displays a paginated table of all trigger events — cron, webhook, and agent-call triggers — with the outcome of each. Includes a toggle to show dead-letter webhook receipts (payloads that arrived but did not match any agent or failed validation).
Features:
- Pagination — browse through historical triggers
- Dead-letter toggle — show webhook payloads that were received but not dispatched
- Replay — re-dispatch a stored webhook payload to matching agents
Agent Logs — /dashboard/agents/<name>/logs
Displays a live-streaming log view for a single agent. Logs follow automatically by default (new entries scroll into view as they arrive).
Features:
- Follow mode — enabled by default, auto-scrolls to the latest log entry. Scrolling up pauses follow; scrolling back to the bottom re-enables it.
- Clear — clears the log display (does not delete log files).
- Connection status — shows whether the SSE connection is active.
- Log levels — color-coded: green for INFO, yellow for WARN, red for ERROR.
How It Works
The dashboard is served by the same gateway that handles webhooks and container communication. When--web-ui is enabled, the gateway starts even if Docker and webhooks are not configured.
Dashboard actions (Run, Enable/Disable, Pause/Resume) call the control API endpoints. Live updates are delivered via SSE streams.
No additional dependencies or frontend build steps are required. The dashboard is rendered as plain HTML with inline CSS and JavaScript.