No results
1
Home
Vincent S. edited this page 2026-06-28 01:08:01 +02:00
Table of Contents
alfred
alfred is a personal Linux-desktop telemetry daemon. A single alfred serve process polls system data sources (CPU, GPU, audio, media, network, storage, llama.cpp, YouTube Music, Hyprland) on independent intervals, caches the latest ModuleOutput per module, and serves it over a Unix socket (and optional TCP) as waybar-compatible JSON.
The same binary is also the client: alfred get <module> and friends are short-lived children (e.g. of waybar) that talk to the daemon.
alfred serve # persistent daemon (systemd --user)
alfred get system # one-shot query for waybar/scripts
alfred stream media # long-lived NDJSON stream
alfred status # is the daemon up?
Modules at a glance
| Module | Source | Interval |
|---|---|---|
system |
/proc/stat, /proc/meminfo, sysfs hwmon |
2s |
gpu |
NVML (libnvidia-ml) |
5s |
audio |
wpctl / pactl subprocesses |
2s |
media |
D-Bus MPRIS via zbus |
5s |
network |
/sys/class/net |
5s |
storage |
statvfs + sysfs hwmon |
30s |
llama |
HTTP localhost:8080/metrics |
2s |
ytmd |
YTMD companion HTTP + Socket.IO | 5s |
hyprland |
Hyprland IPC | 1s |
Where to go next
- Getting Started — build, run, systemd, waybar.
- Architecture — how the daemon is wired together.
- Modules — the module contract + how to add one.
- HTTP API — routes the daemon exposes.
- Configuration —
config.tomland env vars. - Automation — the Lua automation engine.
- Contributing — conventions and the pre-commit gate.
This wiki is seeded from the repo's
README.mdandCLAUDE.md; those files remain the source of truth in-tree.
Seeded from the repo's README.md and CLAUDE.md — those remain the in-tree source of truth.