Menu-bar system monitor for Apple Silicon (optional local AI agent).
Apple Silicon only(arm64). Intel Macs are not supported by the published DMG / Homebrew cask.
Free MIT Β· local-first Β· no cloud telemetry. Core glanceable metrics in the menu bar; optional Ollama / Discord agent when you want it β off by default.
Two products in one binary β pick your path:
Just the monitor | Monitor + AI agent | | |---|---|---| | What you get | Menu-bar CPU + SSD (and Β°C when known), glass window, themes, process list, website monitors, Disk Cleanup | Everything left + local Ollama chat, Discord bot, schedules, Agent Ops | | Needs | macOS on Apple Silicon | + |
off by defaultaiAgentEnabled: true
or use Settingsπ Changelog Β· β¨ Features Β· π Getting Started Β· πΊ Roadmap Β· πΊ Homebrew Β· π Landing Β· π¬ How we compare
Quick start β Just the monitorQuick start β Monitor + AI agentScreenshotsvs. Stats / iStat Menus / MenuMetersInstall optionsPrivacyUpdatesFull featuresBuild from source
brew tap raro42/mac-stats https://github.com/raro42/mac-stats
brew install --cask mac-stats
open -a mac-stats
Look at the menu bar β click for the window. No Ollama required. Disk Cleanup, monitors, and themes are all in the glass window.
- Install the app (above).
- Install Ollama and pull a model:
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.2
- Enable AI in Settings ( Enable local AI agent) or:
{ "aiAgentEnabled": true, "menuBarCompact": true }
- Open the window β **AI Chat (Ollama)**β try:What's my CPU temp?
Details: docs/GETTING_STARTED.md.
~49s live window capture β real mac_stats --cpu
session (ScreenCaptureKit, window-only): live gauges, monitors (including a red down site), Agent Ops, Ollama chat. Letterboxed to 1080p with light voiceover. (repo file)
Full theme gallery and capture notes: docs/screens/README.md.
Repo: github.com/raro42/mac-stats
Closest peers from a 2026 menu-bar monitor scan (how we compare):
mac-stats | Stats (exelban) | iStat Menus | MenuMeters | | |---|---|---|---|---| | Menu-bar CPU / RAM / disk | β | β | β | β (basic) | | Apple Silicon focus | β arm64 only | β | β | β | | Themes / glass UI | β | β | β | β | | Disk Cleanup (scopes Β· soft-delete β Trash) | β | β | β | β | | Local LLM agent (Ollama) | β optional | β | β | β | | Discord bot / schedules | β optional | β | β | β | | Deep sensors / history / weather | lean essentials | strong | deepest | minimal | | Price | Free (MIT) | Free / donate | Paid | Free | | Cloud telemetry | β none | β | β | β |
How to pick:
vs Statsβ Stats is the classic free OSS monitor; mac-stats keeps that spirit with glass/themes,** Disk Cleanup**(scoped reclaim with soft-delete to Trash by default), and** optionallocal AI / Discord / schedules. vs iStat Menus**β iStat Menus is the paid deep-sensor benchmark; mac-stats stays on essentials + Apple Silicon glanceability + lightweight cleanup (we arenot a full iStat replacement).vs MenuMetersβ MenuMeters is minimal bars; mac-stats adds richer metrics, themes, Disk Cleanup, and optional agent workflows without forcing AI on.
Leave AI off for a Stats-like monitor only. Local-first: core metrics never need the cloud.
| Method | Command / link |
|---|---|
| Homebrew cask | |
brew tap raro42/mac-stats https://github.com/raro42/mac-stats && brew install --cask mac-stats |
|
| Quick Start script | |
./scripts/quickstart.sh (clone) β app + ~/.mac-stats defaults + Ollama check |
|
| DMG | |
SourceBuild from source** Gatekeeper / notarization:** Prefer signed+notarized builds (docs/NOTARIZATION.md). Until CI secrets are set, use Right-click β Open.
Config templates in repo root: config.minimal.json (monitor-only),
config.example.json
No cloud telemetry β everything stays in ** ~/.mac-stats/**. Secrets: Keychain and/or
.config.env
(never commit). See docs/CONFIG.md.
In-app banner checks GitHub Releases. Or: brew upgrade --cask mac-stats
.
- Compact menu bar by default (
CPU + SSD, plus Β°C when known); set
menuBarCompact: false
for CPU/GPU/RAM/SSD. - Nine themes, process list, website monitors (menu bar shows a red Mon β cue when any site is down). - GPU usage ring gauge alongside CPU / frequency / temperature.
- ~0.5% idle CPU (menu bar only).
Built-in reclaim panel (no AI required):
- Preview reclaimable size;
Clean now, or automatic runs on** app launchand every 24h**while running. Scopes you can turn on/off: mac-stats data, Trash, Downloads, Temp, plus custom paths (age in days + recurse). Saved in
diskCleanupScopes
.Soft-delete by defaultβ cleaned files go to** Trash**so you can recover them. UncheckMove cleaned items to Trash(or setdiskCleanupSoftDelete: false
) for permanent delete. Emptying the Trash scope is always permanent.- Details: FEATURES.mdΒ· screenshot above.
- Ollama chat, Discord (Werner), FETCH_URL, Brave, Perplexity, CDP browser, tasks, scheduler, MCP, Agent Ops.
- Off until
aiAgentEnabled: true
.
docs/CONFIG.md Β· Settings β
Reset to monitor defaults.
| Command | Description |
|---|---|
mac_stats / open -a mac-stats |
|
| Start | |
mac_stats --cpu |
|
| Start with window open | |
mac_stats -vv |
|
Verbose debug.log |
git clone https://github.com/raro42/mac-stats.git
cd mac-stats
git checkout v0.1.257 # pin when possible
./run
Requires Rust + Xcode CLT (macOS Tauri). Checksums: ./scripts/print-release-checksums.sh v0.1.257
.
Contributor docs: docs/design/. Workflow: docs/agent_workflow.md.
Discord Β· Discussions Β· Issues Β· Feedback