Live Wi-Fi in the macOS menu bar. When an LLM fills the pipe, you’ll know why the ping moved.
brew tap tomymaritano/tap
brew install --cask devwibarNative Swift. No Electron. No Dock icon. Same idea as the devwifi CLI — always visible, one click deep.
Menu bar — a wifi-on-a-bar mark. Template white, native. Click it.
Signal — RSSI quality (Excellent / Good / Fair / Weak), channel, radio rate. Same cutoffs as devwifi.
Traffic — live RX/TX in Mbps, sparkline, session totals.
On the link — LLM Connection Radar. It attributes traffic to AI apps already on your Mac (Cursor, Claude, Grok, ChatGPT, Copilot, Gemini, Windsurf, Ollama, Perplexity) and says whether lag is Wi-Fi or an LLM saturating the uplink.
Evidence is three chips — Ping, Traffic, Signal — plus a one-line reason with numbers. No slogan rewrite. Process names and destinations only; nothing inside TLS.
Network — IP, gateway, DNS (Cloudflare / Google / Quad9 / OpenDNS labels), latency to 1.1.1.1. Click a value to copy.
Latency — optional ping sparkline to 1.1.1.1. Off by default; turn it on in Widgets.
Footer — Open at login, Widgets, Quit.
Click Widgets for a gallery, same idea as adding Desktop widgets: each card is a different density. Add puts that info in the panel; Added takes it out.
| Widget | What it adds |
|---|---|
| Metric | One number: RSSI + quality |
| Signal | Quality bar, channel, radio |
| History | RX/TX sparkline and totals |
| Combined | Signal + traffic + ping in one block |
| Latency | Ping sparkline |
| On the link | LLM radar |
| Network | IP, gateway, DNS |
The same templates appear in the macOS widget gallery (Desktop / Notification Center) when the .appex is embedded.
macOS: right-click the desktop or open Notification Center → Edit Widgets → DevWifiBar.
System widgets refresh about every five minutes. Radar only appears after DevWifiBar has written a snapshot (it will not run lsof inside the widget sandbox). If the gallery is empty, build with full Xcode so package_app.sh can embed DevWifiBarWidgets.appex.
Homebrew ships v0.2.1 (Developer ID signed and notarized). Upgrade with brew upgrade --cask devwibar.
brew tap tomymaritano/tap
brew install --cask devwibar
open -a DevWifiBarThe cask lives in tomymaritano/homebrew-tap. Upgrade with brew upgrade --cask devwibar.
Releases are Developer ID signed and notarized. Gatekeeper opens them without right-click → Open.
macOS 14+ and Swift 5.10+ (Xcode 15.4 or later).
git clone https://github.com/tomymaritano/devwibar.git
cd devwibar
./Scripts/package_app.sh
open dist/DevWifiBar.appmake package is the same. UNIVERSAL=1 make package builds arm64 + x86_64.
| Access | Why |
|---|---|
| Location | Apple only exposes SSID / BSSID through CoreWLAN + CoreLocation. Asked once. Without it the panel still shows RSSI, IP, traffic, DNS, and latency; the name stays “Wi-Fi”. |
| lsof / nettop | Radar maps process names to known LLM hosts. No packet payloads, no keychain, no prompts. |
System Settings → Privacy & Security → Location Services → DevWifiBar.
| Data | Source |
|---|---|
| SSID, RSSI, channel, BSSID | CoreWLAN |
| SSID permission | CoreLocation |
| Path up/down | Network.framework (NWPathMonitor) |
| RX / TX bytes | getifaddrs interface counters |
| IP / gateway / DNS | ipconfig, route, SCDynamicStore |
| Latency | ping to 1.1.1.1 |
| AI apps on the link | lsof + nettop, matched against AICatalog |
DevWifiCore is the readers and the widget snapshot. DevWifiBar is an LSUIElement AppKit status item + SwiftUI popover. DevWifiBarWidgets is the WidgetKit extension.
Radar rules (with hysteresis): latency is high above 80 ms and clears below 60 ms; saturate above 2.5 Mbps and clears below 1.6 Mbps. If ping is high and signal is Excellent, the verdict is uplink / LLM host — not RSSI.
swift test
swift build -c release --product DevWifiBar
make package
make widgets # XcodeGen + WidgetKit extension (full Xcode)GitHub Actions (macos-14) runs tests and an ad-hoc package on every push to main. A tag vX.Y.Z (or Release → Run workflow) signs with Developer ID, notarizes, and attaches DevWifiBar-X.Y.Z.zip to the GitHub Release.
Password reveal, QR share, speed test, DNS switching, device scan, and alerts stay in the devwifi CLI for now.
MIT. Provider marks in the radar are Simple Icons (CC0); trademarks belong to their owners.


