mcpField
C
clean-component-removal

clean-component-removal

github.com/terrylica其他1108 次安装1 天前更新
代码仓库

关于 clean-component-removal

用于在 Apple Silicon macOS 上移除 Kokoro TTS 和 Telegram bot 组件的操作指南,按顺序停止与清理,并在破坏性操作前确认,默认保留指定数据。

主要功能

  1. 01按序卸载 Bot 与 TTS 组件
  2. 02支持全部、部分或选择性移除
  3. 03破坏性操作前确认
  4. 04默认保留模型缓存和源代码
  5. 05移除后的验证清单

适用场景

  1. 01重装前卸载 Kokoro TTS
  2. 02仅停止并移除 Telegram bot 进程
  3. 03清理临时 TTS 文件和 Shell 符号链接
  4. 04完整拆除组件并保留可复用数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/terrylica/cc-skills --skill clean-component-removal

安装后在 Claude Code 中输入/clean-component-removal确认已加载。

附带文件references/evolution-log.md

详细介绍

清理组件

按正确顺序拆除 TTS 和 Telegram 机器人组件,避免产生孤立进程和过期状态。

平台:macOS(Apple Silicon)


自我演进技能:此技能会在使用过程中不断改进。如果说明有误、参数发生偏差或需要变通方案,请立即修复此文件,不要拖延。仅针对真实且可复现的问题进行更新。

何时使用此技能

  • 用户想要卸载 Kokoro TTS 引擎
  • 用户想要移除 Telegram 机器人
  • 用户想要清理所有与 TTS 相关的文件
  • 用户想要在重新安装前彻底拆除组件
  • 用户想要有选择地移除特定组件

要求

  • 无需特殊工具(移除操作仅使用 rm、pkill 和安装脚本)
  • 执行破坏性操作前,需征得用户确认

移除顺序

移除顺序很重要。必须按以下顺序拆除组件,以避免产生孤立进程或发生锁竞争。

步骤组件命令可撤销?
1机器人进程pkill -f 'bun.*src/main.ts'是(重启机器人)
2Kokoro venvkokoro-install.sh --uninstall是(重新安装)
3Shell 符号链接rm -f ~/.local/bin/tts_*.sh是(重新创建链接)
4临时文件rm -f /tmp/kokoro-tts-*.wav /tmp/kokoro-tts.lock不适用
5密钥(可选)rm -f ~/.claude/.secrets/ccterrybot-telegram需要重新创建

不会移除的内容(除非明确提出要求)

默认保留以下内容,以便轻松重新安装:

资源路径保留原因
模型缓存~/.cache/huggingface/hub/models--hexgrad--Kokoro-82M下载约 400MB,可重复使用
机器人源代码~/.claude/automation/claude-telegram-sync/由 Git 跟踪,并非临时文件
mise.toml 配置~/.claude/automation/claude-telegram-sync/mise.toml配置的 SSoT
Launchd 日志~/.local/state/launchd-logs/telegram-bot/由日志轮转处理
NDJSON 审计日志~/.claude/automation/claude-telegram-sync/logs/audit/自动轮转,保留 14 天

工作流阶段

阶段 1:确认

使用 AskUserQuestion 确认要移除哪些组件。提供以下选项:

  1. 彻底拆除 -- 移除所有内容(步骤 1-4,并询问是否移除密钥)
  2. 仅 TTS -- 移除 Kokoro venv、符号链接和临时文件(步骤 2-4)
  3. 仅机器人 -- 停止机器人进程(仅步骤 1)
  4. 选择性移除 -- 让用户选择具体步骤
阶段 2:停止机器人进程
# Check if bot is running
pgrep -la 'bun.*src/main.ts'

# Stop it
pkill -f 'bun.*src/main.ts' || echo "Bot was not running"
阶段 3:移除 Kokoro venv
# Uses kokoro-install.sh --uninstall (removes venv, keeps model cache)
~/eon/cc-skills/plugins/tts-tg-sync/scripts/kokoro-install.sh --uninstall
阶段 4:移除符号链接
# List existing symlinks first
ls -la ~/.local/bin/tts_*.sh 2>/dev/null

# Remove them
rm -f ~/.local/bin/tts_*.sh
阶段 5:清理临时文件
rm -f /tmp/kokoro-tts-*.wav
rm -f /tmp/kokoro-tts.lock
阶段 6:可选移除密钥

仅在用户明确确认后执行:

# Show what would be removed
ls -la ~/.claude/.secrets/ccterrybot-telegram

# Remove (requires confirmation)
rm -f ~/.claude/.secrets/ccterrybot-telegram

TodoWrite 任务模板

1. [Confirm] Ask user which components to remove via AskUserQuestion
2. [Stop] Stop bot process
3. [Venv] Run kokoro-install.sh --uninstall
4. [Symlinks] Remove ~/.local/bin/ symlinks
5. [Temp] Clean /tmp/ TTS files
6. [Secrets] Optionally remove secrets (with confirmation)
7. [Verify] Confirm all selected components removed

变更后检查清单

  • 机器人进程未运行(pgrep -la 'bun.*src/main.ts' 未返回任何结果)
  • Kokoro venv 已移除(ls ~/.local/share/kokoro/.venv 返回 "No such file")
  • 符号链接已移除(ls ~/.local/bin/tts_*.sh 返回 "No such file")
  • 没有过期的锁文件(ls /tmp/kokoro-tts.lock 返回 "No such file")
  • 没有孤立的音频进程(pgrep -x afplay 未返回任何结果)

故障排除

问题可能原因修复
移除后符号链接仍然存在通配符不匹配或权限问题运行 ls -la ~/.local/bin/tts_*,然后逐个运行 rm -f
移除后残留锁文件进程意外退出,未执行清理rm -f /tmp/kokoro-tts.lock
模型缓存占用空间HuggingFace 缓存约占 400MBrm -rf ~/.cache/huggingface/hub/models--hexgrad--Kokoro-82M
终止后 Bot 重新启动通过 launchd 使用 --watch 启动检查 launchctl list 中是否有相关 Agent
拆除后音频仍在播放afplay 进程的生命周期超过 Botpkill -x afplay

参考文档

执行后反思

此技能完成后,在结束任务前进行反思:

  1. 确认位置。 — 编辑前,找到此 SKILL.md 的规范路径(使用 Glob 搜索此技能的名称)。所有修正都针对此文件及其同级的 references/ — 绝不修改其他文档。
  2. 出了什么问题? — 修复导致问题的指令。如果问题可能再次发生,将其添加为反模式。
  3. 哪些做法的效果超出预期? — 将其提升为推荐实践,并记录原因。
  4. 哪些内容已经偏离? — 现在就修复任何与实际情况不符的脚本、参考资料或外部依赖。
  5. 记录。 — 每项变更都要在演进日志中记录触发原因、修复内容和依据。

不要推迟。下一次调用会继承你留下的一切。



评论

支持 Markdown