如何在 Mac 上卸载 Secretive
Secretive 把 SSH 密钥放在 Mac 的 Secure Enclave 里,它的 README 写明这些密钥导不出来、备份不了,也没法搬到另一台 Mac。卸载之前,先给每台还信任 Secretive 密钥的服务器、Git 托管平台或机器换上另一把密钥,因为这些密钥一旦丢了就没有备份可以恢复。
退出 Secretive,移除应用
Secretive 会注册一个后台助手 SecretAgent,退出主程序之后它还在继续响应 SSH 请求,所以先去「系统设置 › 通用 › 登录项与扩展」把它关掉,再退出 Secretive,把它从「应用程序」拖进废纸篓。
Secretive 的数据放在哪里
在访达里按 Shift + Command + G,逐个检查下面的位置是否存在。
| 位置 | 内容 | 处理建议 |
|---|---|---|
~/Library/Containers/com.maxgoedjen.Secretive.Host |
应用的沙盒容器 | 不再用 Secretive 就可以删除 |
~/Library/Application Scripts/com.maxgoedjen.Secretive.Host |
应用的脚本文件夹 | 跟应用一起删除 |
~/Library/Containers/com.maxgoedjen.Secretive.SecretAgent、~/Library/Containers/com.maxgoedjen.Secretive.SecretiveUpdater |
SecretAgent 和更新检查组件的沙盒容器 | 先看看内容再决定,应用删了之后就用不上了 |
~/Library/Application Scripts/com.maxgoedjen.Secretive.SecretAgent、~/Library/Application Scripts/com.maxgoedjen.Secretive.SecretiveUpdater |
这两个组件各自的脚本文件夹 | 先看看内容再决定 |
核对结果
pgrep -il secret
launchctl list | grep -i secretive
ls -d ~/Library/Containers/com.maxgoedjen.Secretive.Host ~/Library/Containers/com.maxgoedjen.Secretive.SecretAgent
pgrep没有输出,说明 Secretive 和 SecretAgent 都没在运行。launchctl list没有输出,说明 SecretAgent 已经没有加载,出现com.maxgoedjen.Secretive.SecretAgent说明还在,先去「登录项与扩展」关掉再查一次。ls -d对某个路径提示「No such file or directory」说明这个容器已经不在了。
用 Homebrew 安装时
Mole 会先检查 zap 清单,涉及未勾选的数据、共用的文件或无法确认的内容时不执行 --zap,已勾选的残留仍由 Mole 清理。
secretive 这个 cask 的 zap 清单会清掉主程序和 SecretAgent 各自的 Application Scripts 文件夹,再加上所有匹配 com.maxgoedjen.Secretive.* 的容器,SecretiveUpdater 的容器也在里面。SecretAgent 和 SecretiveUpdater 那几行默认不勾,所以不勾它们的话 Mole 卸载时不带 --zap。自己运行 brew uninstall --cask --zap secretive 会把这整份清单都清掉,不看 Mole 里勾没勾。
brew uninstall --cask secretive
Mole 会列出什么
对官网下载版的 Secretive:
- 主程序自己的 Application Scripts 文件夹和容器默认勾选。
- SecretAgent 和 SecretiveUpdater 的 Application Scripts 文件夹和容器默认列出但不勾选,因为它们属于应用里面的辅助组件。
- SecretAgent 还在运行时,Mole 会停在「退出并移除」确认这一步,确认之后先停掉 SecretAgent,再移除应用。
这次检查覆盖了什么
2026 年 9 月 25 日,用 GitHub 上的官方发布版装上 Secretive 4.0.0,再用一个开发构建的 Mole 卸载。SecretAgent 首次启动就注册了自己,退出后又被系统拉起来,卸载因此停在「退出并移除」这一步,确认之后先停掉辅助组件,再移除应用和它的容器。待确认的行全部勾上并清掉,卸载后磁盘上和登录项列表里都没有留下东西。已有的 SSH 密钥在别处还能不能用,这次没有测试。
