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
- 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
Logging / observability: provisional grade L0 — structured=0 print=0 sentry=0.
- discover
- present
- execute
- not applicable
- observe
- present
- configure
- not applicable
- cancel/stop
- not applicable
- reset
- not applicable
No Local API operation paths are matched to this module yet.
Media
See it in action
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.

