DSH 怎么一次性卸载所有插件?DeepSeek Harness 清空插件、重置 profile 与恢复步骤
DeepSeek Harness 没有「一键卸载全部插件」的命令,因为插件是按 profile 管理的。 想一次清空只有两条路:在已安装列表逐个卸载,或把某个 profile 的树外插件依赖清掉让它重新初始化。但更该先问的是「真的需要全清吗」——多数插件冲突靠禁用或定点删除就能解决。
什么情况要清空 DeepSeek Harness 的全部插件:先试两条更轻的做法
全清是最后手段,不是首选——先排除两条更轻的路径,能省下重装一堆插件的功夫。
- 插件互相冲突 — 冲突往往只发生在两个插件之间。预期:先定位可疑的那一个,只删它就能恢复,见《插件加载崩溃》。
- 插件导致加载崩溃 — 崩溃时宿主可能起不来,此时连界面都进不去。预期:这种场景是全清少数的真正理由,因为逐个排查的前提是先能启动。
- 换机器或换环境重来 — 想一次性拿到干净环境。预期:直接新建一个 profile 比清空现有 profile 更安全,旧环境原样保留。
- 只想让插件不再生效 — 不想删、只想关。预期:禁用是「关而不删」,配置与数据都留着,见《怎么关闭插件而不卸载》。
路径一:在 DSH Plugin Hub 已安装列表逐个卸载
插件数量不多时,图形化逐个卸载最稳妥——每一步都有确认,不会误删(来源)。
- 打开已安装列表 — 进入插件市场的已安装页,确认当前环境装了哪些插件。预期:拿到一份带来源标签的完整清单。
- 用搜索与来源筛选缩小范围 — 按名称搜索,或只看自定义安装的条目。预期:能快速区分「目录里装的」和「自己手动装的」。
- 逐个点卸载并确认 — 每次都会弹出确认弹窗,展示插件与来源仓库。预期:确认后才真正移除,避免误删仍要用的插件。
- 核对剩余列表 — 卸完再看一遍清单。预期:只剩下你决定保留的插件,数量与预期一致。

逐个卸载的完整操作与残留处理见《DSH Plugin Hub 怎么卸载插件》。
路径二:重置 profile,一次性清空 DeepSeek Harness 的插件依赖
要一次清干净,就得动 profile 目录:那里才是「装了哪些插件」的权威记录(来源)。
- 先备份数据目录 — 把
$DSH_HOME(默认~/.dsh)整体复制一份。预期:配置、会话与凭据都在里面,清错能整体回退。 - 确认改哪个 profile — 插件按 profile 隔离,先确认要清的是哪一个。预期:改错 profile 等于在另一套环境上动手,白忙一场。
- 清掉树外插件依赖 — 编辑 profile 目录下的
package.json,移除第三方插件依赖行。预期:该 profile 的「装了哪些插件」清单归零。 - 清掉配置覆盖层 — 同目录的
cordis.patch.yml里若有这些插件的config行,一并删除。预期:否则会出现「插件删了但行为没变」——配置还在,框架照读。 - 最彻底的做法:删掉整个 profile 目录 — 直接删除
$DSH_HOME/profiles/<name>。预期:内置的 web、headless 等 profile 下次启动会从随附模板自动重建,第三方插件需要重新安装。
各层残留分别怎么处理,见《残留配置与缓存怎么清理》。
清空 DeepSeek Harness 插件后怎么恢复:重新初始化 profile 与按需安装
清空之后先确认能正常启动,再按需装回,不要一次性把那串插件全装回来(来源)。
- 启动一次让 profile 重建 — 对内置 profile 而言,直接启动即可。预期:profile 目录重新出现,基础结构恢复默认。
- 检查配置树 — 执行
dsh --dump-config查看合成后的配置。预期:已移除的插件不再出现配置行,确认清干净了。 - 按需重装 — 只装当下真正要用的插件,优先从目录里装。预期:环境从零开始长起来,比一次性恢复更容易定位新问题。
- 想整体恢复就用备份 — 把清空前备份的数据目录拷回原位置。预期:配置、会话与插件记录一起回来,比重装快得多。
- 重建可选插件 — 若某个 profile 依赖的第三方插件没跟上,见《插件加载崩溃》。预期:先保证能启动,再逐个补齐。
清空 DeepSeek Harness 插件的注意事项与局限
- 没有一键全删:插件按 profile 管理,任何「全清」都是对某个 profile 动手,不存在跨 profile 的批量命令。
- 删目录 = 重置,不只是删插件:删整个 profile 目录会连该 profile 的模型等运行配置一起恢复默认,属于重置而非单纯卸载。
- 配置文件不会自动清理:
package.json与cordis.patch.yml是两处不同的残留,只清一处会出现「删了但没变」。 - 先备份再动手:
$DSH_HOME里同时有会话与凭据,清理插件本不该波及它们,但备份是唯一可靠的兜底。 - 插件冲突优先定点解决:全清会让你失去定位问题插件的机会,先禁用再排查,往往比清空更快找到根因。
清空与重装都在 DSH Plugin Hub 里完成更省事:已安装列表带来源标签与搜索,卸载有确认弹窗,装回时还能按分类与 Star 挑。
来源:dsh CLI README(官方仓库)、DeepSeek Harness README(官方仓库)、dshplugin/dsh-plugin-hub
常见问题
一次性卸载 DeepSeek Harness 全部插件通常只在三种情况下才必要:插件之间互相冲突、插件导致加载崩溃、或者换机器换环境想从头来过。多数问题其实靠禁用单个插件或只删可疑的那个就能解决,全清是最后手段。
DeepSeek Harness 没有「卸掉全部插件」这一条命令,因为插件是按 profile 管理的。可行做法有两条:在已安装列表里逐个卸载,适合数量少的场景;或把 profile 目录下 package.json 里的树外插件依赖清掉、让它重新初始化,适合一次清干净。
重置 DeepSeek Harness 的 profile 只影响该 profile 自身的插件依赖与配置覆盖层,会话与凭据存放在数据目录的其它位置,不会被插件清理动作删除。但删整个 profile 目录属于重置,模型等运行配置会回到默认值,所以动手前先备份 $DSH_HOME。
清空 DeepSeek Harness 插件后,内置 profile 下次启动会从随附模板自动重建基础结构,第三方插件则需要按需重新安装。如果你只是想让环境干净,不必全装回来;想恢复原状,用清空前的备份把数据目录拷回最快。
验证 DeepSeek Harness 清理结果看三点:启动不再报插件加载失败、已安装列表里的条目与你预期一致、dsh --dump-config 里不再出现已移除插件的配置行。三点都对,说明插件树已经干净且可用。
相关术语
- profile 目录
- profile 目录是 DeepSeek Harness 按 profile 存放运行栈的目录,位于 `$DSH_HOME/profiles/<name>`,里面的 `package.json` 记录树外插件依赖,`cordis.patch.yml` 保存用户自己的配置覆盖层。清空插件本质上就是处理这两个文件。— dsh CLI README
- 树外插件依赖
- 树外插件依赖是记录在 profile 的 `package.json` 里、由 pnpm 安装到该 profile 的 node_modules 的第三方插件包。它是「装了哪些 DSH plugin」的权威清单,因此清空插件要看这里而不是凭记忆。— dsh CLI README
- profile 自动初始化
- profile 自动初始化指内置的 web、headless、sdk、sdk-minimal 与 acp 五个 profile 在首次使用时会从随附模板自动建立,其他 profile 必须用插件命令创建。删掉内置 profile 目录后无需手工重建,下次启动会自动恢复。— dsh CLI README
- --dump-config
- --dump-config 是 DeepSeek Harness 在不启动应用的情况下打印合成后配置树的参数,可用于确认某个已移除的插件是否还留下配置行。判断插件是否真的清干净,它比肉眼看目录更可靠。— dsh CLI README
来源
- dsh CLI README· deepseek-ai
- DeepSeek Harness README(官方仓库)· deepseek-ai
- dshplugin/dsh-plugin-hub GitHub 仓库· GitHub