Hosted Runner Dashboard

Runner Dashboard Help
Registered runners are shown as status tiles. Each tile shows runner identity, status badge, and last heartbeat. Expand a tile for details including capabilities, current job, and runner controls.
Permission Profile Readiness
Checking safe default permission profile adoption…
Loading registered runners…
Dispatch Eligibility Check
Check which runners are eligible to dispatch a specific PromptArtifact — without dispatching. Enter an artifact ID to see required capabilities and per-runner eligibility.
Runner Crash Recovery
Review interrupted runner work after a stale heartbeat. Restartable candidates can be manually requeued once the runner reconnects. No automatic restart ever occurs.
Click to load recovery candidates.
Hosted Runner Bootstrap ▸
Runner Bootstrap
Current Release
Runner version: 0.1.0
Release tag: v0.1.0
Available artifacts: Linux x64, Windows x64
Requires Node.js >= 20 on the target machine.
Quick Start (Bash / Git Bash)
bash -c "$(curl -fsSL https://runner.ao.phlow.dk/bootstrap.sh)"
Downloads, verifies, and starts the runner. Runner ID is derived from hostname and workspace.
Quick Start (PowerShell)
$s = iwr https://runner.ao.phlow.dk/bootstrap.ps1 -UseBasicParsing $bootstrap = [scriptblock]::Create($s.Content) & $bootstrap
Downloads, verifies, and starts the runner on Windows. First-time install is automatic.
PowerShell Dry Run
$s = iwr https://runner.ao.phlow.dk/bootstrap.ps1 -UseBasicParsing $bootstrap = [scriptblock]::Create($s.Content) & $bootstrap -DryRun
Shows diagnostics and install plan without starting the runner. Does not require an installed executable.
PowerShell with Workspace
& $bootstrap -WorkspaceRoot "C:\path\to\repo"
Use when you need to specify the workspace root explicitly.
Bash: Explicit Workspace
bash -c "$(curl -fsSL https://runner.ao.phlow.dk/bootstrap.sh)" -- --workspace-root "$PWD"
Use when you need to specify the workspace root explicitly.
Bash: Visible Terminal
bash -c "$(curl -fsSL https://runner.ao.phlow.dk/bootstrap.sh)" -- --visible-terminal
Runs the runner in a visible terminal window instead of headless mode.
Bash: Dry Run
bash -c "$(curl -fsSL https://runner.ao.phlow.dk/bootstrap.sh)" -- --dry-run
Shows diagnostics and generated command without starting the runner.
Manual CLI (Development)
node dist/cli.js runner:dev --api-base-url=https://runner.ao.phlow.dk --continuous
Use when running from source. Requires Node.js and a cloned repository.
Cloudflare Access
CF_ACCESS_CLIENT_ID=<client-id> \ CF_ACCESS_CLIENT_SECRET=<client-secret> \ bash -c "$(curl -fsSL https://runner.ao.phlow.dk/bootstrap.sh)" -- --api-base-url https://runner.ao.phlow.dk
Required when the API is behind Cloudflare Access. Do not share your client secret.
Safety Notice
Commands must be copied and run manually in your terminal. The browser does not start the runner directly. The bootstrap script downloads a verified runner binary to ~/.phlowao/runner/ outside your project directory. Your target repository is not modified — the runner only reads from it. SHA-256 checksum verification is performed before the runner starts. Do not share or embed your CF_ACCESS_CLIENT_SECRET value. Secure runner registration (invite tokens) is not yet available.
Binary Cache Location
~/.phlowao/runner/versions/<version>/ — versioned runner executables
~/.phlowao/runner/current — file containing the active version
~/.phlowao/runner/downloads/ — download staging
~/.phlowao/runner/logs/ — runner log files
~/.phlowao/config/ — runner configuration
~/.phlowao/state/ — runner state (runner ID cache)
Runner Flags
--runner-id <id> — Custom runner ID (default: derived from hostname/user/path)
--api-base-url <url> — Control plane API URL
--workspace-root <path> — Workspace root directory
--runner-name <name> — Runner display name
--continuous — Run continuously (default)
--once — Run one job then exit
--skip-autodiscovery — Disable auto-discovery
--dry-run — Show diagnostics without starting
--visible-terminal — Use visible terminal mode
--auto-update — Enable auto-update (default)
--no-auto-update — Disable auto-update
Environment Variables
PHLOWAO_API_BASE_URL — Default control plane API base URL
CF_ACCESS_CLIENT_ID — Cloudflare Access client ID
CF_ACCESS_CLIENT_SECRET — Cloudflare Access client secret
Assigning Repositories and Capabilities
Runners declare their repositories and capabilities via the heartbeat request. The runner process sends this data automatically when started.
Runner declarations are sent in the heartbeat JSON body:
  • capabilities — array of capability IDs
  • allowedRepos — array of repo mappings with repo, localPath, enabled
  • metadata — runner environment info