https://github.com/ak1ra-lab/smartscan
A CLI tool that collects SMART data from disk devices, checks configurable health thresholds, optionally analyses results with an LLM, and tracks history in SQLite.
https://github.com/ak1ra-lab/smartscan
hardware-diagnostics hdd homelab llm-analysis nvme smart smartctl smartmontools
Last synced: 14 days ago
JSON representation
A CLI tool that collects SMART data from disk devices, checks configurable health thresholds, optionally analyses results with an LLM, and tracks history in SQLite.
- Host: GitHub
- URL: https://github.com/ak1ra-lab/smartscan
- Owner: ak1ra-lab
- License: mit
- Created: 2026-06-12T16:49:20.000Z (16 days ago)
- Default Branch: master
- Last Pushed: 2026-06-13T17:19:44.000Z (15 days ago)
- Last Synced: 2026-06-13T17:25:00.719Z (15 days ago)
- Topics: hardware-diagnostics, hdd, homelab, llm-analysis, nvme, smart, smartctl, smartmontools
- Language: Python
- Homepage: https://ak1ra-lab.github.io/smartscan/
- Size: 127 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# smartscan
[](https://github.com/ak1ra-lab/smartscan/actions/workflows/publish-to-pypi.yaml)
[](https://pypi.org/project/smartscan/)
[](https://test.pypi.org/project/smartscan/)
[](https://ak1ra-lab.github.io/smartscan/)
A CLI tool that runs smartctl on all disks, extracts key SMART health metrics, and stores historical results in SQLite for tracking changes over time.
## Quick start
Install [smartmontools](https://www.smartmontools.org/) to provide the `smartctl` command, then install smartscan:
```bash
uv tool install smartscan
```
Collect SMART data from all disks (requires root):
```bash
sudo smartscan collect
sudo smartscan collect --no-save "WDC"
sudo smartscan collect --verbose
sudo smartscan --json collect
```
Query historical records, filter by name, or get JSON output:
```bash
smartscan query --since 2026-01-01
smartscan query --last-days 7 --verbose
```
Map disks to their /dev/disk/ identifiers (no root needed):
```bash
smartscan lsblk
smartscan lsblk --source by-id "Samsung"
smartscan --exclude '^/dev/(loop|zd)\d+' lsblk
```
Read the [full documentation](https://ak1ra-lab.github.io/smartscan/) for shell completion, configuration reference, and advanced usage.