2025-09-23 14:32:12 +08:00
<div align="center">
2025-10-04 17:58:33 +08:00
<h1>Mole</h1>
2025-12-17 07:09:05 +08:00
<p><em>Deep clean and optimize your Mac.</em></p>
2025-09-23 14:32:12 +08:00
</div>
2025-10-04 07:40:29 +08:00
<p align="center">
<a href="https://github.com/tw93/mole/stargazers"><img src="https://img.shields.io/github/stars/tw93/mole?style=flat-square" alt="Stars"></a>
<a href="https://github.com/tw93/mole/releases"><img src="https://img.shields.io/github/v/tag/tw93/mole?label=version&style=flat-square" alt="Version"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square" alt="License"></a>
2025-10-04 07:56:09 +08:00
<a href="https://github.com/tw93/mole/commits"><img src="https://img.shields.io/github/commit-activity/m/tw93/mole?style=flat-square" alt="Commits"></a>
<a href="https://twitter.com/HiTw93"><img src="https://img.shields.io/badge/follow-Tw93-red?style=flat-square&logo=Twitter" alt="Twitter"></a>
<a href="https://t.me/+GclQS9ZnxyI2ODQ1"><img src="https://img.shields.io/badge/chat-Telegram-blueviolet?style=flat-square&logo=Telegram" alt="Telegram"></a>
2025-10-04 07:40:29 +08:00
</p>
2025-10-04 17:58:33 +08:00
<p align="center">
<img src="https://cdn.tw93.fun/img/mole.jpeg" alt="Mole - 95.50GB freed" width="800" />
</p>
2025-10-05 17:38:57 +08:00
## Features
2025-09-23 14:32:12 +08:00
2025-12-18 17:35:54 +08:00
- **Unified toolkit**: Consolidated features of CleanMyMac, AppCleaner, DaisyDisk, and iStat into a **single binary **
- **Deep cleaning**: Scans and removes caches, logs, and browser leftovers to **reclaim gigabytes of space **
- **Smart uninstaller**: Thoroughly removes apps along with launch agents, preferences, and **hidden remnants **
- **Disk insights**: Visualizes usage, manages large files, **rebuilds caches ** , and refreshes system services
- **Live monitoring**: Real-time stats for CPU, GPU, memory, disk, and network to **diagnose performance issues **
2025-09-23 14:32:12 +08:00
2025-10-04 17:58:33 +08:00
## Quick Start
2025-12-31 14:03:14 +08:00
**Install by Brew, recommended:**
2025-10-04 07:21:49 +08:00
```bash
2025-12-30 14:22:29 +07:00
brew install mole
2025-10-04 07:21:49 +08:00
```
2026-01-02 18:50:42 +08:00
**or by Script, for older macOS or latest code:**
2025-12-31 14:00:15 +08:00
```bash
2026-01-03 09:40:53 +08:00
# Add '-s latest' for newest, '-s dev' for development, or '-s 1.17.0' for a version.
2025-12-31 14:00:15 +08:00
curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash
```
2025-10-04 17:58:33 +08:00
**Run:**
2025-09-23 14:32:12 +08:00
```bash
2025-12-10 14:12:43 +08:00
mo # Interactive menu
mo clean # Deep cleanup
mo uninstall # Remove apps + leftovers
mo optimize # Refresh caches & services
mo analyze # Visual disk explorer
mo status # Live system health dashboard
2025-12-17 20:35:45 +08:00
mo purge # Clean project build artifacts
2025-12-10 14:12:43 +08:00
mo touchid # Configure Touch ID for sudo
2026-01-02 09:55:42 +08:00
mo completion # Setup shell tab completion
2025-12-10 14:12:43 +08:00
mo update # Update Mole
mo remove # Remove Mole from system
mo --help # Show help
mo --version # Show installed version
2025-12-18 17:35:54 +08:00
mo clean --dry-run # Preview the cleanup plan
mo clean --whitelist # Manage protected caches
2025-12-29 19:40:09 +08:00
2025-12-30 14:38:22 +08:00
mo optimize --dry-run # Preview optimization actions
2025-12-18 17:35:54 +08:00
mo optimize --whitelist # Manage protected optimization rules
2025-12-29 19:23:54 +08:00
mo purge --paths # Configure project scan directories
2025-10-05 17:42:31 +08:00
```
2025-10-03 11:27:48 +08:00
2025-10-11 23:28:20 +08:00
## Tips
2025-12-17 11:55:25 +08:00
- **Terminal**: iTerm2 has known compatibility issues; we recommend Alacritty, kitty, WezTerm, Ghostty, or Warp.
- **Safety**: Built with strict protections. See our [Security Audit ](SECURITY_AUDIT.md ). Preview changes with `mo clean --dry-run` .
- **Whitelist**: Manage protected paths with `mo clean --whitelist` .
- **Touch ID**: Enable Touch ID for sudo commands by running `mo touchid` .
2026-01-02 09:55:42 +08:00
- **Shell Completion**: Enable tab completion by running `mo completion` (auto-detect and install).
2025-12-17 11:55:25 +08:00
- **Navigation**: Supports standard arrow keys and Vim bindings (`h/j/k/l` ).
- **Debug**: View detailed logs by appending the `--debug` flag (e.g., `mo clean --debug` ).
2025-10-05 17:43:58 +08:00
2025-10-05 21:10:28 +08:00
## Features in Detail
2025-09-30 00:43:52 +08:00
2025-10-04 22:11:58 +08:00
### Deep System Cleanup
2025-09-23 14:32:12 +08:00
```bash
2025-10-05 19:29:26 +08:00
$ mo clean
2025-09-30 00:43:52 +08:00
2025-11-14 20:53:19 +08:00
Scanning cache directories...
2025-11-14 17:35:16 +08:00
2025-11-14 20:53:19 +08:00
✓ User app cache 45.2GB
✓ Browser cache (Chrome, Safari, Firefox) 10.5GB
✓ Developer tools (Xcode, Node.js, npm) 23.3GB
✓ System logs and temp files 3.8GB
✓ App-specific cache (Spotify, Dropbox, Slack) 8.4GB
2025-12-11 15:25:29 +08:00
✓ Trash 12.3GB
2025-11-14 17:35:16 +08:00
====================================================================
2025-11-14 20:53:19 +08:00
Space freed: 95.5GB | Free space now: 223.5GB
2025-11-14 17:35:16 +08:00
====================================================================
```
2025-10-04 22:11:58 +08:00
### Smart App Uninstaller
2025-09-30 00:43:52 +08:00
2025-10-04 17:58:33 +08:00
```bash
2025-10-05 19:29:26 +08:00
$ mo uninstall
2025-10-04 17:58:33 +08:00
2025-10-08 23:21:52 +08:00
Select Apps to Remove
2025-10-04 17:58:33 +08:00
═══════════════════════════
2025-12-11 15:25:29 +08:00
▶ ☑ Adobe Creative Cloud (9.4G) | Old
2025-09-30 00:43:52 +08:00
☐ WeChat (2.1G) | Recent
☐ Final Cut Pro (3.8G) | Recent
2025-10-08 23:21:52 +08:00
Uninstalling: Adobe Creative Cloud
2025-11-14 20:53:19 +08:00
✓ Removed application
✓ Cleaned 52 related files across 12 locations
- Application Support, Caches, Preferences
- Logs, WebKit storage, Cookies
- Extensions, Plugins, Launch daemons
2025-09-30 00:43:52 +08:00
====================================================================
2025-10-08 23:21:52 +08:00
Space freed: 12.8GB
2025-09-30 00:43:52 +08:00
====================================================================
2025-09-23 14:32:12 +08:00
```
2025-11-14 20:53:19 +08:00
### System Optimization
```bash
$ mo optimize
System: 5/32 GB RAM | 333/460 GB Disk (72%) | Uptime 6d
2025-11-22 14:00:27 +08:00
✓ Rebuild system databases and clear caches
2025-11-14 20:53:19 +08:00
✓ Reset network services
✓ Refresh Finder and Dock
✓ Clean diagnostic and crash logs
2025-11-22 14:00:27 +08:00
✓ Remove swap files and restart dynamic pager
2025-11-14 20:53:19 +08:00
✓ Rebuild launch services and spotlight index
====================================================================
System optimization completed
====================================================================
2025-12-08 17:00:08 +08:00
2025-12-11 14:24:19 +08:00
Use `mo optimize --whitelist` to protect specific optimization items from being run.
2025-11-14 20:53:19 +08:00
```
2025-11-12 17:09:04 +08:00
2025-11-14 21:55:16 +08:00
### Disk Space Analyzer
```bash
$ mo analyze
Analyze Disk ~/Documents | Total: 156.8GB
▶ 1. ███████████████████ 48.2% | 📁 Library 75.4GB >6mo
2. ██████████░░░░░░░░░ 22.1% | 📁 Downloads 34.6GB
3. ████░░░░░░░░░░░░░░░ 14.3% | 📁 Movies 22.4GB
4. ███░░░░░░░░░░░░░░░░ 10.8% | 📁 Documents 16.9GB
5. ██░░░░░░░░░░░░░░░░░ 5.2% | 📄 backup_2023.zip 8.2GB
2025-11-22 14:00:27 +08:00
↑↓←→ Navigate | O Open | F Show | ⌫ Delete | L Large(24) | Q Quit
2025-11-14 21:55:16 +08:00
```
2025-11-21 17:58:31 +08:00
### Live System Status
Real-time dashboard with system health score, hardware info, and performance metrics.
```bash
$ mo status
2025-11-22 13:46:36 +08:00
Mole Status Health ● 92 MacBook Pro · M4 Pro · 32GB · macOS 14.5
⚙ CPU ▦ Memory
Total ████████████░░░░░░░ 45.2% Used ███████████░░░░░░░ 58.4%
Load 0.82 / 1.05 / 1.23 (8 cores) Total 14.2 / 24.0 GB
Core 1 ███████████████░░░░ 78.3% Free ████████░░░░░░░░░░ 41.6%
Core 2 ████████████░░░░░░░ 62.1% Avail 9.8 GB
▤ Disk ⚡ Power
Used █████████████░░░░░░ 67.2% Level ██████████████████ 100%
Free 156.3 GB Status Charged
Read ▮▯▯▯▯ 2.1 MB/s Health Normal · 423 cycles
Write ▮▮▮▯▯ 18.3 MB/s Temp 58°C · 1200 RPM
⇅ Network ▶ Processes
Down ▮▮▯▯▯ 3.2 MB/s Code ▮▮▮▮▯ 42.1%
Up ▮▯▯▯▯ 0.8 MB/s Chrome ▮▮▮▯▯ 28.3%
Proxy HTTP · 192.168.1.100 Terminal ▮▯▯▯▯ 12.5%
2025-11-21 17:58:31 +08:00
```
2025-12-11 14:24:19 +08:00
Health score based on CPU, memory, disk, temperature, and I/O load. Color-coded by range.
2025-11-21 17:58:31 +08:00
2025-12-17 20:35:45 +08:00
### Project Artifact Purge
2025-12-18 14:16:56 +08:00
Clean old build artifacts (`node_modules` , `target` , `build` , `dist` , etc.) from your projects to free up disk space.
2025-12-17 20:35:45 +08:00
```bash
2025-12-18 14:16:56 +08:00
mo purge
Select Categories to Clean - 18.5GB (8 selected)
➤ ● my-react-app 3.2GB | node_modules
● old-project 2.8GB | node_modules
● rust-app 4.1GB | target
● next-blog 1.9GB | node_modules
○ current-work 856MB | node_modules | Recent
● django-api 2.3GB | venv
● vue-dashboard 1.7GB | node_modules
● backend-service 2.5GB | node_modules
2025-12-17 20:35:45 +08:00
```
2025-12-18 14:16:56 +08:00
> **Use with caution:** This will permanently delete selected artifacts. Review carefully before confirming. Recent projects (< 7 days) are marked and unselected by default.
2025-12-17 20:35:45 +08:00
2025-12-29 19:19:51 +08:00
<details>
<summary><strong>Custom Scan Paths</strong></summary>
2025-12-29 12:16:16 +01:00
2025-12-29 19:23:54 +08:00
Run `mo purge --paths` to configure which directories to scan, or edit `~/.config/mole/purge_paths` directly:
2025-12-29 12:16:16 +01:00
2025-12-29 19:18:25 +08:00
```shell
2025-12-29 12:16:16 +01:00
~/Documents/MyProjects
~/Work/ClientA
~/Work/ClientB
```
2025-12-29 19:23:54 +08:00
When custom paths are configured, only those directories are scanned. Otherwise, defaults to `~/Projects` , `~/GitHub` , `~/dev` , etc.
2025-12-29 19:19:51 +08:00
</details>
2025-12-29 12:16:16 +01:00
2025-11-15 19:23:02 +08:00
## Quick Launchers
Launch Mole commands instantly from Raycast or Alfred:
```bash
curl -fsSL https://raw.githubusercontent.com/tw93/Mole/main/scripts/setup-quick-launchers.sh | bash
```
2025-12-30 23:05:53 +08:00
Adds 5 commands: `clean` , `uninstall` , `optimize` , `analyze` , `status` . Mole automatically detects your terminal, or you can set `MO_LAUNCHER_APP=<name>` to override. For Raycast, if this is your first script directory, add it in Raycast Extensions (Add Script Directory) and then run "Reload Script Directories" to load the new commands.
2025-11-15 19:23:02 +08:00
2025-12-28 12:53:57 +08:00
## Community Love
<p align="center">
<img src="https://cdn.tw93.fun/pic/lovemole.jpeg" alt="Community feedback on Mole" width="800" />
</p>
Users from around the world are loving Mole! Join the community and share your experience.
2025-09-23 14:32:12 +08:00
## Support
2025-11-16 23:01:03 +08:00
<a href="https://miaoyan.app/cats.html?name=Mole"><img src="https://miaoyan.app/assets/sponsors.svg" width="1000px" /></a>
2025-12-17 11:55:25 +08:00
- If Mole saved you space, consider starring the repo or sharing it with friends who need a cleaner Mac.
- Have ideas or fixes? Open an issue or PR to help shape Mole's future with the community.
- Love cats? Treat Tangyuan and Cola to canned food via <a href="https://miaoyan.app/cats.html?name=Mole" target="_blank">this link</a> to keep our mascots purring.
2025-09-23 14:32:12 +08:00
## License
2025-09-30 07:55:18 +08:00
MIT License - feel free to enjoy and participate in open source.