DeepSeek Harness 在 Windows、macOS、Linux 上怎么卸载?dsh 各平台路径与残留位置
卸载 DeepSeek Harness 的难点从来不是命令,而是「哪些路径要删、哪些要留」。 平台之间命令差别很小,路径差别很大:程序在全局 npm 目录,缓存在 npm 缓存目录,而配置与会话在数据目录 $DSH_HOME(默认 ~/.dsh)。这篇按 Windows、macOS、Linux 逐平台列出「程序 → 缓存 → 数据」三档的位置与验证方式。
卸载 DeepSeek Harness 的统一思路:程序、缓存与数据三档
卸载 DeepSeek Harness 先分三档,再谈平台差异——三档对应三个不同路径,删错一档的代价完全不同(来源)。
| 档位 | 里面是什么 | 怎么处理 | 怎么验证 |
|---|---|---|---|
| 程序 | 全局安装的包、源码仓库目录 | 按当初安装方式删除 | dsh --version 提示命令不存在 |
| 缓存 | npx 下载内容、pnpm store | 可留可清,不影响功能 | npm config get cache 看目录是否已清 |
| 数据 | $DSH_HOME,默认 ~/.dsh | 想重装就留,彻底告别才删 | 目录是否还在、会话是否保留 |
三个档位的判断顺序:
- 先判断程序怎么装的 — 免安装的 npx 路径没有全局文件,全局安装的要走卸载命令,源码构建的直接删仓库目录。预期:判断对了,程序层一步到位;判断错了会「卸了还能跑」。
- 再决定缓存删不删 — 缓存只是下载副本。预期:留着不影响使用,只是占磁盘;想彻底清干净再删。
- 最后决定数据去留 — 数据目录保存 profile、配置与会话。预期:留下它,重装后一切照旧;删掉它等于重置。
按安装方式逐条展开的完整对照见《DeepSeek Harness 怎么卸载》。
Windows 卸载 DeepSeek Harness:全局目录、PATH 与数据目录
Windows 卸载 DeepSeek Harness 分四步:退进程、删程序、清缓存、定数据(来源)。
- 先退干净进程 — 关闭所有正在运行的 dsh 窗口,必要时在任务管理器结束残留的 Node 进程。预期:
netstat -ano | findstr :3080没有输出,说明端口已释放。 - 删程序 — 全局装过就执行
npm uninstall -g @deepseek-ai/dsh。预期:执行后dsh命令不再可用。 - 核对全局目录与命令入口 — 用
npm root -g查全局 node_modules 的真实路径,Windows 一般位于%APPDATA%\npm\node_modules,同级的%APPDATA%\npm下还有dsh的命令入口文件。预期:目录里不再有该包,命令入口一并消失。 - 清缓存 — 用
npm config get cache拿到缓存目录,删掉其中的_npx子目录即可。预期:免安装方式下载的副本被清掉,不影响其他 Node 项目。 - 定数据去留 — 数据目录在
%USERPROFILE%\.dsh。预期:要重装就留着;要彻底清就整个删掉,删前先备份。
macOS 卸载 DeepSeek Harness:全局 node_modules 与 Finder 定位残留
macOS 卸载 DeepSeek Harness 的关键是先用命令拿到真实路径,再用 Finder 定位确认(来源)。
- 退进程并确认端口 — 关闭终端里的 dsh,执行
lsof -i :3080。预期:没有输出说明服务已停。 - 删程序 — 执行
npm uninstall -g @deepseek-ai/dsh。预期:命令不再可用。 - 拿到全局 node_modules 路径 — 执行
npm root -g。预期:路径取决于 Node 的安装方式,可能是系统级目录,也可能在 nvm 的版本目录下,所以不要照抄固定路径。 - 用 Finder 定位残留 — 在 Finder 里按
Cmd+Shift+G,粘贴上一步的路径回车。预期:能直接看到是否还有该包目录,比在终端层层 cd 更快。 - 定数据去留 — 数据目录是
~/.dsh,即/Users/<你的用户名>/.dsh。预期:它不在系统应用缓存目录里,删之前先确认是否还要保留会话。
Linux 卸载 DeepSeek Harness:权限、全局目录与自启残留
Linux 卸载 DeepSeek Harness 最容易卡在权限和自启两件事上(来源)。
- 先判断要不要 sudo — 如果 Node 是系统级安装的,全局 node_modules 属于 root。预期:不加
sudo会报权限错误,这属于权限问题而不是包损坏,处理思路见《卸载失败怎么办》。 - 删程序 — 执行
npm uninstall -g @deepseek-ai/dsh(按上一步的结论决定是否加sudo)。预期:命令不再可用。 - 核对全局目录 — 执行
npm root -g确认路径,常见于系统级node_modules下,nvm 安装的则在自己的用户目录里。预期:用 nvm 的用户不需要 sudo,也不需要动系统目录。 - 检查自启与后台进程 — 如果你自己写过 systemd 单元或后台启动脚本,把它一并停掉并移除。预期:
pgrep -af dsh不再返回进程,避免卸载后仍占着 3080 端口。 - 定数据去留 — 数据目录是
/home/<你的用户名>/.dsh。预期:删除前先备份,尤其是想保留会话数据的场景。
DSH plugin 与残留验证:清干净怎么确认、只想重装怎么留
验证卸载是否干净要看三层:程序层、端口层与数据层(来源)。
- 程序层 — 执行
dsh --version,再看npm ls -g --depth=0的输出。预期:前者提示命令不存在,后者不再列出@deepseek-ai/dsh。 - 端口层 — 查看 3080 是否仍被监听(macOS/Linux 用
lsof -i :3080,Windows 用netstat -ano | findstr :3080)。预期:没有输出才算干净,还有输出说明有进程没退。 - 数据层 — 确认
$DSH_HOME目录的状态符合你的意图。预期:想重装就要看到它还在,不想留就确认已删除。 - 插件层别手删文件 — 只想清掉部分 DSH plugin 时,在已安装列表点卸载。预期:Hub 会先弹出确认弹窗,展示插件与来源仓库,确认后才移除,避免误删仍要用的插件。
- 想重装就留住数据 — 卸载程序时不要动数据目录。预期:重装后配置、会话与插件记录原样回来,细节见《卸载重装与数据迁移》。

DeepSeek Harness 分平台卸载的注意事项与局限
- 命令相同、路径不同:
npm uninstall -g三平台一致,残留在哪却随 Node 安装方式变化,所以一律用npm root -g现场查询。 - 数据目录不属于卸载范围:任何卸载命令都不会碰
$DSH_HOME,删不删必须自己决定,且删前先备份。 - 权限错误不等于卸载失败:Linux 上的
EACCES通常只说明需要用 sudo 或改用 nvm 的 Node,不要因此重装 Node。 - 自启残留最容易被忽略:手动配过的服务或后台脚本不会随包卸载消失,会继续占端口,升级与重装时尤其容易混淆。
- 彻底清理的边界:程序、缓存、数据三档全删才是「完全清理」,只删程序属于常规卸载,想清残留参考《残留怎么清理》。
只想卸载插件而不是整个 DSH 的话,在 DSH Plugin Hub 的已安装列表里操作即可,来源标签能帮你只清掉自定义安装的那些。
来源:DeepSeek Harness README(官方仓库)、dsh CLI README(官方仓库)、npm uninstall 官方文档
常见问题
Windows 上卸载 DeepSeek Harness 分三档:全局装过就执行 npm uninstall -g @deepseek-ai/dsh 删程序,用 npm root -g 找到全局目录确认残留,再按需清理缓存与数据目录 %USERPROFILE%\.dsh。删数据目录之前先备份,否则会话与配置一起消失。
macOS 上卸载 DeepSeek Harness 先执行 npm uninstall -g @deepseek-ai/dsh,再用 npm root -g 拿到全局 node_modules 的真实路径核对残留,并在 Finder 里用 Cmd+Shift+G 粘贴路径直接定位。数据目录是 ~/.dsh,不属于应用缓存,删不删由你决定。
Linux 上卸载 DeepSeek Harness 报权限错误,通常是因为全局 node_modules 属于 root,需要在命令前加 sudo 再执行 npm uninstall -g @deepseek-ai/dsh。如果用的是 nvm 装的 Node,全局目录在你自己的用户目录下,反而不需要 sudo。
确认 DeepSeek Harness 卸载干净要看三层:程序层 dsh --version 提示命令不存在且 npm ls -g --depth=0 里没有该包,端口层查看 3080 不再被监听,数据层确认 $DSH_HOME 目录是否按你的意愿保留或删除。三层都对,才算干净。
卸载 DeepSeek Harness 后想重装,必须留住数据目录(默认 ~/.dsh),配置、会话与 DSH plugin 记录都在里面,只要它没删,重装后原样恢复。换机器时直接把整个目录拷贝过去即可,不必重新一个个装回插件。
相关术语
- 全局 node_modules
- 全局 node_modules 是 npm 存全局安装包的目录,用于卸载 DeepSeek Harness 时定位程序文件残留。它的真实路径随 Node 安装方式变化,因此要用 `npm root -g` 现场查询,而不是照抄别处的路径。— npm 官方文档
- %USERPROFILE%\.dsh
- %USERPROFILE%\.dsh 是 Windows 上 DeepSeek Harness 默认的数据目录,等同于其他平台的 ~/.dsh,保存 profile、配置与会话。删程序不会动它,想彻底重置时才会删,删前应先备份。— dsh CLI README
- npx 缓存
- npx 缓存是 npx 下载免安装包时落盘的目录,DeepSeek Harness 用 npx 方式运行时下载内容就放在这里。它的位置由 npm 的缓存配置决定,可用 `npm config get cache` 查询,删除它不影响任何已安装程序。— npm 官方文档
- 残留位置对照
- 残留位置对照是把卸载范围拆成程序、缓存与数据三档,再逐平台列出各自路径的检查清单。它解决的是「命令跑完了但磁盘还有东西」的问题,因为卸载命令只处理程序层,缓存与数据要单独决定。— DeepSeek Harness README(官方仓库)
来源
- DeepSeek Harness README(官方仓库)· deepseek-ai
- dsh CLI README· deepseek-ai
- npm 官方文档 - npm uninstall· npm