--- name: claude-cleanup description: 在 macOS 上安全审计、完整备份、清理或重置 Claude Code 与 Claude Desktop 本机状态。适用于清理可再生缓存和日志、轮换本地 ID、重置桌面端登录态、移除应用、继承现有遥测状态、启用最小提示词模式或修改台北时区;不用于规避封禁或平台风控。 --- # Claude 本机清理 使用随附脚本执行,不要临时拼接 `rm`。脚本采用窄白名单、完整备份、一次最终知情确认和失败即停止。 ## 运行顺序 1. 如果当前执行者就是 Claude Code,只运行只读审计并提醒用户切换到 Codex 或普通终端。不要让正在使用 `~/.claude` 的 Claude Code 自己修改该目录。 ```bash python3 scripts/claude_cleanup.py --audit ``` 2. 如果由 Codex 或普通终端执行,先运行审计并向用户说明: - 第一个写操作是完整复制并校验 `~/.claude`,同时备份 `~/.claude.json`; - 可再生缓存和日志会自动纳入最终清单,不逐项询问; - 身份、钥匙串、桌面端登录态、应用、精简模式和时区属于风险操作,仍由用户选择; - 所有移除只进入时间戳废纸篓目录,不会永久删除或清空废纸篓; - 保护路径和遥测设置保持不变。 3. 用户明确要求继续后,在真实终端运行: ```bash python3 scripts/claude_cleanup.py ``` 不要用管道代答,不要增加跳过确认参数。若只有自动安全清理且 Claude 正在运行,脚本直接跳过安全目标,不要求退出;若用户选择风险操作,再交由用户正常退出并复检。脚本不能自动结束进程。 4. 脚本显示展开后的完整清单。用户输入一次 `CONFIRM` 后才开始写盘。若需要修改时区,开机密码只能由用户在 macOS 原生 `sudo` 隐藏提示中输入;不要让用户把密码发给执行者,也不要读取或保存。 5. 结束后报告备份路径、废纸篓批次、实际选择、遥测继承结果和时区。任何中途停止都报告为部分完成,不能笼统声称清理成功。 ## 自动安全清理 在 Claude Code 和 Claude Desktop 都已退出后,自动把下列现存目标纳入最终清单,无需逐项提问: ```text ~/.claude/cache ~/.claude/stats-cache.json ~/.claude/telemetry ~/.claude/usage-data ~/.claude/usage.jsonl ~/.claude/usage.with-fix.jsonl ~/Library/Caches/claude-cli-nodejs ~/Library/Caches/com.anthropic.claudefordesktop* ~/Library/Logs/Claude ~/Library/Logs/DiagnosticReports/Claude* ~/Library/Application Support/CrashReporter/Claude* ``` 这些目标必须仍通过脚本白名单检查,并且只移入废纸篓。 ## 绝对保护范围 绝不删除或移动: ```text ~/.claude/projects、sessions、history.jsonl、file-history、debug ~/.claude/skills、plugins、hooks、commands、scripts、agents、mcp-servers ~/.claude/backups、CLAUDE.md、settings.json、settings.local.json 任何项目目录、Git 仓库、Codex 会话,以及未明确列入白名单的路径 ``` `settings.json` 只允许结构化修改被用户明确选择的键。保留其他 env、hooks、plugins、权限、模型、MCP、状态栏和秘密。目标与保护路径重叠时立即停止。 ## 风险操作 - **本地身份轮换**:轮换 `~/.claude.json` 的 `userID`、`machineID`,清除已知账号缓存字段,并把同一组新值同步到 `~/.claude/backups/.claude.json.backup.*`。仅用于隐私和排障,不宣称能改变平台关联判断。 - **钥匙串**:删除 `Claude Code-credentials` 会退出 CLI 登录,单独选择。 - **Claude Desktop**:可选择仅清持久数据与登录态,或连 `/Applications/Claude.app` 一并移入废纸篓。不能自动结束应用进程。 - **最小提示词模式**:在 `settings.json` 的 `env` 中设置或移除 `CLAUDE_CODE_SIMPLE=1`。启用后使用最小系统提示词和有限工具,并跳过 hooks、skills、plugins、MCP、自动记忆及 `CLAUDE.md` 自动发现;这些资产不会被删除。一次性脚本调用优先考虑 `claude --bare`。 - **台北时区**:仅在 macOS 当前不是 `Asia/Taipei` 时询问。使用 `sudo systemsetup` 修改并验证。 ## 遥测继承 逐值保存以下键: ```text DISABLE_TELEMETRY DISABLE_ERROR_REPORTING CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC ``` 当前关闭就保持关闭;当前未关闭就不主动关闭。改变遥测状态不属于本 skill 的清理范围。 本 skill 不用于规避封禁、支付检查、设备或 IP 信誉、浏览器指纹或任何平台风控。