@jhytabest/plashboard
v1.0.2
Published
Plashboard OpenClaw plugin runtime
Readme
@jhytabest/plashboard
Template-driven dashboard runtime plugin for OpenClaw.
This plugin manages dashboard templates, scheduled fill runs, validation, and atomic publish to a live dashboard.json.
Install
openclaw plugins install @jhytabest/plashboard
openclaw plugins enable plashboard
sudo systemctl restart openclaw-gateway
openclaw plugins doctorUpdate
openclaw plugins update plashboardZero-Config First Run
No manual config is required for first use. Defaults are safe:
fill_provider=openclawallow_command_fill=falseopenclaw_fill_agent_id=main- automatic init on service start
- automatic starter template seed when template store is empty
In chat, run:
/plashboard onboard <what this dashboard should focus on>For end users (Telegram/other channels), no slash command is required:
natural-language requests such as "I want a dashboard for X" are handled by the bundled plashboard-admin skill via tool calls.
Optional Config
Add to openclaw.json:
{
"plugins": {
"entries": {
"plashboard": {
"enabled": true,
"config": {
"data_dir": "/var/lib/openclaw/plash-data",
"scheduler_tick_seconds": 30,
"max_parallel_runs": 1,
"default_retry_count": 1,
"retry_backoff_seconds": 20,
"session_timeout_seconds": 90,
"auto_seed_template": true,
"fill_provider": "openclaw",
"allow_command_fill": false,
"openclaw_fill_agent_id": "main",
"display_profile": {
"width_px": 1920,
"height_px": 1080,
"safe_top_px": 96,
"safe_bottom_px": 106,
"safe_side_px": 28,
"layout_safety_margin_px": 24
}
}
}
}
}
}fill_provider: "openclaw" is the default real mode and calls openclaw agent directly.
fill_provider: "command" requires explicit opt-in with allow_command_fill: true.
Use command mode only if you need a custom external runner.
OpenClaw fill sessions are always cleaned through official Gateway API calls:
- Pre-run:
openclaw gateway call sessions.reset --params '{"key":"agent:<fill_agent_id>:main","reason":"new"}' - Post-run: same reset call as best-effort cleanup.
This keeps fill runs stateless without editing OpenClaw session files directly.
For production stability, use a dedicated fill agent instead of main:
openclaw agents add plashboard-fill --non-interactive --workspace /var/lib/openclaw/.openclaw/workspace-plashboard-fillThen run:
/plashboard setup openclaw plashboard-fillRuntime Command
/plashboard onboard <description> [local_url] [https_port] [repo_dir]
/plashboard setup [openclaw [agent_id]|mock|command <fill_command>]
/plashboard quickstart <description>
/plashboard doctor [local_url] [https_port] [repo_dir]
/plashboard fix-permissions [dashboard_output_path]
/plashboard web-guide [local_url] [repo_dir]
/plashboard expose-guide [local_url] [https_port]
/plashboard expose-check [local_url] [https_port]
/plashboard init
/plashboard status
/plashboard list
/plashboard activate <template-id>
/plashboard copy <source-template-id> <new-template-id> [new-name] [activate]
/plashboard delete <template-id>
/plashboard run <template-id>
/plashboard set-display <width> <height> <safe_top> <safe_bottom>Recommended first run:
/plashboard onboard "Focus on service health, priorities, blockers, and next actions."For command mode, explicit opt-in is required:
/plashboard setup command <fill_command>This command writes allow_command_fill=true with fill_provider=command.
If onboard returns web/exposure warnings:
/plashboard web-guide
/plashboard expose-guide
/plashboard doctor
/plashboard fix-permissionsTailscale helper flow:
/plashboard expose-guide
/plashboard expose-checkNotes
- The plugin includes an admin skill (
plashboard-admin) for tool-guided management. - Trusted publishing (OIDC) is enabled in CI/CD for npm releases.
- If you see
plugins.allow is empty, add explicit trust list in OpenClaw config:"plugins": { "allow": ["plashboard"] }
