From 37c7b7e7435d9f5c7880cfe5837679920f80cee9 Mon Sep 17 00:00:00 2001 From: Tw93 Date: Sun, 14 Dec 2025 08:53:19 +0800 Subject: [PATCH] feat: Add AI agent documentation, expand critical application protection for AI/LLM tools, and enhance user cache cleaning safety --- .gitignore | 3 +++ CLAUDE.md | 1 - GEMINI.md | 1 - bin/clean.sh | 2 +- lib/clean/user.sh | 4 +++- lib/core/app_protection.sh | 26 ++++++++++++++++++++++++++ mole | 2 +- 7 files changed, 34 insertions(+), 5 deletions(-) delete mode 120000 CLAUDE.md delete mode 120000 GEMINI.md diff --git a/.gitignore b/.gitignore index d87d753..84b6dc2 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,9 @@ temp/ # AI Assistant Instructions .claude/ +.gemini/ +CLAUDE.md +GEMINI.md .cursorrules # Go build artifacts (development) diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 120000 index ac534a3..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1 +0,0 @@ -AGENT.md \ No newline at end of file diff --git a/GEMINI.md b/GEMINI.md deleted file mode 120000 index ac534a3..0000000 --- a/GEMINI.md +++ /dev/null @@ -1 +0,0 @@ -AGENT.md \ No newline at end of file diff --git a/bin/clean.sh b/bin/clean.sh index 0b91307..0cf8974 100755 --- a/bin/clean.sh +++ b/bin/clean.sh @@ -223,7 +223,7 @@ safe_clean() { # Hard-coded protection for critical apps (cannot be disabled by user) case "$path" in - *clash* | *Clash* | *surge* | *Surge* | *mihomo* | *openvpn* | *OpenVPN* | *verge* | *Verge* | *shadowsocks* | *Shadowsocks* | *v2ray* | *V2Ray* | *sing-box* | *tailscale* | *nordvpn* | *NordVPN* | *expressvpn* | *ExpressVPN* | *protonvpn* | *ProtonVPN* | *mullvad* | *Mullvad* | *hiddify* | *Hiddify* | *loon* | *Loon*) + *clash* | *Clash* | *surge* | *Surge* | *mihomo* | *openvpn* | *OpenVPN* | *verge* | *Verge* | *shadowsocks* | *Shadowsocks* | *v2ray* | *V2Ray* | *sing-box* | *tailscale* | *nordvpn* | *NordVPN* | *expressvpn* | *ExpressVPN* | *protonvpn* | *ProtonVPN* | *mullvad* | *Mullvad* | *hiddify* | *Hiddify* | *loon* | *Loon* | *Cursor* | *cursor* | *Claude* | *claude* | *ChatGPT* | *chatgpt* | *Ollama* | *ollama* | *lmstudio* | *Chatbox* | *Gemini* | *gemini* | *Perplexity* | *perplexity* | *Windsurf* | *windsurf* | *Poe* | *poe* | *DiffusionBee* | *diffusionbee* | *DrawThings* | *drawthings*) skip=true ((skipped_count++)) ;; diff --git a/lib/clean/user.sh b/lib/clean/user.sh index d6a7bdc..53b9fdd 100644 --- a/lib/clean/user.sh +++ b/lib/clean/user.sh @@ -137,7 +137,9 @@ clean_sandboxed_app_caches() { # Clean contents safely # We know this is a user cache path, so rm -rf is acceptable here # provided we keep the Cache directory itself - rm -rf "${cache_dir:?}"/* 2> /dev/null || true + for item in "${cache_dir:?}"/*; do + safe_remove "$item" true || true + done fi fi fi diff --git a/lib/core/app_protection.sh b/lib/core/app_protection.sh index 73fc500..75d4d4a 100755 --- a/lib/core/app_protection.sh +++ b/lib/core/app_protection.sh @@ -109,6 +109,32 @@ readonly DATA_PROTECTED_BUNDLES=( "abnerworks.Typora" # Typora (Markdown editor) "com.uranusjr.macdown" # MacDown + # ============================================================================ + # AI & LLM Tools + # ============================================================================ + "com.todesktop.*" # Cursor (often uses generic todesktop ID) + "Cursor" # Cursor App Support + "com.anthropic.claude*" # Claude + "Claude" # Claude App Support + "com.openai.chat*" # ChatGPT + "ChatGPT" # ChatGPT App Support + "com.ollama.ollama" # Ollama + "Ollama" # Ollama App Support + "com.lmstudio.lmstudio" # LM Studio + "LM Studio" # LM Studio App Support + "co.supertool.chatbox" # Chatbox + "page.jan.jan" # Jan + "com.huggingface.huggingchat" # HuggingChat + "Gemini" # Gemini + "com.perplexity.Perplexity" # Perplexity + "com.drawthings.DrawThings" # Draw Things + "com.divamgupta.diffusionbee" # DiffusionBee + "com.exafunction.windsurf" # Windsurf + "com.quora.poe.electron" # Poe + "chat.openai.com.*" # OpenAI web wrappers + + + # ============================================================================ # Development Tools - Database Clients # ============================================================================ diff --git a/mole b/mole index 51cd0f4..0d2ca4b 100755 --- a/mole +++ b/mole @@ -22,7 +22,7 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/lib/core/common.sh" # Version info -VERSION="1.12.24" +VERSION="1.12.25" MOLE_TAGLINE="can dig deep to clean your Mac." # Check if Touch ID is already configured