Disk Guardian
/install disk-guardian
disk-guardian
S.M.A.R.T. drive health scanner for macOS and Linux.
Scripts
All scripts are in scripts/. Run them in sequence or pipe them together:
cd ~/.openclaw/workspace/skills/disk-guardian/scripts
# Full pipeline (may need sudo on Linux):
python3 scan_drives.py | python3 parse_smart.py | python3 report.py
# With sudo (required on many Linux systems):
python3 scan_drives.py --sudo | python3 parse_smart.py | python3 report.py
# Save report to file:
python3 scan_drives.py | python3 parse_smart.py | python3 report.py --output ~/disk-report.md
# Record scan to history and get trend analysis:
python3 scan_drives.py | python3 parse_smart.py | python3 history.py --record
Data is stored in ~/.openclaw/workspace/disk-guardian/ by default. Use --data-dir to override on any script.
Workflow
- Run
scan_drives.py— detects drives and runssmartctl -aon each. Outputs JSON. - Pipe to
parse_smart.py— extracts health attributes, assesses status (Good/Warning/Critical). - Pipe to
report.py— generates markdown report with risk rankings and recommendations. - Optionally pipe to
history.py --recordto log the scan and get trend alerts.
Prerequisites
smartctl must be installed:
- macOS:
brew install smartmontools - Linux:
sudo apt install smartmontoolsorsudo dnf install smartmontools
If smartctl is missing, scan_drives.py will output the install command and exit gracefully.
Script Details
scan_drives.py
- macOS: uses
diskutil listto find whole disks, thensmartctl -a /dev/diskN - Linux: uses
lsblkto find block devices, thensmartctl -a /dev/sdX --sudo: prepend sudo to smartctl commands (needed on Linux without udev rules)- Outputs JSON:
{os, smartctl_path, drives_found, scan_results: [{device, smartctl_output|error}]}
parse_smart.py
- Detects drive type: NVMe, SSD, or HDD
- SATA/SSD: parses attribute table, extracts Reallocated Sector Count, Current Pending Sector, Uncorrectable Errors, Temperature, Power-On Hours, Read Error Rate, Seek Error Rate, and more
- NVMe: parses health log for Available Spare, Percentage Used, Media Errors, Unsafe Shutdowns, Critical Warning
- Assigns health_status: Good / Warning / Critical
--input FILE: read from file instead of stdin--raw FILE --device NAME: parse a single raw smartctl text dump
history.py
--record: append current scan to~/.openclaw/workspace/disk-guardian/history.json--trends: analyze stored history for concerning patterns (rising reallocated sectors, climbing temps, declining NVMe spare)--list [--limit N]: show last N entries per device--data-dir PATH: use alternate storage location--device /dev/diskN: filter output to one device
report.py
- Generates markdown with drive inventory table, per-drive status, risk ranking with scores, human-readable flag explanations, trend alerts, and recommendations
- Risk ranking accounts for health status, flag severity, trend alerts, and drive age (power-on hours)
--output FILE: save report to file instead of printing--trends FILE: load pre-computed trend JSON
SMART Attribute Reference
See references/smart-attributes.md for plain-English explanations of the 10 most critical SMART attributes and NVMe health indicators. Read it when explaining specific attributes to the user or when triaging a flagged drive.
Edge Cases
- smartctl not installed:
scan_drives.pyprints install instructions and exits with code 2 - Permission denied: Output includes hint to use
--sudo; on Linux, add user todiskgroup as permanent fix - Virtual drives (VMware, loop devices): smartctl will return errors; these are captured and included in error entries
- NVMe vs SATA: drive type auto-detected; NVMe uses health log fields instead of attribute table
- Corrupt history:
history.pybacks up the file and starts fresh automatically
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install disk-guardian - 安装完成后,直接呼叫该 Skill 的名称或使用
/disk-guardian触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Disk Guardian 是什么?
Run S.M.A.R.T. diagnostics on all drives, parse health indicators, maintain a history log, and flag drives showing early failure patterns. Generates health s... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 116 次。
如何安装 Disk Guardian?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install disk-guardian」即可一键安装,无需额外配置。
Disk Guardian 是免费的吗?
是的,Disk Guardian 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Disk Guardian 支持哪些平台?
Disk Guardian 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Disk Guardian?
由 New Age Investments(@newageinvestments25-byte)开发并维护,当前版本 v1.0.0。