N1KO-STATE v1.0.1
N1KO-STATE v1.0.1
First public release — a native macOS menu bar system monitor built for clarity and minimal overhead.
首次公开发布 — 原生 macOS 菜单栏系统监控,追求清晰可读与极低自身占用。
Download / 下载
| Asset | Description |
|---|---|
| N1KO-STATE.dmg | Universal binary (Apple Silicon + Intel). Drag to Applications. |
Install note: Ad-hoc signed builds may require Right-click → Open on first launch, or run 修复打不开.command from the DMG.
安装说明: Ad-hoc 签名版本首次打开请 右键 → 打开,或运行 DMG 内 修复打不开.command。
What's New / 本版本内容
Core monitoring / 核心监控
-
Menu bar widget with configurable metrics: CPU, GPU, memory, network, battery
-
Popover dashboard with card or gauge layout; module order customizable
-
CPU per-core grid, load averages, process top-5 (CPU & memory)
-
Memory breakdown: app / wired / compressed / pressure
-
GPU utilization & VRAM (Metal + IOAccelerator)
-
Network throughput with upload/download rates
-
Disk volume list + aggregate read/write I/O
-
Battery level, health, cycles, temperature, power draw (laptops)
-
Temperature sensors: IOHID on Apple Silicon, SMC fallback on Intel
-
菜单栏可配置指标:CPU、GPU、内存、网络、电池
-
弹出面板支持卡片/仪表盘布局,模块顺序可自定义
-
CPU 核心网格、负载均值、进程 Top 5(CPU & 内存)
-
内存细分:App / Wired / Compressed / 压力等级
-
GPU 利用率与显存
-
网络上下行速率
-
磁盘卷列表 + 读写 I/O
-
电池电量、健康度、循环次数、温度、功率(笔记本)
-
温度传感器:Apple Silicon HID + Intel SMC 回退
Fan control / 风扇控制
-
One-time privileged helper install for manual fan RPM
-
Temperature-based fan curve with hysteresis
-
Unified Auto / Manual / Curve mode state machine
-
Daemon auto-resets fans on app quit, crash, or disconnect
-
Onboarding flow for first-run authorization
-
一次性授权安装特权 Helper,支持手动 RPM
-
基于温度的风扇曲线,带迟滞防抖
-
统一 自动 / 手动 / 曲线 状态机
-
退出、崩溃或断连时 Daemon 自动恢复风扇
-
首次启动引导授权流程
History & alerts / 历史与告警
-
24-hour history charts (1m / 10m / 1h / 24h) for CPU, memory, network
-
Threshold alerts: CPU, memory, temperature, low disk, low battery
-
Notification permission requested on first threshold cross
-
24 小时历史图表(1 分钟 / 10 分钟 / 1 小时 / 24 小时)
-
阈值告警:CPU、内存、温度、磁盘空间、电量
-
首次越阈时请求通知权限
Performance & stability / 性能与稳定性
-
Visibility-driven sampling — no
/bin/pswhen popover is closed -
Event-driven disk volume & battery updates
-
Merged network interface scans; cached GPU IORegistry service
-
History persistence throttled to 5 minutes
-
Menu bar render deduplication
-
Timer coalescing (
tolerance) for lower idle CPU -
Fixed startup deadlock (DiagLog recursion)
-
Fixed quit-time admin password prompt when helper not installed
-
Fixed localization interpolation for helper error messages
-
Fixed CPU process list memory percentage (was always 0)
-
Smoke test:
./build_app.sh --native --smoke -
可见性驱动采样 — Popover 关闭时不 spawn
/bin/ps -
磁盘卷与电池事件驱动更新
-
合并网络接口扫描;缓存 GPU IORegistry
-
历史数据 5 分钟节流写盘
-
菜单栏渲染去重
-
Timer 合并唤醒,降低空闲 CPU
-
修复启动死锁(DiagLog 递归)
-
修复未装 Helper 时退出弹密码框
-
修复 Helper 错误文案本地化插值
-
修复 CPU 进程列表内存占比恒为 0
-
冒烟测试:
./build_app.sh --native --smoke
Localization / 本地化
- English · 简体中文 · 繁體中文 (live switch in Settings)
System requirements / 系统要求
- macOS 12.0 (Monterey) or later
- Apple Silicon or Intel
Known limitations / 已知限制
-
Ad-hoc signed DMG requires manual Gatekeeper bypass on first open (no Apple notarization in CI)
-
Fan control requires administrator password once for helper installation
-
Developer ID signing supported via
SIGN_IDENTITY+NOTARY_PROFILEenv vars when building locally -
CI 构建为 ad-hoc 签名,首次打开需手动绕过 Gatekeeper
-
风扇控制需一次性管理员密码
-
本地构建可配置 Developer ID 签名与公证
Checksums
SHA-256 of N1KO-STATE.dmg is attached in the GitHub Release workflow log. Verify after download if needed.
Full changelog: v1.0.1 tag