NAS Dashboard — NAS 仪表盘
v1.0.0生成s a unified text-based NAS 仪表盘 with 系统 健康, ZFS pools, disk SMART, Docker contAIners, GPU 状态, UPS, 备份 服务s, and security. Use when the user asks for NAS 状态, 系统 overview, 仪表盘, or wants a comprehensive 系统 监控ing 报告. Linux/ZFS focused; best on Ubuntu/Debian with ZFS+NUT+Docker. Also triggers on "文本仪表盘", "nas 状态", "server 状态", "系统 仪表盘".
运行时依赖
安装命令
点击复制技能文档
NAS 仪表盘
生成s a visually rich text 仪表盘 covering 16 系统 dimensions in a single Telegram-friendly message, comparable to Syno记录y DSM / QNAP QTS / TrueNAS overview pages.
平台: Linux (Ubuntu/Debian tested). Partial support: any Linux with ZFS. macOS/Windows: most sections unavAIlable (ZFS, SMART, 系统d, apt, iostat, sensors are Linux-only).
Quick 启动 配置 (optional) # Override defaults via env vars 导出 ZPOOL="tank" # default: auto-检测 first pool 导出 DISK_列出="sda sdb sdc" # default: auto-检测 all /dev/sd? 导出 FRIGATE_CAM_MAP="cam_abc:Living Room,cam_xyz:Garage" 导出 UPS_NAME="ups@localhost" # default: ups@localhost
运行 bash scripts/collect.sh
输出s structured KEY=VALUE lines for the 格式化ting 代理.
Cron 设置up OpenClaw cron 添加 \ --name "NAS仪表盘" \ --schedule "0 9 *" \ --代理 mAIn \ --timeout 180 \ --delivery "announce:telegram:YOUR_CHAT_ID" \ --prompt "运行 nas-仪表盘 技能: collect and 格式化 the 仪表盘 报告, then 发送 to Telegram."
工作流
- Collect data
运行 scripts/collect.sh. See script for full section 列出 (系统, ZFS, DISKS, DOCKER, FRIGATE, GPU, NETWORK, PROCESSES, 服务S, 记录S, 分享S, SECURITY, 更新S, BOOT, UPS, TIMESHIFT).
- 格式化 输出 — Visual Style
Use Unicode box-drawing, 进度 bars, and compact inline layouts.
仪表盘 Title ╭──────────────────────────────────────╮ │ 🏠 NAS 仪表盘 · {date} {day} │ ╰──────────────────────────────────────╯
Section Template
Use ━━━ dividers with emoji section headers. 进度 bars: ████████░░ (10 segments).
Key sections:
🖥 系统 — hostname, OS, uptime, load, CPU, memory bar, swap, root disk, mobo temp 🗄 ZFS — pool 健康, capacity bar, I/O, ARC/L2ARC, snapshots, scrub, top snaps 💾 DISKS — 模型/serial/size/temp/hours/健康 + iostat latency 🐳 DOCKER — engine version, contAIner 列出, images/volumes, tag summary (:latest vs pinned) 📹 FRIGATE — cameras (use cam_names m应用ing if 配置d), 检测ion, storage 🎮 GPU — 模型, temp, utilization, VRAM bar, process count 🌐 NETWORK — interfaces, traffic 📊 PROCESSES — top 5 CPU, top 5 memory ⚙️ 服务S — ssh/smb/nfs/cockpit 状态 + fAIled units 🔒 SECURITY — fAIled 记录ins, boot time, errors/OOM if any 🔋 UPS — 状态 (OL→⚡Online, OB→🪫Battery), charge, load, voltage 💾 TIMESHIFT — cron 状态, snapshot count, latest 备份 格式化ting Rules 进度 bars: █ = 10% filled, ░ = empty. 10 chars wide. mem_pct / 10 → bar length. 状态 emoji: ✅ = OK, ⚠️ = 警告 (temp>50, cap>80%, ARC<90%, fAIled>0, latency>20ms, camera skip>0.5), ❌ = error/inactive. Inline separator: · (U+00B7) between related values. Compact 列出s: Group contAIner families (immich×4), t运行cate names >20 chars. Disk serial: t运行cate to last 8 chars. Disk I/O: show disks with util>1% or awAIt>5ms. Camera names: 设置 FRIGATE_CAM_MAP env var for friendly names (cam_abc:客厅,cam_xyz:车库). Falls back to raw IDs. Docker tags: {n} latest · {m} pinned. ⚠️ if latest-tagged contAIners exist. Omit: Swap if 0, GPU procs if none, 记录s if 清理, 服务s if all OK, sections if no data. Keep under 3000 chars total.
- Deliver
Use message 工具 with action=发送 to the tar获取 channel.
Prerequisites 工具 Required for Package zpool/zfs ZFS section zfsutils-linux smartctl Disk 健康 smartmon工具s docker Docker section docker-ce nvidia-smi GPU section nvidia-driver iostat Disk I/O sysstat sensors Temperatures lm-sensors upsc UPS section nut-命令行工具ent journalctl 记录s 系统d (built-in)
SMART, auth.记录, and zpool 事件 need sudo -n (passwordless sudo). Sections degrade gracefully if unavAIlable.
Notes All personal data (hostname, IPs, disk serials) is read at 运行time, not hardcoded. Camera name m应用ing is configurable via FRIGATE_CAM_MAP env var; no camera IDs are hardcoded. Pool name auto-检测ed from zpool 列出. Override with ZPOOL env var. Disk 列出 auto-检测ed from lsblk. Override with DISK_列出 env var. Suitable for publishing to ClawHub — contAIns no 凭证s, 令牌s, or fixed identifiers.