sth-system-info collects a reusable, SPEC-style machine inventory from remote Linux
systems over SSH. It keeps raw command outputs, generates a normalized summary JSON,
renders a Markdown system profile, and captures lstopo topology artifacts.
Each collection writes a host directory containing:
manifest.jsonsummary.jsonsystem_profile.mdtopology/lstopo.xmltopology/lstopo.txttopology/lstopo.svgwhen availableraw/command outputs such as:lscpu.txtlscpu-topology.csvcpuinfo.txtmeminfo.txtnumactl.txtlsblk.jsondf.txtipaddr.txtlspci.txtlspci_verbose.txtlshw_network.txtdmi_system.txtdmi_baseboard.txtdmi_processor.txtdmi_memory.txtuname.txtos-release.txtcmdline.txtcpu_governor.txttransparent_hugepage.txt
cd /Users/patrickkennedy/Desktop/AgentC/sth-system-info
python3 -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .[dev]Run a collection against a configured host:
export STH_SYSTEM_INFO_SSH_PASSWORD=sthuser
sth-system-info collect \
--config hosts/sth-lab.toml \
--host thor \
--output-root runsOr write directly to a fixed directory:
sth-system-info collect \
--config hosts/sth-lab.toml \
--host thor \
--output-dir /tmp/thor-system-info- SSH and sudo use the same password by default.
- Commands that require privilege are treated as optional. The collection does not fail if one of them is unavailable.
- The current implementation is Linux-focused and intended for benchmark-lab hosts.