dsh插件市场 卸载后残留什么:配置、缓存、profile 与日志的清理顺序、位置与重装前核对

卸载与清理发布于 2026-10-31作者: DeepSeek Plugin 插件市场
DeepSeek HarnessDSH plugindsh插件市场插件卸载残留清理profile
在 dsh插件市场点卸载,只摘掉依赖与加载层,配置、缓存、profile 覆盖与日志仍会留下。这篇讲清四处残留分别在哪、按什么顺序清、重装前怎么确认清干净,以及哪些共享依赖不该动。

点完卸载、列表里消失了,很多人以为清理结束——其实市场卸载只做了一半:它摘掉依赖与加载层,配置、缓存、profile 覆盖与日志都还在。 这四处残留不会立刻造成故障,但会在下次重装时冒出来,让你怀疑「怎么装了个旧版本」(2.2.5 索引)。这篇按清理生命周期走:先看卸载边界,再找四处残留,然后按顺序清,最后做重装前核对。卸载入口在 DSH Plugin Hub 的已安装列表。

市场卸载实际删了什么、没删什么:DSH Plugin Hub 的边界

市场卸载删的是「依赖 + 加载清单」,不删「插件写下的数据与你的覆盖层」。 这两类东西的生命周期不同,混在一起就会误判。

卸载会处理的卸载不会处理的
profile 的依赖清单插件写下的配置项
profile 的加载清单pnpm 缓存与 node_modules 残留
当前环境的插件条目手写的 cordis.patch.yml 覆盖
已安装列表里的记录系统日志里的历史记录
  1. 在已安装列表找到目标插件,点行尾的「卸载」。
  2. 读卸载确认弹窗,确认插件名与来源仓库无误后再确认。
  3. 卸载完成后刷新列表,确认条目确实消失。
  4. 不要在这一步就手动删目录,先去做下一节的四处核对。

卸载确认弹窗只保证「移除的是你以为的那个插件」,它不负责清理数据。把这一步当成「摘清单」,后面的清理才不会漏。

四处残留怎么找:DSH plugin 的配置、缓存、profile 与日志

四处残留的位置不同,找法也不同:配置看 profile 与配置层,缓存看 pnpm 存储,profile 看覆盖文件,日志看系统日志页的存放位置。 先定位,再决定删不删。

  1. 配置:先看插件说明里写的配置项名称,再到 profile 目录与自己的配置层里搜同名键;不确定就先备份,不要整段删。
  2. 缓存:pnpm 的内容寻址存储在全局 store,profile 里的 node_modules 是链接结果;缓存可以回收,但不要手删正在被引用的包。
  3. profile:重点看 cordis.patch.yml 这类手写覆盖层,里面可能有指向已卸载插件的引用。
  4. 日志:在「设置 → 插件市场 → 系统日志」里看日志存放位置,需要长期保留就先导出,再决定是否清。
DSH Plugin Hub 确认卸载

四处里最容易漏的是 profile 覆盖层:remove 不会替你清手写内容,缓存清理更不会。它也是最容易在重装后造成「配置怎么还是旧的」的原因。

清理顺序:dsh plugin market 先清单后文件

顺序固定:先确认清单干净,再清缓存,最后处理配置与日志。 反过来的话,你会失去「这个包本来该不该在」的判断依据。

bash
# 1. 已安装列表:确认条目已经消失
dsh plugin --profile web list
# 2. profile 清单:dependencies 与 dsh.profile.bundles 两处都不该再有旧包名
cat ~/.dsh/profiles/web/package.json
# 3. 组合树:确认加载层里没有旧插件
dsh --profile web --dump-config | grep -in <插件关键词>
  1. 跑上面三条只读检查,确认清单层已经干净。
  2. 清单还残留时,回到市场卸载或按官方 remove 命令处理,不要先删文件。
  3. 清单干净后,再按需回收 pnpm 缓存;它只删没被引用的内容,相对安全。
  4. 最后处理配置与覆盖层:先备份,再删与目标插件相关的键或段落。
  5. 日志按保留需要处理,取证用的记录先导出再清。

「先清单后文件」不是形式,而是为了避免「文件删了、清单还在」这种最难排查的状态。那时启动会报找不到包,你却以为已经卸干净了。

重装前怎么确认清干净:DeepSeek Harness 的三处核对

重装前核对三处:列表、清单、覆盖层;三处都干净,重装才不会继承旧状态。 只核对其中的一处,很容易把旧配置带进新版本。

  1. 已安装列表里搜不到旧条目,来源筛选切到「全部」也没有。
  2. profile 的 package.json 里,dependencies 与 dsh.profile.bundles 都没有旧包名。
  3. profile 目录的手写覆盖层里,没有指向旧插件的引用或旧路径。
  4. 如果旧版本留下过数据目录,确认新版本是否会复用;会复用就先备份再重装。
  5. 三处通过后再安装,装完按正常流程验证入口与日志。

重装不是「覆盖一下就好」,旧覆盖层和新版本可能互相冲突。清理残留的目标不是把环境清空,而是让新版本从一个可解释的状态开始。更完整的残留清单见 卸载后残留怎么彻底清理。

什么时候不该清:DSH plugin 的共享依赖与手写覆盖层

清理的边界是「只属于这个插件的残留」,共享依赖、无关配置和取证日志都不该动。 清过头,问题会从「有残留」变成「环境坏了」。

  1. 仍被其他插件引用的依赖不要手删,让包管理器判断是否可回收。
  2. profile 里与目标插件无关的配置项不要整段清,按名称精确处理。
  3. 还要用来取证的日志先导出再清,别把失败现场一起删掉。
  4. 不确定归属的覆盖层内容先注释或备份,不要直接删除。
  5. 清理后重启一次,确认其他插件仍能正常加载。

清理的价值在于「可解释」:你知道删了什么、为什么删、删完环境还能不能跑。做不到这三点,就先停在备份这一步。

清理记录也要留

  1. 记下卸载的插件名与版本。
  2. 记下清掉了哪些文件与配置。
  3. 记下清理后其他插件是否正常。

插件重装的完整顺序,可以接着看 插件卸载与重装。

常见问题

在 DSH Plugin Hub 点卸载,实际删掉了什么、又留下了什么?

DeepSeek Harness 的市场卸载会从当前 profile 移除插件依赖与加载清单,但不会替你清插件写下的配置、pnpm 缓存、手写覆盖层和日志。所以卸载后「列表里没了」不等于「磁盘上干净了」,残留要靠后续清理。

DSH plugin 卸载后,配置、缓存、profile 与日志四处残留分别在哪?

DeepSeek Harness 里配置多在 profile 目录或你自己的配置层,缓存在 pnpm 存储与 node_modules,profile 残留包括手写的 cordis.patch.yml 覆盖层,日志则在系统日志页显示的存放位置。四处位置不同,清理方式也不同,别用同一条命令全删。

卸载 DSH plugin 后清理残留,应该先清清单还是先删文件?

DeepSeek Harness 里先确认清单已经摘干净,再清文件。清单包括 profile 的 dependencies 与 dsh.profile.bundles 两处;清单没摘就手删 node_modules,启动时仍会按清单去找那个包,表现成「卸载了但插件还在」。

重装 DSH plugin 之前,怎么确认上一次的残留已经清干净?

DeepSeek Harness 里核对三处:已安装列表没有旧条目、profile 的 package.json 两处清单没有旧包名、profile 目录里没有手写的旧覆盖。三处都干净再重装,否则新装版本可能被旧配置或旧覆盖层干扰。

在 dsh plugin market 清理卸载残留时,哪些文件不该动?

DeepSeek Harness 里不该动的是仍被其他插件引用的共享依赖、profile 里与目标插件无关的配置,以及系统日志中你还要用来取证的记录。清理的目标是「只属于这个插件的残留」,不是把整个 profile 清空。

相关术语

市场卸载
市场卸载是 DSH Plugin Hub 已安装列表里的卸载动作,确认后从当前 profile 移除插件依赖与加载清单。它不等于清理插件留下的配置、缓存与日志。— https://api.dsh-plugin.org/images/releases/2-2-5/index.json
卸载确认弹窗
卸载确认弹窗是 DSH Plugin Hub 在移除插件前显示的确认框,列出待卸载插件与来源仓库。用户确认后才从当前环境移除。— https://api.dsh-plugin.org/images/releases/2-2-5/index.json
profile
profile 是 DeepSeek Harness 里按顺序叠加插件与补丁的启动配置栈,位于 $DSH_HOME/profiles/<名字> 下。它同时存放 pnpm 依赖、依赖清单、加载清单与用户自己的覆盖层。— https://github.com/deepseek-ai/deepseek-harness
cordis.patch.yml
它是 profile 目录里由用户手写的补丁覆盖层,cordis.patch.yml 不属于 pnpm 管理的依赖。卸载插件不会自动清掉其中与插件相关的引用。— https://github.com/deepseek-ai/deepseek-harness

来源