vault-sync-uninstall 用于从当前主机移除 vault-sync。它会停止调度器作业、删除已部署的脚本与单元文件,并留下 tombstone 标记以便取证追溯。
适用场景
- 在某台主机上退役 vault-sync
- 干净重装(先卸载再安装)
- 移除测试安装
执行步骤
- 检查安装状态:
skillwiki config get vault_sync.installed。若为 false,则退出 0 并给出提示信息。 - 停止并移除调度器单元:
- macOS:
launchctl bootout gui/$UID/<label>,然后rm ~/Library/LaunchAgents/com.karlchow.wiki-*.plist。 - Linux:
systemctl --user disable --now wiki-push.timer wiki-fetch.timer wiki-fuse-refresh.timer,然后移除单元文件。
- macOS:
- 在每个被移除的单元旁创建 tombstone
*.RETIRED.md(ADR D7 模式):# RETIRED — com.karlchow.wiki-push - Retired: <ISO date> - Why: <reason from --reason flag, or "manual uninstall"> - Restore: claude plugin install vault-sync@llm-wiki && /vault-sync-install - 移除脚本:
rm -rf $(platform_share_dir)/bin - 从 skillwiki 配置中注销:
skillwiki config set vault_sync.installed false
选项
--keep-logs(默认):保留 wiki-*.log。--purge:同时移除日志。
保护与强制
- 若 fleet.yaml 将某主机标记为
protected: true,则拒绝在该主机上运行。 - 覆盖方式:
--force-protected(仅用于 sg01 手工迁移场景)。
护栏
- 受保护主机(如 sg01)默认被拒绝。手工迁移需要
--force-protected。 - Tombstone 始终保留(从不清除)——它们是供未来调试使用的取证线索。
- 日志默认保留——其中包含调试信息。
执行方式
伴生脚本(交互式):
bash packages/vault-sync/skills/vault-sync-uninstall/uninstall.sh --dry-run
bash packages/vault-sync/skills/vault-sync-uninstall/uninstall.sh --purge
bash packages/vault-sync/skills/vault-sync-uninstall/uninstall.sh --force-protected --reason "manual host migration"
伴生脚本(无头 / CI):
VS_DRY_RUN=1 VS_PURGE=0 bash packages/vault-sync/skills/vault-sync-uninstall/uninstall.sh