Dashboard (local UI)
sailor ui runs a local web dashboard for your project — onboarding, wallet gas balances, mandate health, activity, and owner signing. It reads from the project’s .sail/ directory and talks to your RPC; there is no hosted backend and nothing is sent anywhere.
sailor ui start # start the dashboard (prints its URL)sailor ui status # is it running, and wheresailor ui stop # stop itWhat it shows
Section titled “What it shows”- Onboarding — a guided path for SMA deployment and first mandate, mirroring the CLI/skills flow.
- Gas balances — the native-token (gas) balance and top-up status of the owner wallet and the agent wallet, so you can keep them funded to sign and submit. The dashboard does not display the SMA’s token holdings; a View portfolio link opens your SMA on DeBank to review what it holds, and a Manage SMA link opens it in the Safe app.
- Mandate health — the permissions registered on the SMA and their configured bounds.
- Activity — the append-only
.sail/activity.jsonlfeed (dispatches, denials, collections). - Owner signing — the browser signing server, where owner/permission-signer EIP-712 signatures happen in your wallet. Sailor never reads the owner key.
Ports & exposure
Section titled “Ports & exposure”Each project gets a deterministic port in 3333–3999 derived from its path — read the URL sailor ui start prints, or .sail/runtime/ui.json; don’t assume 3333. The signing server runs alongside it.
By default the dashboard binds to localhost only. To reach it from another device on your own network, --expose tailscale serves it over HTTPS on your tailnet — it is never exposed publicly:
sailor ui start --expose tailscale