Download and install
QuietWatch 1.0.0 (build 101) 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.
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
The overview puts tasks needing attention first. Open task details (“查看任务详情”) to inspect the source, interval CPU, resident memory, runtime and accumulated CPU time. 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; version 1.0 does not diagnose memory leaks.
- 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.
Set up optional AI advice
Local monitoring, rule-based alerts and manual actions work without AI. To use AI advice, configure a Chat Completions-compatible Base URL, model ID and an API key if your service requires one. QuietWatch does not install or launch a model. Provider charges may apply.
- Enter the service’s Base URL without a trailing
/chat/completions. Remote services require HTTPS. Exact local addresses localhost, 127.0.0.1 and ::1 may use HTTP. - Select Save service and key (“保存服务与密钥”) to validate and save the configuration together with any newly entered key. Leaving the key blank keeps an existing key for that same service address. A local service without authentication can use an empty key.
- Choose analysis in task details. Review the destination and the exact summary, then confirm to send. The summary contains a fixed task category, resource readings and observation and runtime durations. It excludes commands, paths, PIDs, usernames, source code and logs.
Keys are stored in the local macOS Keychain separately for each service address. AI advice cannot execute commands or stop tasks; every exit action still requires your independent confirmation. Your provider’s policies govern its handling and retention of requests.
The app explains authentication, quota, model, network and timeout errors while local monitoring remains available. Requests time out after about 45 seconds. Canceling an already sent request cannot recall data the service has received.
Remove data or get help
Before uninstalling, you can clear 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.