如何在 Mac 上卸载 RetainPDF
RetainPDF 在翻译 PDF 时保留版面、公式和结构,它自带 Python 运行时,在本机跑自己的任务服务,所以会在这台 Mac 上留下你翻译过的文档和一份凭据文件。按项目公开的桌面端源码(本文读过源码,没有在测试用的 Mac 上拿真实任务核对),它们放在 ~/Library/Application Support/retain-pdf-desktop/data 下:完成的任务在 jobs,数据库备份在 backups/db,保存的凭据在 secrets/credentials.json。移除之前,把还需要的译文 PDF 从应用里导出来,这个数据文件夹里可能存着模型服务商的 API 密钥,拷出来的副本也要当作私密内容。这份指南覆盖项目在 GitHub 上发布的版本,不是应用商店下载。
退出并移除应用
- 在 RetainPDF 里按 Command + Q。它启动的后台服务
rust_api和retain-jobsd是应用的子进程,会随应用一起退出。 - 打开访达,进入「应用程序」,把 RetainPDF 拖进废纸篓。
测试里应用没有注册登录项和启动代理。
数据在哪里
在访达按 Shift + Command + G 逐项打开,不存在的路径跳过即可。
| 位置 | 内容 | 处理建议 |
|---|---|---|
~/Library/Application Support/retain-pdf-desktop |
应用的数据文件夹,名字取自它的 npm 包名。按项目源码,里面有 desktop-config.json、放着任务、备份和凭据的 data 文件夹,以及下面几项缓存。 |
先拷走需要的内容再移除。Mole 会列出这个文件夹供审查,不默认勾选。 |
~/Library/Application Support/retain-pdf-desktop/Cache、Code Cache、GPUCache、DawnGraphiteCache、DawnWebGPUCache、blob_storage、logs |
Chromium 缓存和应用日志 | 移除。Mole 默认勾选这七个,文件夹里其余内容不动。 |
~/Library/Preferences/com.wxyhgk.retainpdf.plist |
偏好设置 | 移除。Mole 默认勾选。 |
~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.wxyhgk.retainpdf.sfl4 |
应用的最近文稿列表 | 移除。Mole 默认勾选。 |
~/.retainpdf |
与项目命令行工具 retainpdf 共用的设置,应用通过自带的那份去读。里面的 backend.data_dir 可以把数据文件夹挪到别处。 |
Mole 不会列出它,这次测试也没有检查过它。如果你有,先打开看看,因为你的任务可能就在它指向的路径里,再决定要不要动。 |
com.wxyhgk.retainpdf 的临时缓存放在当前用户的缓存目录里(getconf DARWIN_USER_CACHE_DIR 会打印位置),Mole 会随应用一起清掉。
检查结果
pgrep -il retain
ls -d /Applications/RetainPDF.app 2>/dev/null
ls -ld "$HOME/Library/Application Support/retain-pdf-desktop" "$HOME/Library/Preferences/com.wxyhgk.retainpdf.plist" "$HOME/.retainpdf"
pgrep没有输出,表示没有找到相关进程。如果打印出retain-jobsd或rust_api这样的进程,说明后台服务还在跑,先再退出一次应用,再去删东西。- 第二条命令没有输出,表示应用已经不在「应用程序」里。
- 最后一条
ls打印出来的路径仍然存在。如果retain-pdf-desktop还在,而你本来就想留着任务,这是正常的。No such file or directory表示该路径已经没了,从来没有~/.retainpdf的 Mac 上也是这个结果。
账户和 API 密钥
移除应用不会让模型服务商的 API 密钥失效。如果你在 RetainPDF 里填过密钥而且以后不再用,到服务商那里作废或轮换它。
Mole 会列出什么
Mole 会勾选应用本体、偏好设置文件、最近文稿列表、retain-pdf-desktop 里的七个 Chromium 缓存和日志目录,以及临时缓存。~/Library/Application Support/retain-pdf-desktop 本身会列出供审查,不默认勾选。Mole 不列出 ~/.retainpdf,除非你自己移除,它会留在磁盘上。
以上默认状态以「通用 › 清理」里的「卸载时一并移除数据和配置」关闭为前提,打开之后,放着任务和凭据的 retain-pdf-desktop 文件夹也会被勾上,所以开之前先把要留的拷走。
这次检查覆盖了什么
2026 年 10 月 18 日,从项目 GitHub 发布页下载的 RetainPDF 4.2.6 安装并启动后,用 Mole 卸载,没有填 API 密钥,也没有翻译 PDF。卸载前 Mole 列出 11 行,勾上审查行之后连同应用本体全部移到了废纸篓,retain-pdf-desktop 文件夹也在其中。Status 里 RetainPDF 显示为一行,rust_api、retain-jobsd 和自带的 Python 折叠在里面,这些进程在应用被移除时一起退出。应用只带着 Electron 默认的更新框架,没有更新源,所以 Mole 的更新页没有显示更新渠道。卸载前后 Mole 的启动项里都没有它,也没有留下启动代理。数据文件夹里的内容没有打开看,里面的路径来自项目源码而不是一次真实任务。Homebrew 也没有这款应用的 cask。
