The Piumy dashboard is served by the same Go binary as the switchboard core, on port 80 by default (configurable viaDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/chamilonster/Piumy/llms.txt
Use this file to discover all available pages before exploring further.
PIMYWA_DASH_ADDR). It is designed for LAN-only access and requires a login. No build step, no external CDN — the entire UI is a few kilobytes of HTML and JS embedded directly in the binary.
The dashboard serves the live kaomoji face by merging the display adapter’s
face.json sidecar. If the display adapter is not running, the face shows as null in the Status section.Accessing the dashboard
Open your browser and navigate to:- Username:
admin - Password: generated randomly at first startup and logged once. Retrieve it with:
pimywa.env:
| Variable | Description |
|---|---|
PIMYWA_DASH_PASS | Plaintext password — hashed with bcrypt at startup |
PIMYWA_DASH_PASS_HASH | Pre-computed bcrypt hash — used as-is, no re-hashing |
Dashboard sections
Status
Live e-paper face mirrored from
face.json, WhatsApp connection state, queue count, process uptime, and real-time CPU and RAM percentages from /proc.Battery
SVG chart of raw cell voltage alongside the linearised battery level, charging bands, and adaptive time-remaining estimate. Sourced from the power adapter’s
battery.json sidecar.Link and disconnect controls, QR code display for pairing a new device, and the current gateway connection status.
Anti-ban mute
Toggle the kill switch. While muted,
send_message (both REST and MCP) is rejected — no outbound messages leave the board until you unmute.Settings
Adjust dispatch, read, and action delay ranges; media max size (MB). Delays can only be loosened past the env-configured floor — they cannot be tightened below the anti-ban defaults.
Rate limits
Set per-minute and per-day send caps. Ceilinged at 3× the default per-minute rate and 2 000 messages per day — edits survive a restart (stored in the KV store, not only in memory).
Router / Whitelist
Manage the router policy: allowed numbers,
allow_all toggle, default chat mode, and per-number overrides. Changes take effect immediately without a restart.Rules
Per-chat rules in the three-tier hierarchy: particular (per-chat), by type (1-to-1 / group), and the global default. The agent always sees the resolved effective value — the hierarchy is an owner-facing abstraction.
MCP anti-flood
Tune the MCP guard thresholds: tool-call rate per minute, emit rate per minute, block threshold, and block cooldown. Protects the board from a misbehaving or runaway agent.
Password management
If you lose the dashboard password, you have two options: Option 1 — use the MCPreset_dashboard_password tool (requires MCP auth to be configured):
new_password to receive a randomly generated one. The new plaintext is returned exactly once in the tool response — save it immediately.
Option 2 — set PIMYWA_DASH_PASS in pimywa.env and restart:
reset_dashboard_password writes a new bcrypt hash into the live KV store and takes effect immediately — no restart required.
Enable / disable the dashboard
SetPIMYWA_DASH to a falsy value to disable the dashboard entirely:
on, yes, true, 1. Anything else (including off, no, false, 0) disables it. The default is enabled. When disabled, the binary skips starting the dashboard HTTP listener. The REST API (port 8080) and MCP server (port 8081) are unaffected.