Download and install
QuietWatch 1.4.0 (build 107) targets macOS 13 or later. Its universal package includes Intel and Apple Silicon binaries. The app interface is currently in Simplified Chinese.
- Download the DMG, open it, and drag QuietWatch into Applications.
- Open QuietWatch from Applications and follow the macOS first-launch prompt. The app is Developer ID signed by JINGREN CHEN and Apple notarized.
- Allow notifications if you want them, then start monitoring. Launch at login is off by default and can be enabled in settings.
You can also download the ZIP, extract it, and move the app into Applications. A SHA-256 checksum list is available. To update, quit the previous version before replacing it. Moving from a development build to the formally signed app may prompt macOS to request Keychain or login-item approval again.
Software updates
If you use 1.0, quit it and replace it with the website download once. From 1.1, QuietWatch checks for updates daily while running and shows an update entry in the menu bar and main window, independently of notification permission. You can also select “检查更新” in the app menu, About or Settings → Software updates (“设置 → 软件更新”).
Automatic downloads and installation on quit are off by default. Enable “自动下载并在退出时安装” to download in the background and install when you quit QuietWatch normally. macOS may still ask for administrator or system authorization. Closing the main window does not quit the app, and monitoring pauses briefly while restarting.
Updates preserve your monitoring settings, event history and AI keys. You can disable automatic checks and still check manually; an update already prepared may still install on quit. If a check or installation fails, retry or download from the website. Local monitoring remains available. Install the app in Applications instead of running it from the DMG.
Computer Check: from symptoms to next steps
- Heat / fan noise (“发热 / 风扇”): choose this symptom in Computer Check to review system resources and persistently busy tasks. Refresh or wait when sampling has just started, monitoring is paused or results are stale. No high-usage result does not rule out system tasks or hardware issues.
- Development cleanup (“开发任务收尾”): check simulators first. Verify the name, runtime and state, save your work, then confirm one shutdown at a time. This interrupts tests and unsaved work on that device, without deleting the device or saved data. Recheck expired results, starting/stopping devices or an unconfirmed previous shutdown.
- Identify a Node project: filter project/unknown tasks or app-bundled runtimes, then choose “读取详情” to inspect a directory and ports. Directory/port searches cover only details already read; clear filters if needed. A long runtime or a listening port does not prove a task is unused. Choose “核对任务” to inspect it before acting.
- Sleep / wake (“合盖 / 唤醒”): unplug before carrying the Mac, mark the time and battery level, then close the lid with QuietWatch still running. It rechecks once on wake; you can retry manually. Read the report timestamp. Failed reads, missing battery data and no recorded sleep events are distinct states, not proof of normal sleep.
If Node details fail to refresh, matching old details keep their original timestamp; they do not establish the current state. Only the last 32 inspected tasks are retained in memory. Sleep checks provide evidence without changing your power settings or remote-access software.
Your first sample
QuietWatch samples every 30 seconds by default. The first sample establishes a baseline, so process CPU is initially unknown. The next valid sample produces an interval average. Pausing, sleeping, or an unusually long sampling gap interrupts the evidence for sustained usage; monitoring starts building that evidence again when it resumes.
The default rule flags CPU usage of at least 90% sustained for five minutes. You can adjust it in settings. QuietWatch reads accessible processes owned by your current user. macOS may restrict some process information, so the list does not cover every system process.
For a process, 100% CPU roughly means one logical core is fully occupied. Multithreaded tasks can exceed 100%. Whole-system CPU is normalized across all cores and uses a different scale.
Understand the task before acting
Computer Check starts with symptoms; Needs Attention lists persistently busy tasks and their recommendations. Open task details and expand the source, interval CPU, resident memory, runtime and accumulated CPU time as needed. You can expand the launch command locally. It may contain project paths or sensitive arguments, so check it before sharing your screen.
Builds, rendering and tests can legitimately use substantial CPU. Sustained usage alone cannot establish that an app is frozen or in an infinite loop. Resident memory is shown for context; QuietWatch does not diagnose memory leaks.
- Inspect the parent app (“打开所属应用”): switch to the running app to check progress. If it cannot be identified, open Activity Monitor and follow the search instructions.
- Mute for one hour (“静音 1 小时”): temporarily silence this task. You can restore alerts sooner.
- Request exit (“请求退出”): after confirmation, ask the selected task to exit normally.
- Force stop (“强制结束”): after a separate confirmation, terminate the selected task. Unsaved work may be lost.
QuietWatch never stops tasks automatically or terminates a group of child processes at once. It checks the process identity again before acting and protects critical system processes. About two seconds later, it checks the result. “已确认退出” confirms the task exited; “仍在运行” means it is still running; “暂时无法确认” means the result could not be verified. In that case, sample again or check Activity Monitor.
Menu bar, notifications and login
Closing the main window leaves QuietWatch running in the menu bar. From there you can reopen the window, sample immediately, or pause and resume monitoring. Quitting the app stops sampling.
If an alert does not appear, check notification permissions, Focus mode, whether the task is muted, and whether usage has persisted long enough. Tasks still appear in the app when notifications are not permitted. If launch at login needs approval, open System Settings → General → Login Items.
History and appearance
Local event history retains up to 500 entries for up to 30 days and supports search and filters. Export all (“导出全部”) saves all retained events, regardless of the current filter, to a location you choose. It does not upload the file. Clearing history requires confirmation and removes all local events.
Events contain a fixed task category, necessary PID, timestamps, status and action results. They exclude raw commands, file paths, API keys and AI responses. Choose the system appearance, a light theme or a dark theme in settings.
Use resource trends and current task status
These features are included in release 1.3.0. Process exits and app removal always require your separate confirmation.
Open Resources for 15- or 60-minute CPU, compression and swap trends, then sort apps and expand tasks. App memory is summed resident usage and may include shared pages; it is not exclusive memory or guaranteed reclaimable space. New resource observations stay in the main window and menu panel, without new system notifications or automatic AI requests.
- Start with the current status. Open an alert, read local advice, then choose “打开所属应用” to inspect the running app. If no parent app can be identified, follow the Activity Monitor instructions. Details explain when CPU has fallen, the process is no longer readable, the task is muted or observation is paused.
- Add AI advice when useful. Expand “AI 补充建议(可选)” and choose “获取简短建议”. Reasons are limited to 80 characters, and an existing result is reused. Local advice remains available while waiting, on failure or when a key needs authorization. AI completion does not send another notification.
- Configure AI and start receiving advice. Choose a service and model, edit the address if needed, enter your key and save. Automatic advice is on by default; you can turn it off and save, and that choice is remembered. Presets cover DeepSeek, OpenAI, Alibaba Cloud Model Studio and local Ollama, with a custom compatible-service option. Install local models yourself; provider charges may apply. If a key needs authorization, use “授权读取密钥” in settings or enter and save the key again. Canceling stops background retries.
- You choose which apps to remove. Scan in App management, select an app you no longer need, choose “检查并移除程序…”, then check its location and notices before confirming Move to Trash. For a running app, save your work, request a normal exit and recheck; moving it to Trash still needs separate confirmation. Checks can be canceled, and failures show next steps. Protected apps and complex installations may remain blocked.
Removal moves the whole app bundle and everything inside it. Documents, settings and caches outside the bundle are kept. Do not store personal files inside an app bundle. Use the vendor’s removal method for apps with background services, extensions or their own uninstaller.
To ask AI for app-review suggestions, separately select apps and approve the list before sending. QuietWatch does not read usage history and cannot tell which apps you have not used lately. AI replies never remove software automatically.
The menu panel has a clearer pause/resume button and a settings shortcut. Manual update checks live in software update settings, About and the app menu; new-version reminders remain visible. Quitting asks for confirmation. Switching apps or pressing Esc dismisses the panel.
Remove data or get help
Before uninstalling, you can clear event and removal history, remove AI keys and disable launch at login. Deleting the app alone does not remove local data. See the privacy notice for details.
For help, email mlaohu.app@gmail.com with your macOS version, app version and steps to reproduce the issue. Leave API keys, full launch commands and other information you do not want to share out of your email and screenshots.