dsh 怎么重置、恢复初始状态?DeepSeek Harness 该删什么、留什么的分层做法

卸载与清理发布于 2026-09-12作者: DeepSeek Plugin 插件市场
DeepSeek Harnessdsh重置恢复初始状态DSH_HOME备份
dsh 怎么重置要看你想重置哪一层:删 $DSH_HOME 全部数据、只删某个 profile 清插件、清 cordis.patch.yml 还原配置层,还是只删 sessions 清会话;本文给该删什么、留什么的对照表与备份步骤。

dsh 重置不需要卸载程序:程序在 npm 全局目录或源码仓库里,而配置、凭据、插件、会话全在 $DSH_HOME(默认 ~/.dsh)下,所以重置的本质是「在这个数据目录里删对东西」。 DSH插件 与 DeepSeek插件 的数据也都装在这一个根目录里,按影响范围分四档——清会话、清某个 profile、还原配置层、清空全部——每档要删什么、留什么,下面逐档给步骤。

DeepSeek Harness 重置前先分清四档:影响范围与保留资产

先想清楚要重置什么,再动文件:dsh 的数据根只有一个 $DSH_HOME,粒度选得越细,保留的设置与记录越多(来源)。 对照表:

你想达到的效果要删/改的对象保留什么
只清聊天记录$DSH_HOME/sessions配置、凭据、已装插件全部保留
只清某个 profile 的插件$DSH_HOME/profiles/<name>全局设置、凭据、会话保留
只还原默认配置两处 cordis.patch.yml 清空或删除插件、会话保留,配置层回到默认
完全回到初始状态整个 $DSH_HOME什么都不保留(程序本体仍无需重装)

动手前统一做一件事:先停进程再备份。 命令分别是:

  1. 停掉正在运行的 dsh — 在运行它的终端按 Ctrl+C;配了后台服务的先停服务。预期lsof -i :3080 不再有监听。
  2. 备份整个数据根 — macOS / Linux 执行 cp -r ~/.dsh ~/.dsh.bak,Windows 执行 xcopy /E /I %USERPROFILE%\.dsh %USERPROFILE%\.dsh.bak预期:备份目录里能看到 settings.yamlprofilessessions

第一档:只清 DeepSeek Harness 聊天记录,保留配置与插件

会话数据独立存放在 $DSH_HOME/sessions,删它只清历史对话,配置、凭据与已装插件都不受影响(来源)。 三步:

  1. 确认路径 — 执行 echo $DSH_HOME,再执行 ls "$DSH_HOME/sessions"预期:能看到会话记录文件;若环境变量为空,按默认 ~/.dsh/sessions 理解。
  2. 删除会话目录 — 执行 rm -rf "$DSH_HOME/sessions"(Windows 用 rd /s /q "%USERPROFILE%\.dsh\sessions")。预期:目录消失,其他子目录原样还在。
  3. 重启确认 — 重新启动 dsh。预期:历史会话为空,但设置项、已装插件照常——这正是「只清会话」该有的样子。

第二档:只清 DSH plugin,保留设置与聊天记录

删掉单个 profile 目录就能清空该 profile 的插件:webheadless 这类内置 profile 下次启动会从随附模板重新初始化,而全局设置与会话在上一层,不会被带走(来源)。 四步:

  1. 看清要删的 profile — 执行 ls "$DSH_HOME/profiles"预期:列出 webheadless 等名字,确认要重置的是哪一个。
  2. 删掉该 profile 目录 — 执行 rm -rf "$DSH_HOME/profiles/web"预期:该目录连同其中的 node_modulespackage.jsoncordis.patch.yml 一并移除。
  3. 重启触发重新初始化 — 重新执行 dsh web预期:profile 目录被重新建出来,插件列表清空,首次启动会比平时慢一些(重新初始化本来就慢,见《dsh 启动很慢怎么办?》)。
  4. 核对插件已清空 — 启动后打开 DSH Plugin Hub 的「已安装」页。预期:列表为空,说明插件确实被重置。

只想卸掉一两个插件时别用这一档:那属于精确卸载,见《dsh plugin remove 怎么卸载插件?》。

第三档:只还原 DeepSeek Harness 默认配置,插件与会话留着

配置呈现异常时不必清数据:把两处 cordis.patch.yml 清空或删除,就等于移除了自己的覆盖层,让配置回到组合包默认值(来源)。 三步:

  1. 清空 profile 级覆盖层 — 删除 $DSH_HOME/profiles/<name>/cordis.patch.yml 里你后来加的内容(或整文件移除)。预期:该 profile 不再有你手写的覆盖项。
  2. 清空 home 级覆盖层 — 同样处理 $DSH_HOME/cordis.patch.yml预期:该 home 下所有 profile 都不再受你手写层影响。
  3. 用 dump 验证而不是看文件 — 执行 dsh --profile web --dump-config预期:输出里只剩组合包自身的层;确认方式与层序说明见《dsh 配置文件在哪?》。

另外:如果症状是「改完配置后连不上模型」,多半只需要重填凭据——删除 $DSH_HOME/.credentials.yaml 后重启并按提示重新填写 API Key,处理办法见《DeepSeek Harness 配置 API Key 报错》。

第四档:DeepSeek Harness 完全回到初始状态(保留程序)

把整个 $DSH_HOME 删除或改名,下次启动会像全新安装一样重新初始化;程序本体不动,所以既不用卸载也不用重装(来源)。 三步:

  1. 删或改名数据根 — 更稳妥的做法是先改名保留退路:mv ~/.dsh ~/.dsh.old(Windows 用 ren "%USERPROFILE%\.dsh" .dsh.old)。预期:原目录不在,退路留在一个新目录里。
  2. 重新启动 — 执行你平时用的启动命令(如 dsh web)。预期$DSH_HOME 被重新创建,内置 profile 完成初始化,需要重新配置模型与凭据。
  3. 验证并决定退路去留 — 打开 DSH Plugin Hub 的「已安装」页确认插件清空、设置页确认配置已重置。预期:一切如同首次安装;确认无误后再删掉 ~/.dsh.old

这一档的代价要提前讲明:凭据、会话、插件全部清空。如果你只是想解决某个具体故障,优先回到第二、三档,别直接清空数据根。

其余五条是四档通用的注意事项:

  1. 重置前务必停进程:运行中的实例会把内存里的状态写回磁盘,可能出现「删了一半又长回来」。
  2. 自定义过 $DSH_HOME 的人别按默认路径找:先执行 echo $DSH_HOME 确认真实位置。
  3. 重置不等于卸载:本文所有操作都不动程序本体;要连程序一起清理,见《卸载 DeepSeek Harness 与重装》。
  4. 重置后首次启动一定偏慢:profile 重新初始化要装依赖,这是预期行为,不要误判成故障。
  5. 备份要覆盖整个数据根:只备份 profile 会漏掉凭据与会话,出错时无法完整还原。

用 DSH Plugin Hub 确认重置结果

重置是否生效,看界面比看目录更快:DSH Plugin Hub 是 DeepSeek Harness 内置的官方插件市场,已安装列表为空就说明插件确实被清掉了,设置页则能确认各项配置是否回到默认。 重启后打开「已安装」页核对一遍,再按需重新安装需要的插件,比逐个目录去数文件可靠得多。

DSH Plugin Hub 已安装插件列表,可用于确认重置后插件是否已清空

来源:dsh CLI READMEDeepSeek Harness 官方文档 - 打包与安装插件DeepSeek Harness 官方文档 - 配置提供方

常见问题

dsh 怎么重置到刚装好的状态?会连程序一起删掉吗?

DeepSeek Harness 重置不需要卸载:程序在 npm 全局目录或源码仓库里,数据在 $DSH_HOME(默认 ~/.dsh)。把整个 $DSH_HOME 删掉或改名,下次启动会重新初始化 profile,效果等同于全新安装,而程序本体还在,不用重装。

我只想清掉插件、保留设置和聊天记录,该怎么重置?

**只想清掉 DSH plugin、保留设置和聊天记录,删掉该 profile 的目录即可**,例如 $DSH_HOME/profiles/web。DeepSeek Harness 的 web、headless 这类内置 profile 下次启动会从随附模板重新初始化,插件随之清空;而全局设置 settings.yaml 与同级的 sessions 会话目录都在 $DSH_HOME 下、不受影响,会被保留。

dsh 重置前一定要备份吗?备份哪些东西?

DeepSeek Harness 重置前建议备份整个 $DSH_HOME 而不是单个 profile,因为配置、凭据、会话、插件记录都在里面,一处备份全部兜住。macOS / Linux 执行 cp -r ~/.dsh ~/.dsh.bak,Windows 执行 xcopy /E /I %USERPROFILE%\.dsh %USERPROFILE%\.dsh.bak;重置出错时整体拷回即可。

只想清空聊天记录、不动配置和插件,删哪个目录?

DeepSeek Harness 的会话数据存放在 $DSH_HOME/sessions 目录,删掉它只清历史对话,配置、凭据与已装插件都不受影响。删之前先停掉正在运行的 dsh 进程,避免运行中的实例又把数据写回去。

重置掉配置覆盖层、让 dsh 回到默认配置,该动哪些文件?

让 DeepSeek Harness 回到默认配置,清空或删除 $DSH_HOME/cordis.patch.yml(home 级)与该 profile 的 $DSH_HOME/profiles/<name>/cordis.patch.yml(profile 级),再重启 dsh。想确认是否真的回到默认,用 dsh --dump-config 看合成结果,不要只看文件是否为空。

相关术语

DSH_HOME
DSH_HOME 是 DeepSeek Harness 的用户级数据根目录,取不到该环境变量时默认为 ~/.dsh。它同时装着 settings.yaml、.credentials.yaml、profiles/、sessions/ 与 skills/,因此它既是重置的最小单位,也是备份的最小单位。dsh CLI README
分层重置
分层重置指按影响范围选择重置粒度:只清会话、只清某个 profile、只还原配置覆盖层,或清空整个数据根。粒度越细保留的资产越多,代价是操作前必须清楚每一项数据住在哪个目录。dsh CLI README
会话目录
会话目录是 $DSH_HOME/sessions,存放历史对话记录。它独立于 profiles/ 与 settings.yaml,因此删掉它只清聊天记录,不影响配置与已装插件。DeepSeek Harness 官方文档
profile 重新初始化
profile 重新初始化指内置 profile(web、headless 等)目录被删除后,下次使用时从随附模板重新生成 package.json、cordis.patch.yml 与依赖。它是「清插件但保留全局设置」这一档重置的实现原理。DeepSeek Harness 官方文档 - 打包与安装插件

来源