下载包为 ad-hoc 签名、未经 Apple 公证,首次启动可能被 macOS 拦截,需在隐私与安全性里选择仍要打开;风扇写入和内存优化需安装管理员授权的固定命令 helper,普通监控则不需要;升级前要先退出旧版再替换,装了 watcher 的话之后要点 Restart Plugin。
WonderBox
jasonwong1991MIT活跃维护一款原生 macOS 系统工具箱,提供真实有效的内存优化、深度清理找出真正占空间的大文件、风扇控制、防休眠和磁盘分析,适合想精细管理 Mac 系统资源的用户。
A native macOS system toolkit: honest memory optimization, deep cleanup that finds the real space hogs, fan control, keep-awake, disk analyzer.
从 Releases 下载 ZIP,解压后把 WonderBox.app 移到 Applications;若首次启动被拦截,可执行:xattr -dr com.apple.quarantine /Applications/WonderBox.app需要 macOS 14 或更高版本,支持 Apple Silicon 与 Intel。README 未提及显存或独立 GPU 要求;部分功耗与传感器读数依赖具体 Mac 型号和 macOS 版本,缺失时显示 —。
原生 macOS 系统工具箱,监控内存、CPU、GPU 与功耗,做深度清理和风扇控制
一款原生 macOS 系统工具箱,提供真实有效的内存优化、深度清理找出真正占空间的大文件、风扇控制、防休眠和磁盘分析,适合想精细管理 Mac 系统资源的用户。
核心能力
- 用特权 helper 缓解系统内存压力并清理文件缓存,给出前后对比
- 标准/深度清理可逐项选择,磁盘分析按文件夹定位空间占用
- 菜单栏可选显示 CPU、内存、系统功耗,约每 3 秒刷新
- 读取 SMC 与 IOReport 展示系统/CPU/GPU 瓦数和 1 分钟至 1 小时历史
- 支持风扇转速与温度传感器查看、保持唤醒、应用卸载残留审查
容易踩的坑
- v1.2.4WonderBox 1.2.4最新正式版2026-11-07 · 2026-11-07 04:54 UTC
WonderBox 1.2.4
构建号:124。在概览和菜单栏查看整机功耗,并统一 README 的截图与排版。
Build 124. System power in Overview and the menu bar, plus refreshed README screenshots and formatting.
整机功耗 / System Power
-
概览新增整机功耗卡片,显示实时瓦数与传感器来源;点击详情按钮即可进入功耗页。概览刷新同时更新普通指标与功耗,不另开采样器。
Overview gains a system-power card with live watts and the sensor source. Its detail button opens the Power page, and Overview refresh updates both ordinary metrics and power without creating another sampler.
-
菜单栏新增独立的系统功耗选项,与 CPU、内存显示分开控制,默认关闭。在「设置 → 常驻」开启后,即使主窗口关闭也会约每三秒更新。
The menu bar gains an independent system-power option, separate from CPU and RAM and off by default. Enable it in Settings → Always Available for updates approximately every three seconds, including with the main window closed.
-
两处整机功耗均使用功耗页同源的 SMC PSTR 传感器,不把 CPU+GPU、充电功率或适配器输入当作整机功耗。菜单栏使用轻量采样,不启动 CPU/GPU 能量订阅、进程扫描或功耗历史。缺失或过期读数显示
—,真实零值保留。Both system readings use the same SMC PSTR source as the Power page, not CPU + GPU, charging power or adapter input. The lightweight menu-bar sampler does not start CPU/GPU energy subscriptions, process scans or power history. Missing or stale readings show
—; measured zero remains zero.
文档与截图 / Documentation and Screenshots
-
修复中文 README 中加粗标记直接显示、加粗范围错误的问题。
-
更新 18 张中英文截图,包含新增整机功耗的概览。除外观设置页展示深色主题外,其他截图统一为浅色;菜单面板保留实际浅色材质效果。
-
截图来自已安装的 WonderBox,不使用模拟界面,也未改写传感器数值。
-
Fix literal bold markers and incorrect emphasis spans in the Chinese README.
-
Refresh 18 English/Chinese screenshots, including the new Overview card. Images use light appearance except for the intentional dark-theme settings example; menu panels retain their actual light material appearance.
-
Captures come from the installed WonderBox app, not mockups or edited sensor readings.
验证范围 / Validation Scope
350 项自动测试零失败(10 项环境或显式启用测试跳过),7 项打包测试通过,本地化检查通过。主应用、两个辅助程序和卸载监测插件均包含 arm64/x86_64;ZIP 解压后已复核版本、签名、辅助程序身份约束与中文资源。
350 automated tests completed with zero failures and 10 environment/opt-in skips; all seven packaging tests and localization checks passed. The app, both helpers and the uninstall watcher contain arm64/x86_64 slices. Version metadata, signatures, helper identity requirements and Chinese resources were rechecked after extracting the ZIP.
本轮在 Apple M4 Max / macOS 26.5.2 上验证真实界面与读数。传感器支持因机型和系统版本而异;通用构建与自动测试不代表其他 Mac 或 macOS 版本已经完成真机验证。
Native UI and readings were checked on an Apple M4 Max / macOS 26.5.2. Sensor support varies by hardware and OS; universal compilation and automated tests do not establish runtime validation on other Macs or macOS versions.
更新 / Updating
要求 macOS 14 或更新版本。退出旧版,解压 Apple Silicon/Intel 通用版
WonderBox-1.2.4.zip,替换WonderBox.app后重新打开。校验值见附件SHA256SUMS。Requires macOS 14 or newer. Quit the old version, unzip the universal Apple Silicon / Intel
WonderBox-1.2.4.zip, replaceWonderBox.app, and reopen it. Checksums are attached asSHA256SUMS.沿用 ad-hoc 临时签名,未公证;更新程序不会自动安装或运行下载的应用。
This release remains ad-hoc signed and not notarized. The updater does not automatically install or run the downloaded app.
完整变更 / Full changelog: v1.2.3…v1.2.4
-
- v1.2.3WonderBox 1.2.32026-11-05 · 2026-11-05 09:07 UTC
查看更新说明
WonderBox 1.2.3
构建号:123。针对 M6 + macOS 27.2(26B123) 接入新的 CPU 功耗读取路径。
Build 123. Adds a CPU-power path for M6 + macOS 27.2 (26B123).
CPU 功耗兼容 / CPU Power Compatibility
-
macOS 27 的旧 Energy Model CPU 计数可能不再更新。此次接入 CLPC CPU 总能量报告,使用实际驱动标识、运行时 DriverID 和精确系统构建匹配;按能量差值和真实间隔换算瓦数,不从整机或 GPU 功耗推算 CPU 数值。
Legacy Energy Model CPU counters can stop updating on macOS 27. This version adds a CLPC CPU aggregate, matched by driver identifier, live DriverID and exact OS build. Watts come from measured energy deltas and actual elapsed time, not an estimate from system/GPU power.
-
报告编号已从 Apple 官方 macOS 27.2 固件中独立识别,限定适用于
AppleT8152CLPC与构建26B123。未知驱动或系统构建不套用编号;保留实际可用的 SMC 回退,缺失或无效读数继续显示—。The report identity was independently identified from Apple's macOS 27.2 firmware and is limited to
AppleT8152CLPC/ build26B123. Unknown drivers/builds do not reuse the mapping. Available SMC fallbacks remain, and missing/invalid readings stay—. -
CLPC 总计不会与旧 CPU 能量重复相加;有效零值保留,负值、重复报告、计数重置或不符的单位会被排除。GPU 和整机功耗的来源保持独立。
CLPC power is not added to overlapping legacy CPU totals. Valid zeroes are preserved; negative values, duplicate reports, resets and invalid units are rejected. GPU and system readings remain separate.
-
不新增管理员授权,不安装新辅助服务,也不通过切换风扇模式取得数据。
No new administrator prompt, helper installation or fan-mode change is introduced.
验证范围 / Validation Scope
344 项自动测试零失败(5 项环境/权限相关测试跳过),7 项打包测试通过;Apple Silicon/Intel 通用构建成功。
344 automated tests completed with zero failures and five environment/permission-related skips; all seven packaging tests passed, and the Apple Silicon / Intel universal build succeeded.
已核验官方固件的来源、哈希、驱动 UUID 和 CPU 报告依赖关系,另用原生 IOReport 校验描述符的单位和标识。尚未在反馈用户的 M6 真机上实测:静态报告识别与自动测试不代表实际读取权限和测量精度已经验证,仍需升级后确认空闲、负载及睡眠唤醒时的表现。
The official firmware source, hashes, driver UUID and CPU report dependency trace were checked, and native IOReport getters validated descriptor units and identities. Runtime measurement on the reporting M6 remains unverified: static identity and automated tests do not establish access or accuracy on that device. Idle, load and sleep/wake behavior still need confirmation after updating.
更新 / Updating
要求 macOS 14 或更新版本。退出旧版,解压 Apple Silicon/Intel 通用版
WonderBox-1.2.3.zip并替换WonderBox.app,然后重新打开。SHA-256 校验值见附件SHA256SUMS。Requires macOS 14 or newer. Quit the old version, unzip the universal Apple Silicon / Intel
WonderBox-1.2.3.zip, replaceWonderBox.app, and reopen it. The SHA-256 checksum is attached asSHA256SUMS.沿用 ad-hoc 临时签名,未公证。
This release remains ad-hoc signed and not notarized.
完整变更 / Full changelog: v1.2.2…v1.2.3
-
- v1.2.2WonderBox 1.2.22026-11-05 · 2026-11-05 08:38 UTC
查看更新说明
WonderBox 1.2.2
构建号:122。优化 CPU 功耗的数据源兼容性和首次采样,修复只识别
CPU Energy单一名称导致部分机器有 GPU 功耗、却缺少 CPU 功耗的问题。Build 122. Improves CPU power compatibility and initial sampling. The previous implementation recognized only
CPU Energy, which could leave CPU power unavailable while GPU power worked on machines exposing different CPU counters.CPU 功耗优化 / CPU Power Improvements
-
支持整颗 CPU 总计、Ultra 等机型的分芯片总计,以及 ECPU/PCPU 等完整核心类型能量计数。优先使用整体总计,不把总计、分芯片和核心分项重复相加。
Supports whole-CPU energy, per-die totals on multi-die machines, and complete core-type families such as ECPU/PCPU. A whole-CPU total takes priority; overlapping total, die and core-type readings are never added together.
-
首次采样会自动建立能量基线,等待约 0.6 秒后取得真实差值;测量期间显示“正在测量功耗…”。不必手动刷新来获得第二次采样。
Initial sampling establishes an energy baseline and obtains a measured delta after approximately 0.6 seconds. The initial refresh shows “Measuring power…”, without requiring a manual refresh for a second sample.
-
保留单位换算、实际采样间隔校验、数据缺口和数据源变化断线处理。重复、无效或不完整的计数不会被当成整颗 CPU 功耗;没有可靠数据源时仍显示
—。不估算瓦数,不新增管理员授权。Unit conversion, actual elapsed-time validation and chart gaps remain in place. Duplicate, invalid or incomplete counters are not presented as whole-CPU power. Unsupported readings remain
—; no watts are guessed and no administrator prompt is added.
更新 / Updating
要求 macOS 14 或更新版本。退出旧版,解压 Apple Silicon/Intel 通用版
WonderBox-1.2.2.zip,替换“应用程序”中的WonderBox.app后重新打开。SHA-256 校验值见SHA256SUMS。Requires macOS 14 or newer. Quit the old version, unzip the universal Apple Silicon / Intel
WonderBox-1.2.2.zip, replaceWonderBox.appin Applications, and reopen it. The SHA-256 checksum is included inSHA256SUMS.验证范围 / Validation Scope
340 项自动测试零失败(5 项环境/权限相关测试跳过),7 项打包测试通过,Apple Silicon/Intel 通用构建成功。
340 automated tests completed with zero failures and five environment/permission-related skips; all seven packaging tests passed, and the Apple Silicon / Intel universal build succeeded.
回归样本覆盖 CPU 名称变体、分芯片和核心类型计数、重复/不完整来源及启动基线;原生只读测试验证了本机首次采样的 CPU 功耗。反馈截图对应的芯片和系统版本尚未提供,仍需在该机器上确认;其他机型和 macOS 14 的手动兼容性验收也待补充。
Regression fixtures cover CPU name variants, die/core-type counters, duplicate/incomplete sources and initial baselines. A native read-only check verified CPU power on the first primed sample on the development host. The reporting machine’s chip and macOS version were not supplied, so confirmation on that machine remains outstanding, as do manual compatibility checks on other hardware and macOS 14.
沿用 ad-hoc 临时签名,未公证。
This release remains ad-hoc signed and not notarized.
完整变更 / Full changelog: v1.2.1…v1.2.2
-
- v1.2.1WonderBox 1.2.12026-11-05 · 2026-11-05 06:52 UTC
查看更新说明
WonderBox 1.2.1
构建号:121。移除缺少可靠数据源的风扇功耗展示,功耗页保留整机、CPU 和 GPU 的实际可用读数。
Build 121. Removes the fan-power display because it has no supported measurement source. The Power page keeps available system, CPU and GPU readings.
功耗展示优化 / Power Display Cleanup
-
移除始终显示
—的风扇功耗卡片,以及功耗采样中附带的风扇转速读取。不会根据 RPM 猜测瓦数。Removes the fan-power card that always showed
—, along with the fan-RPM reads attached to power sampling. Wattage is never guessed from RPM. -
风扇页和菜单栏浮窗继续显示实际转速。自动模式下系统可能让风扇停转,此时真实的 0 RPM 仍正常显示;进入风扇页不会新增管理员授权请求,也不会切换控制模式。
The Fan page and menu bar popup continue to show actual fan speed. macOS can stop fans in automatic mode, so genuine 0 RPM readings remain valid. Opening the Fan page introduces no administrator prompt or mode change.
安装 / Installation
要求 macOS 14 或更新版本。
WonderBox-1.2.1.zip为 Apple Silicon/Intel 通用版。退出旧版,解压并替换“应用程序”中的WonderBox.app后重新打开。SHA-256 校验值见附件SHA256SUMS。Requires macOS 14 or newer.
WonderBox-1.2.1.zipis a universal Apple Silicon / Intel archive. Quit the old version, unzip and replaceWonderBox.appin Applications, then reopen it. The SHA-256 checksum is attached asSHA256SUMS.333 项自动测试零失败(5 项环境/权限相关测试跳过),7 项打包测试通过;已检查浅色/深色功耗页。Intel 真机及 macOS 14 的手动兼容性验收仍待补充。
333 automated tests completed with zero failures and five environment/permission-related skips; all seven packaging tests passed. The Power page was inspected in light and dark appearances. Manual compatibility checks on Intel hardware and macOS 14 remain outstanding.
沿用此前版本的 ad-hoc 临时签名,未公证。
This release remains ad-hoc signed and not notarized, like previous versions.
完整变更 / Full changelog: v1.2.0…v1.2.1
-
- v1.2.0WonderBox 1.2.02026-11-05 · 2026-11-05 04:10 UTC
查看更新说明
WonderBox 1.2.0
构建号:120。菜单栏资源监测已优化:现在可以直接在 macOS 顶部菜单栏查看 CPU 和内存占用,无需先打开浮窗。
Build 120. Menu bar monitoring is improved: CPU and memory usage can now appear directly in the macOS menu bar without opening the popup.
开启方法 / How to Enable
打开 设置 → 常驻,保持 菜单栏快捷入口 开启,然后按需勾选:
Open Settings → Always Available, keep Menu bar shortcut enabled, and choose either or both:
- 在菜单栏显示 CPU 占用 / Show CPU usage in menu bar
- 在菜单栏显示内存占用 / Show memory usage in menu bar
两项都开启时显示为
CPU 12% · RAM 64%;也可以只显示 CPU 或内存。两项默认关闭,保留升级前的纯图标外观;切换立即生效,重启后保留设置。With both enabled, the label reads like
CPU 12% · RAM 64%. Either metric can also be shown alone. Both default off to preserve the previous icon-only appearance. Changes apply immediately and persist across relaunches.本次优化 / Improvements
-
约每 3 秒刷新一次,关闭主窗口后仍持续更新,不依赖浮窗是否展开。
Updates approximately every three seconds, including when the main window is closed and the popup is not open.
-
独立轻量采样仅读取 CPU 和内存计数,不会因此让磁盘、GPU、功耗或应用排行扫描持续运行。关闭两项显示或隐藏菜单栏快捷入口后停止该采样,重新显示入口时恢复已保存的选择。
A lightweight sampler reads only CPU and memory counters; it does not keep disk, GPU, power or per-app scans running. Disabling both metrics or hiding the shortcut stops this sampler. Restoring the shortcut preserves the saved choices.
-
CPU 显示整机处理器占用(0–100%),RAM 采用与现有面板相同的已用内存口径。启动或唤醒后,CPU 会先等待真实采样基线;缺失/无效读数显示
—,不伪装成零。CPU reports overall processor usage (0–100%); RAM uses the same used-memory definition as the existing panel. CPU waits for a real baseline after launch or wake. Missing/invalid readings show
—, not a fabricated zero. -
保留原有 彩色/单色菜单栏图标 选择,点击菜单栏仍打开原来的快捷浮窗。此次更新不自动开启登录启动、不安装新辅助服务,也不改变用户的清理设置。
Existing color/monochrome menu bar icons and the click-to-open popup are preserved. This update does not enable launch at login, install a new helper, or change cleanup preferences.
感谢 Issue #10 提出的使用建议。
Thanks for the suggestion in Issue #10.
安装与验证 / Installation and Validation
要求 macOS 14 或更新版本。
WonderBox-1.2.0.zip为 Apple Silicon/Intel 通用版。退出旧版,解压并替换“应用程序”中的WonderBox.app,重新打开后按上述步骤开启所需显示。Requires macOS 14 or newer.
WonderBox-1.2.0.zipis a universal Apple Silicon / Intel archive. Quit the old version, unzip and replaceWonderBox.appin Applications, then reopen and enable the desired metrics as described above.333 项自动测试无失败(5 项环境/权限相关测试跳过),7 项打包测试通过。另已验证原生菜单栏中的双项/单项显示、关闭窗口后的刷新、隐藏/恢复、彩色/单色图标,以及设置开关的实际交互。ZIP 解压后的版本、双架构、签名和中文资源均已校验;SHA-256 校验文件见附件
SHA256SUMS。333 automated tests completed with zero failures and five environment/permission-related skips; all seven packaging tests passed. Native menu bar validation also covered both/single metrics, closed-window updates, hiding/restoring, both icon styles, and actual settings interactions. Extracted version metadata, architectures, signatures and Chinese resources were verified. The archive checksum is included in
SHA256SUMS.此版本沿用 ad-hoc 临时签名,未公证。原生界面验收在 macOS 26.5.2 上完成;Intel 真机及 macOS 14 的手动兼容性测试仍待补充。
This release remains ad-hoc signed and not notarized. Native UI validation was performed on macOS 26.5.2; manual compatibility checks on Intel hardware and macOS 14 remain outstanding.
完整变更 / Full changelog: v1.1.0…v1.2.0
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。

Screenshots show the current source build on one Mac, with chosen settings—not necessarily defaults. Readings and sensor availability vary by device. See the capture notes.
At a glance
| Monitor | Maintain | Stay in control |
|---|---|---|
| CPU/GPU charts and app rankings | Memory optimization with before/after results | Optional CPU, RAM and power menu-bar labels |
| Memory pressure, compression and swap | Standard/deep cleanup with item selection | Keep awake and optional launch at login |
| System/CPU/GPU power history | App uninstall and related-file review | Opt-in uninstall watcher and automatic cleanup |
| Temperatures and fan RPM | Folder-by-folder disk analysis | English/简体中文, light/dark themes, four accents |
Release: 1.2.4 · build 124 · release notes. New in 1.2.4: a system-power card in Overview, plus optional system power in the menu bar, off by default. The README screenshots now use light appearance, except for the theme-controls example.
Scans and diagnostics stay on this Mac. Update checks contact GitHub; exported logs are shared only when you send them. No account, telemetry or automatic log upload.
Features
Menu bar: CPU, RAM and system power
In Settings → Always Available, enable any combination of:
- Show CPU usage in menu bar — overall processor utilization, 0–100%.
- Show memory usage in menu bar — App + Wired + Compressed as a fraction of physical memory.
- Show system power in menu bar — the Power page's system sensor, in watts, for example
PWR 18.3 W.
All three are independent and off by default. A combined label looks like CPU 12% · RAM 64% · PWR 18.3 W. Changes apply immediately and persist after relaunch. Hiding the shortcut preserves your choices.
The label refreshes about every 3 seconds, including with the main window closed. Only enabled readings are sampled; power reads the SMC PSTR system sensor without starting CPU/GPU energy subscriptions, process scans or power history. Disabling all values or hiding the shortcut stops this sampler. Sleep clears values; wake starts fresh. Missing sensors show —, and CPU waits for a measured baseline rather than showing a made-up zero.
Choose Color or Monochrome for the icon; monochrome follows the system menu-bar appearance. Click it to open the compact dashboard:
The panel includes CPU/memory/disk usage, available CPU/GPU temperatures, fan RPM, keep awake, memory optimization and Quick Clean with a reclaimable-space estimate. The estimate is refreshed after cleanup; actual reclaimed space may differ.
CPU, GPU and memory

- CPU/GPU: rolling 60-second charts with time/percentage axes; searchable app rankings include helper processes and offer quit/force quit. In the app ranking, one fully occupied CPU core is 100%, so multi-core apps can exceed 100%. GPU context totals are not the same as whole-device utilization; unsupported drivers show
—. - Memory: App, Wired, Compressed, Cached Files and Available, plus swap and the kernel's memory-pressure level. Per-app physical footprint rolls helper processes into their host app and estimates compressed/swapped memory.
- Optimization: the privileged helper requests system-wide memory-pressure relief, then purges file cache. The result reports per-category before/after values and app responses. Reclaimed memory varies with workload; no fixed saving is promised.
- Overview: CPU, memory, disk, network, battery where present, uptime including sleep and system power in watts. The power card shares the Power page’s sensor and links to its details; missing or stale readings show
—. The health banner takes memory pressure into account, not only thermals.
Power and temperatures

- Power: current system, CPU and GPU watts, plus 1-minute / 15-minute / 1-hour history, observed-interval averages and peaks. History is held in memory while live monitoring runs; pauses/sleep leave gaps and quitting clears it. The menu-bar system reading has its own lightweight lifecycle and does not keep this history running.
- Sources: optional IOReport energy counters divided by the actual interval, plus supported SMC readings. System power comes from PSTR, not CPU + GPU, battery charging rate or adapter input. Readings are hardware/model estimates, not wall-outlet measurements; component scopes may overlap. CPU-package fallbacks are labeled.
- Compatibility: available counters vary by Mac and macOS. Missing, invalid or stale values show
—; a measured zero remains zero. Sandboxed builds leave private-API power readings unavailable. The 1.2.3 M6/macOS 27.2 path is exact-build gated; runtime measurement on the reporting M6 remains unverified. See compatibility notes. - Fan page: CPU/GPU temperature summaries, individually available sensors and live RPM. Recognized Intel sensors receive core numbers; other sensors retain their keys. No missing cores or fan watts are invented from estimates.
Fan control offers automatic, quiet, balanced, performance and custom modes where hardware allows writes; opening the page only reads sensors. Keep awake uses IOKit assertions, with 30-minute / 1-hour / 2-hour / indefinite durations and an optional keep-display-on setting.
Cleanup, without the guessing

| Scan | Scope |
|---|---|
| Standard | User and sandbox-container caches, logs, Xcode DerivedData, installers older than 7 days, Trash |
| Deep additions | Package-manager caches; Chromium/Electron caches; simulator and DeviceSupport files; likely app leftovers; local device backups; partial downloads |
| Separately opt-in | WeChat and WeCom application/web caches, excluding chat databases and downloaded attachments |
Package-manager coverage includes npm, pnpm, yarn, bun, uv, Cargo, Go, Gradle, Maven and CocoaPods download caches—not installed runtimes, toolchains or Docker virtual disks. ZIPs count as installers only with actual installer content or standard bundle metadata, not merely an installer-looking parent directory.

Expand categories to choose individual items. App caches are grouped by app name/icon; search and Select All / Deselect All affect visible results. Click Name or Size to sort while preserving selection and expansion. Done saves the draft; Close / Escape discards it. Partial sizes carry ≥; unknown sizes are not presented as zero.
Paths are revalidated against category-specific roots and shapes. Running browser/Electron apps are skipped; messaging caches require the app to quit and go to the Trash. Review selected items before cleaning: rebuildable caches may be permanently removed, and emptying the Trash is irreversible.
App uninstall and related files

- Browse
/Applicationsand~/Applications; search, filter large/unused apps and sort. Total footprint includes the app bundle + discovered related data, including unchecked items. - Related files are grouped by purpose with folder previews, group selection and Select All / Deselect All. Unchecked files stay put; confirmation reports what will be retained.
- Discovery uses bundle/component identifiers, exact product names, container metadata, application-group declarations and bounded Electron metadata. Shared groups, migration folders, recovery data and ambiguous/shared components require review and default unchecked. macOS shared data and symlink traversal are excluded. See the coverage matrix.
- Results appear before background sizing finishes. Small, cancellable budgets keep large directories responsive;
≥means a lower bound. Calculate Full Size measures only the selected app and can be stopped. Lists/details share a short-lived cache; refresh invalidates it. - Selected files move to the Trash: ordinary user permissions first, then Finder for eligible failures. No uninstall daemon or stored password. Errors preserve failed items for retry, distinguish Full Disk Access from Finder Automation, and report the actual system result.
- Quit the app before uninstalling. After removal, WonderBox checks selected paths and rescans; new leftovers are not silently selected. Selecting an app already in the Trash reviews related files without moving its bundle again.
Optional background features
| Feature | Default | When it runs | What it does |
|---|---|---|---|
| Uninstall watcher plugin | Not installed until accepted | While logged in, even after WonderBox quits | Detects app removal and opens a related-file review; never deletes without confirmation |
| Automatic cleanup | Off | Checks every 5 minutes while WonderBox runs, including menu-bar-only use | Cleans only identified idle apps' rebuildable caches when your threshold/interval is met |
| Launch at login | Off | At login, if enabled separately | Starts WonderBox; distinct from the watcher plugin |

Configure the watcher and automatic cleanup in Settings; Cleanup also has Automatic Cleanup Settings. Choose a cache threshold from 128 MB–100 GB, an interval from 1 hour–30 days, or either condition. Unattended cleanup excludes unknown owners, running apps, symlinks, messaging/system caches, downloads, backups, app data and the Trash. Disabling it stops subsequent items after the current filesystem operation finishes; quitting pauses checks.
The watcher handles ordinary app updates, renames, moves and duplicate installs; removal evidence is rechecked before cleanup. Permission failures are not treated as uninstalls. macOS may ask you to approve it in General → Login Items & Extensions. After updating WonderBox, use Restart Plugin to load the new bundled watcher while preserving pending reviews. It requires a packaged .app, not swift run.
Disk analysis and consistent refresh

Browse folders, sort by size/name/date, reveal items in Finder or move selections to the Trash. File lists appear first; up to four cancellable background tasks fill in folder sizes. Revisits use a 60-second cache; Rescan forces fresh results. Cloud-sync directories are excluded from recursive sizing to avoid triggering downloads.
The toolbar refresh button and ⌘R refresh the current page: processor/memory metrics and rankings, uninstall inventory and related files, cleanup scan, current disk folder, or settings status. Refresh does not clean files, optimize memory, change fan mode or extend keep awake.
Settings, updates and diagnostics

- Follow system/light/dark appearance, choose one of four accents and switch English/简体中文 (relaunch required). Configure menu-bar labels, close-window behavior, startup and permissions independently.
- Software Update or WonderBox → Check for Updates… checks GitHub stable releases. Automatic checking is on by default, at most once per 24 hours including failed attempts. Downloads support progress/cancel/retry and verify size and SHA-256 before saving. Archives retain quarantine metadata and are not automatically installed or run; quit, unzip and replace the app manually.
- Diagnostics records local operation results and numeric error codes, not filenames, paths, usernames, file contents, commands, tokens or high-frequency monitoring data. Up to four 512 KiB files, 2 MiB total, with a 7-day retention limit. Disabling logging clears local logs.
- Export Logs… creates a ZIP containing logs and basic app/macOS/architecture information; review it before sharing. No automatic upload. Clear Logs… does not delete ZIPs you previously exported.

Installation
Requires macOS 14 or later, Apple Silicon or Intel. Download the ZIP from Releases, unzip and move WonderBox.app to Applications.
Current downloads are ad-hoc signed and not Apple-notarized. macOS may block first launch. After checking that you downloaded this project's release, use System Settings → Privacy & Security → Open Anyway if offered. The command below removes quarantine from that app only; it does not verify the publisher:
xattr -dr com.apple.quarantine /Applications/WonderBox.app
When upgrading, quit the old app before replacing it. If the watcher is installed, click Restart Plugin afterwards. Do not overwrite a running app.
Permissions, only when needed
| Feature | Access |
|---|---|
| Basic monitoring, keep awake, app inventory | No administrator authorization |
| Broad home/protected-folder scans | Optional Full Disk Access for the app copy you actually run |
| Trash sizing/emptying and eligible protected-file removal | Finder Automation; Finder may request system authentication |
| Fan writes and memory optimization | Administrator authorization to install/update the fixed-command helper |
| Selected system-cache cleanup | Per-run administrator authorization |
| Optional watcher / launch at login | macOS Service Management; login-item approval may be required |
Root privileges do not replace privacy permissions. Uninstall does not install the helper. The helper validates the client's signing identity and user ID and accepts fixed operations, not arbitrary shell commands.
Build and test
Use Xcode's macOS SDK and Swift 6:
git clone https://github.com/jasonwong1991/WonderBox.git
cd WonderBox
swift test
python3 -m unittest discover -s Tests/Packaging
python3 scripts/sync_localization.py --check
./scripts/package_app.sh
open build/WonderBox.app
package_app.sh builds a locally signed app with compiled string catalogs, generated icons, maintenance helpers and the embedded watcher. Set UNIVERSAL=1 for Apple Silicon + Intel binaries. swift run is useful for development but does not create a registrable watcher bundle or compile the string catalogs into app resources. Packaging does not publish a release.
The current release profile is direct distribution. App Store distribution requires excluding private sensor/helper implementations and restricting file operations to sandbox grants; the presence of an entitlements file does not make the current bundle Store-ready. See distribution, API boundaries and hardware acceptance.
Localization and contributing
Strings live in Sources/WonderBox/Resources/Localizable.xcstrings and InfoPlist.xcstrings. To add a language, translate both catalogs, add its code to LANGUAGES in scripts/sync_localization.py and AppLanguage in Sources/WonderBox/Core/Localization.swift, then run localization checks and tests. Running the sync script without --check extracts source strings and updates the key list.
Bug reports should include app/macOS version, Mac model, expected/actual behavior and steps to reproduce. For sensor issues, distinguish unavailable (—) from measured zero. Attach diagnostics only after reviewing the export. Community: LinuxDo.
License and credits
MIT · Third-party notices. WonderBox's app/menu-bar artwork is generated in this repository; it does not embed third-party logos. SF Symbols are native macOS UI symbols. App icons visible in screenshots belong to their respective owners.