← All modules

Local AI Cat module

System Stats menu bar strip

Current shipping, testing, and product context for this part of Local AI Cat.

Status

Where it stands

Lane: StableStatus: LiveTesting: prov. unit-only⚠ never-driven
Platforms
macOS
Release channels
Alpha · Beta · Main
Distribution
Indoor · Outdoor
  • AlphamacOS
  • BetamacOS
  • Outdoor · Direct downloadmacOS
  • Indoor · App StoremacOS

Description

What it does

macOS menu bar. iStat-Menus-style two-line segments (small-caps label over bold value) in iStat’s own order — CPU° · BAT · CPU · SSD · MEM. Each enabled metric is its OWN NSStatusItem with a stable autosaveName (macOS does not preserve a third-party item’s position without one) and its own transient popover panel, so the metrics are individually Cmd-draggable exactly like the app this replaces. The existing cat status item is untouched by this feature — an earlier revision composited a strip into it and macOS clipped the wide image to a sliver, because that item is squareLength whenever the Screen Awake countdown is idle. The master switch defaults OFF: an explicit exception to the default-ON convention, because the items permanently occupy menu-bar width for every user (Phil, 2026-08-19: "optionally configured on"). Nothing is sampled while it is off. Per-segment switches default ON, and flipping one creates or removes only that item. Memory is Activity Monitor’s definition (app + wired + compressed, where app = internal − purgeable) rather than the older active+inactive+wired sum, and disk is Finder’s available-for-important-usage. Battery reuses BatteryStateKit’s existing push-driven snapshot rather than a second reader. Each panel is a card of ring gauges and value rows: memory pressure/used with the App/Wired/Compressed legend, disk capacity with live read/write throughput, CPU user/system with load and uptime, battery charge/health with status, and the full temperature sensor list. Indoor ships four of the five: CPU temperature needs a private sensor API, so its reader is structurally absent and its item is never created, while the metric itself is still listed in Settings — faded, badged, with a soft link to the direct-download build (Phil’s 2026-08-19 amendment: the lane split should be visible, not silent). GET /v1/local/system-stats returns every figure with the definition behind it, which is the surface the iStat dual-run compares against.

Headless Local API

Drive it over the loopback API

API parity: PartialLogging: L0 · prov.

Logging / observability: provisional grade L0structured=0 print=0 sentry=0.

discover
present
execute
not applicable
observe
present
configure
not applicable
cancel/stop
not applicable
reset
not applicable
systemStats

No Local API operation paths are matched to this module yet.

Media

See it in action

Walkthrough coming soonUI-test video · GIF fallback
A short walkthrough will appear here when the module's UI test media is ready.

Backlog / improvements

What comes next

No improvements are listed for this module yet.

History

How it got here

No change history has been published for this module yet.