如何在 Mac 上卸载 OpenCode
OpenCode 桌面版和单独安装的 OpenCode 命令行工具共用会话、配置和缓存,这次测试里桌面版的对话和命令行的对话写进了 ~/.local/share/opencode 里同一个会话库,两边也都用 ~/.config/opencode 和 ~/.cache/opencode。卸桌面版时这些文件夹都该留着,你的对话在命令行里还能接着用。本文覆盖从 opencode.ai 官网下载的 OpenCode 桌面版和 Homebrew cask opencode-desktop,命令行工具要不要一起删,用它自己的命令单独处理。
退出 OpenCode 桌面版
从应用菜单退出 OpenCode 桌面版,再打开「活动监视器」确认没有残留的 OpenCode 进程。终端里跑着的 opencode 是命令行工具,不打算一起删就别动它。
把 OpenCode 移到废纸篓
在 Finder 打开「应用程序」,把 OpenCode 移到废纸篓。
核对应用数据
在 Finder 按 Shift + Command + G,逐个输入下面的路径,不存在的直接跳过。
| 位置 | 装的是什么 | 如何处理 |
|---|---|---|
~/Library/Application Support/ai.opencode.desktop |
桌面版数据,包括窗口和工作区状态、输入草稿和缓存(这两次测试 3.6 到 4.3 MB) | 随桌面版一起删即可 |
~/Library/Caches/@opencode-aidesktop-updater |
更新器在首次启动几分钟内下好的下一版(这两次测试约 290 MB) | 可以删除 |
~/.local/share/opencode |
会话、登录数据、日志和按项目存的快照(见 OpenCode 故障排查页面),桌面版的会话也写在这里 | 和 OpenCode 命令行工具共用,还在用命令行或想留对话记录就留着 |
~/.local/state/opencode |
输入历史和上次选的模型(这次测试看到的) | 和命令行工具共用,还在用命令行就留着 |
~/.config/opencode |
配置,包括 opencode.json(见 OpenCode 配置文档),这次测试 61 MB |
和命令行工具共用,还在用命令行就留着 |
~/.cache/opencode |
模型列表这类缓存数据,第一次测试 8.4 MB | 和命令行工具共用,还在用命令行就留着 |
用 Homebrew 安装时
opencode-desktop 这个 cask 的 zap 清单只列了 ~/Library 里带桌面版 id ai.opencode.desktop 的路径,Application Support、Caches、HTTPStorages、Logs、Preferences、Saved Application State、WebKit,再加它的最近文稿记录,没有 ~/.local、~/.config、~/.cache 下的文件夹,所以就算运行 brew uninstall --cask --zap opencode-desktop,命令行工具的文件和你的会话也会留下,自行运行 zap 不会读取 Mole 的勾选状态,不加 --zap 就只删应用:
brew uninstall --cask opencode-desktop
Mole 卸载 Homebrew 装的 OpenCode 桌面版时,这些桌面版 zap 路径通常对应默认勾选的行,Mole 会核对整份删除清单,涉及未勾选的数据、共享文件或无法确认的内容时跳过 --zap,已勾选的残留仍由 Mole 清理。Homebrew 的 OpenCode Desktop cask
单独处理命令行工具
OpenCode 的 CLI 参考文档里有一条 opencode uninstall,用来删除 OpenCode 和相关文件,--keep-config(-c)保留配置,--keep-data(-d)保留会话数据和快照,--dry-run 只显示会删什么、不真删,--force(-f)跳过确认。卸桌面版不会运行这条命令。桌面版的会话也在同一个地方,所以不加 --keep-data 运行它,你在桌面版里的对话也会一起删掉。想把命令行工具也删掉,先预览一遍:
opencode uninstall --dry-run
预览只列出命令行工具的卸载会删掉的内容,不删任何东西,提示「command not found」说明没装命令行工具,或者当前 shell 的 PATH 里找不到它。像第二次测试那样用 npm 装的命令行工具,也可以用 npm uninstall -g opencode-ai 卸掉,它只删命令,不删上面那些文件夹。
核对卸载结果
pgrep -il opencode
ls -d "$HOME/Library/Application Support/ai.opencode.desktop" "$HOME/Library/Caches/@opencode-aidesktop-updater"
ls -d "$HOME/.local/share/opencode" "$HOME/.local/state/opencode" "$HOME/.config/opencode" "$HOME/.cache/opencode"
command -v opencode
pgrep没有输出,说明没有 OpenCode 进程在运行,列出进程说明桌面版或命令行工具还在跑,先退出再继续。- 第一条
ls -d打印出路径,说明桌面版的这部分数据还在,提示「No such file or directory」说明已经删掉。 - 第二条
ls -d打出四个文件夹,只说明这些共享目录还在,只删桌面版时这是预期结果,不能据此证明会话内容完好。 command -v opencode打印出路径说明命令行工具还装着,没有输出只说明当前 shell 找不到它,不代表文件都没了。
Mole 会列出什么
对于从 opencode.ai 官网下载安装的 OpenCode 桌面版:
~/Library/Application Support/ai.opencode.desktop、更新器的下载缓存,以及其他以ai.opencode.desktop命名的行都会列出,默认勾选,扫描时~/Library/Application Support/com.apple.sharedfilelist下如果已有它的最近文稿记录,也在其中。~/.local/share/opencode、~/.local/state/opencode、~/.config/opencode和~/.cache/opencode不会列出,因为命令行工具也在用。
这次检查覆盖了什么
2026 年 9 月 22 日,从 opencode.ai 下载 OpenCode 桌面版 1.18.31,拷进「应用程序」,用一个开发构建的 Mole 退出并移除,同一轮还有另外九款应用。属于 OpenCode 的行都勾上了,应用本体(428.9 MB)、一份更新器缓存(299.3 MB)和 Application Support 文件夹(3.6 MB)进了废纸篓,~/.config/opencode(61 MB)和 ~/.cache/opencode(8.4 MB)没有列出,原样留着,OpenCode 的最近文稿记录卸载后也还在。
2026 年 9 月 28 日,从 opencode.ai 下载 OpenCode 桌面版 1.18.32 问了一个问题,同时用 npm 装的命令行工具 1.18.33 问了另一个,两条对话都落进了 ~/.local/share/opencode 里同一个库。桌面版首次启动几分钟内,更新器就把下一版下到了 ~/Library/Caches/@opencode-aidesktop-updater(288 MB)。Mole 状态页把 OpenCode 显示为一行,12 个进程占 864 MB。9 月 29 日用一个开发构建的 Mole 退出并移除桌面版,同一轮还有别的 AI 应用,所有行都勾上了,应用本体、Library 里的各行和更新器缓存进了废纸篓。和命令行工具共用的四个文件夹没有列出,原样留着,命令行工具还装着时这正是预期结果,之后命令行工具用 npm 单独卸掉。登录、命令行工具自己的 opencode uninstall、安装更新以及 Homebrew cask 都没有实测。
