卸载 DeepSeek Harness 怎么做?DSH plugin 跨平台卸载命令、残留清理与清数据边界
卸载 deepseek harness 这件事,uninstall、how to uninstall、remove 三种英文问法指向的是同一个操作;中文里也有人搜「卸载 DeepSeek插件」「卸载 DSH插件」,落到的还是同一条命令;真正麻烦的在命令之外——残留去了哪、该不该清。 这篇把几个英文搜索词归一到一个答案上,再顺着你机器上的目录,讲清「卸载后残留去哪」,以及卸载只动程序层、清数据与删会话为什么是另外两件事。
概览:卸载、删会话、清数据是三件不同的事
先记住一句话:卸载动程序,删除会话动日志,清数据动整个用户数据目录——三者互不替代。 DeepSeek Harness 的程序文件、会话日志与配置分放在不同位置,所以英文搜索词虽然都带 "uninstall",落到操作上却可能指三件不同的事(来源):
| 你要的效果 | 英文常搜词 | 实际动的东西 |
|---|---|---|
让 dsh 命令消失 | uninstall / remove | 程序本体(npm 全局包或桌面应用) |
| 只清聊天记录 | delete session | $DSH_HOME/sessions 下的会话日志 |
| 回到全新状态 | purge / clean data | 整个 $DSH_HOME(默认 ~/.dsh) |
看清这张表,再看下面三个方向,就不会把「卸程序」和「删数据」混成一件事。
三个英文问法都指卸载:uninstall、how to uninstall、remove 与各平台卸载命令
uninstall deepseek harness、how to uninstall deepseek harness、deepseek harness uninstall、remove deepseek harness 是同一条搜索意图——把 DeepSeek Harness 从机器上移除,答案取决于你当初的安装方式。 英文里 uninstall 和 remove 在包管理器语境下是同义词:npm 用 uninstall(别名 remove、rm)、pnpm 用 remove,指的都是把包从依赖里摘掉并删除它注册的可执行链接(来源)。先对号入座:
| 当初怎么装的 | 卸载动作 |
|---|---|
npm install -g @deepseek-ai/dsh | npm uninstall -g @deepseek-ai/dsh |
| 桌面应用(Electron 版) | 菜单 Manage dsh Command… → Remove,再用系统卸载器移除应用 |
| 源码构建 | 删掉 clone 的仓库目录 |
只用 npx | 没有程序实体,清缓存即可 |
按顺序操作,每一步都给出预期结果:
- 先退干净正在运行的进程——关闭终端里的
dsh web或桌面应用窗口。预期:没有进程再占用端口(Web 默认3080,桌面版用系统随机分配的端口,不会撞3080)。 - npm 全局安装的,执行卸载命令:
npm uninstall -g @deepseek-ai/dsh
预期:终端输出 removed ... packages,随后 npm ls -g --depth=0 列表里不再出现 @deepseek-ai/dsh。
3. 桌面应用安装的,先移除它注册的 CLI——打开应用菜单,点 Manage dsh Command… → Remove。预期:macOS 上 /usr/local/bin/dsh 链接被移除、Windows 上当前用户 PATH 里的登记被删除,且不影响其它来源安装的 dsh(来源)。
4. 再卸载桌面应用本体——macOS 把应用拖进废纸篓,Windows 走「设置 → 应用 → 已安装的应用 → 卸载」或安装包自带的卸载器。预期:应用从系统里消失;若应用还在运行,Windows 卸载器会提示你先从系统托盘退出。
5. 源码构建的,删掉仓库目录:
rm -rf ~/deepseek-harness # 换成你的实际路径
预期:目录消失,本机不再留下构建产物。
6. 验证程序层——新开一个终端执行 dsh --version。预期:提示 command not found(Windows 为「不是内部或外部命令」),说明命令入口已经干净。
三种装法的完整步骤另见《DeepSeek Harness 怎么卸载》,npm 与 pnpm 通道的报错排查见《npm 卸载 DSH》。
卸载后残留去哪:配置目录、会话缓存与 DSH plugin 的 node_modules
卸载命令只动程序层,$DSH_HOME(默认 ~/.dsh)下的配置、会话、profile 与 node_modules 一律原地保留——这就是「卸了但磁盘还有东西」的全部来源。 残留按位置分成五处(来源):
| 残留位置 | 里面是什么 | 卸载后 | 要不要清 |
|---|---|---|---|
$DSH_HOME/settings.yaml、.credentials.yaml | 配置、模型密钥 | 保留 | 想重装就留 |
$DSH_HOME/sessions | 会话日志 | 保留 | 只想清聊天记录时清 |
$DSH_HOME/profiles/<名字>/node_modules | DSH plugin 依赖 | 保留 | 插件比程序多活一步 |
npm 的 _npx / _cacache | npx 临时环境、下载缓存 | 保留 | 想释放磁盘再清 |
| Electron 的 userData | 桌面版快捷键等偏好 | 保留 | 卸载应用时可一并清 |
定位与清理步骤:
- 确认数据目录的真实路径——执行
echo $DSH_HOME(Windows 用echo %DSH_HOME%)。预期:有输出就用它,空输出即默认~/.dsh。 - 看会话日志还剩什么——
ls "$DSH_HOME/sessions"。预期:列出按项目分好的--...--目录;一次会话都没写过时该目录不存在,属正常现象。 - 看插件依赖在哪——
ls "$DSH_HOME/profiles"。预期:列出web、headless等 profile 目录,每个下面都有独立的node_modules。 - 想清 npx 残留:
rm -rf ~/.npm/_npx
预期:npx 临时环境被清空;下次 npx @deepseek-ai/dsh web 会重新下载,不丢任何用户数据。
5. 只想清聊天记录、保留配置与插件——先停掉 dsh,再只删会话目录:
cp -r "$DSH_HOME/sessions" "$DSH_HOME/sessions.bak" && rm -rf "$DSH_HOME/sessions"
预期:先落一份备份再删除,配置、密钥与插件依赖都不受影响。
残留的逐层清理(配置覆盖层、pnpm store)细节见《卸载残留怎么清理》。
卸载 DeepSeek Harness 只动程序层,清数据与删会话另看一篇
卸载命令只移除程序本体,$DSH_HOME 下的配置、会话与 DSH plugin 依赖一律原地保留;要不要继续删会话,或把整个数据目录清掉,是另外两件事,本篇不展开。 换句话说,卸载不等于清数据——想「回到全新状态」是在卸载程序之后、再删掉整个数据目录,那一步才不可逆、没有回收站。卸载、删除会话、清数据三者的边界表、什么时候该清、文件层怎么删、误清的后果,都在《dsh purge 与卸载的分界》,需要时跳过去看即可。
与其在命令行里逐个 list、remove、再手动核对残留目录,不如用带确认弹窗的可视化方式管理插件——DSH Plugin Hub 把已装插件、来源、版本和卸载入口收在同一个面板里,卸载前会弹出确认框展示插件与来源,确认后才移除,避免误删。

注意事项
- 卸载命令的参数写包名:
npm uninstall -g @deepseek-ai/dsh,写dsh会因找不到同名包而报错。 - 桌面版别漏了 CLI 注册:卸载 Electron 应用前先走 Manage dsh Command… → Remove,否则
/usr/local/bin/dsh会一直遗留。 - 数据目录不在卸载范围内:任何卸载命令都不碰
$DSH_HOME,删不删要自己决定,删之前先备份。 - 多份安装会「卸不干净」:用 nvm 时每个 Node 版本各有一份全局包,用
which -a dsh逐一排查后再确认。
来源:dsh CLI README、@deepseek-ai/dsh on npm、deepseek-ai/deepseek-harness
常见问题
是——这几种英文问法都指向把 DeepSeek Harness 从机器上移除,只是问句形式不同,命令取决于当初的安装方式:npm 全局装的执行 npm uninstall -g @deepseek-ai/dsh,桌面应用装的先在菜单里走 Manage dsh Command… → Remove 移除 CLI 注册,再用系统卸载器删除应用本体,源码构建的直接删掉 clone 的仓库目录。
命令基本一致——三平台都能用 npm uninstall -g @deepseek-ai/dsh 移除 npm 全局安装的 DeepSeek Harness,差别在路径:全局 node_modules 要用 npm root -g 现场查询,数据目录 Windows 是 %USERPROFILE%\.dsh、macOS 与 Linux 是 ~/.dsh。桌面应用则一律走各自的系统卸载器,卸载前记得先移除它注册的命令。
全部原地保留在数据目录 $DSH_HOME(默认 ~/.dsh)里——settings.yaml 与 .credentials.yaml 是配置和模型密钥,sessions 是会话日志,profiles/<名字>/node_modules 是 DSH plugin 依赖。卸载命令只删程序本体,不碰这些;想保留待重装就什么都别动,想彻底清才手动删。
三者互不替代——卸载只移除程序,重装即恢复;删除会话只清 $DSH_HOME/sessions 下的日志;清数据(purge)是把整个 $DSH_HOME 删掉,配置、密钥、profile、插件依赖与会话一起消失且不可恢复。所以清数据前务必先执行 cp -r "$DSH_HOME" "$DSH_HOME.bak" 备份。
不会自动清——npx 的临时环境在 ~/.npm/_npx、下载缓存在 ~/.npm/_cacache,桌面版的快捷键等偏好存在 Electron 的 userData 目录,卸载命令都不动它们。想释放磁盘可执行 rm -rf ~/.npm/_npx;这些缓存清掉只影响下次重新下载,不丢任何用户数据。
相关术语
- uninstall / remove
- uninstall 与 remove 在包管理器语境下是同义操作,指从依赖里移除包并删除它注册的可执行文件链接,因此 uninstall deepseek harness 与 remove deepseek harness 是同一条搜索意图。DeepSeek Harness 用 npm 安装的对应用 `npm uninstall -g @deepseek-ai/dsh`,用 pnpm 安装的对应用 `pnpm remove -g`。— @deepseek-ai/dsh on npm
- $DSH_HOME
- $DSH_HOME 是 DeepSeek Harness 的用户数据目录,未设置时默认为 ~/.dsh,保存 settings.yaml、.credentials.yaml、sessions 会话日志与 profiles 下的 DSH plugin 依赖;卸载程序不会删除它。— dsh CLI README
- purge(清数据)
- purge 指把整个用户数据目录 $DSH_HOME(默认 ~/.dsh)删除的操作,一次性清掉配置、密钥、profile、插件依赖与会话,属于不可恢复的重置。它与「卸载程序」是两件独立的事,必须在卸载程序之后单独执行。— deepseek-ai/deepseek-harness
- Manage dsh Command…
- Manage dsh Command… 是 DeepSeek Harness 桌面应用菜单里的命令管理入口,提供 Install、Repair、Remove 三项,用于注册或移除随桌面版安装的 dsh CLI(macOS 落在 /usr/local/bin/dsh,Windows 写入当前用户 PATH)。卸载桌面应用前应先在这里执行 Remove,因为应用卸载器不会移除这条命令注册。— DeepSeek Harness Desktop README
来源
- dsh CLI README· deepseek-ai
- @deepseek-ai/dsh on npm· npm
- deepseek-ai/deepseek-harness· GitHub
- DeepSeek Harness Desktop README· deepseek-ai