前言¶
DeepSeek Harness(DSH)的配置由 profile 与所选插件 bundle 共同决定。某个插件在启动阶段异常时,常见结果是进程反复崩溃,或窗口一直停在 loading。Harness 自带恢复对话框只在崩溃时出现,且选项是「禁用全部第三方插件并备份 patch 后重启」——往往会卸掉所有第三方 bundle,并拆掉整层 patch。多数时候你只想关掉刚动过的那一个插件。
dsh-safe(GitHub:osman3n/dsh-safe,维护者 osman3n,社区分类 admin-security)在应用关闭时从终端直接改 profile 文件,不依赖崩溃中的 Harness 能正常起来;Healthy 会话里还可通过插件暴露的工具查看状态、在改动前打快照。
这是什么¶
一句话:dsh-safe 是 DSH 插件的带外安全网,同一包内既有可安装的 Harness bundle,也自带独立 CLI 与本地恢复页面。
它解决的是:profile 因插件问题无法启动时,如何有选择地禁用 bundle、从快照回滚,以及在不动真 profile 的前提下做试启动(test-boot)。
核心功能¶
带外 CLI 与恢复 UI¶
在 DeepSeek Harness 未运行、崩溃或卡死时,在仓库 tools/dsh-safe 目录执行 dsh-safe.cmd(或 node dsh-safe.mjs)。依赖 Node.js 22+。README 说明恢复 CLI 面向 Windows(使用 tasklist、cmd.exe 与 desktop 可执行文件);Harness 内工具为普通 Node,可在 Harness 所在环境使用。
常用入口:
dsh-safe.cmd status :: 当前 profile 路径、近期安装与崩溃线索
dsh-safe.cmd plugins :: 编号列表 + 已装未选 bundle
dsh-safe.cmd try :: 沙箱内复制 profile 试启动,不改原配置
dsh-safe-ui.cmd :: 浏览器打开本地恢复页(应用宕机时仍可用)
恢复页监听 127.0.0.1,展示最近启动失败证据、可选插件列表、快照、试启动与「启动 Harness」等操作;watch 可在出现新的崩溃或启动失败日志时自动打开该页。
快照与回滚¶
snapshot 将 package.json、cordis.yml、cordis.patch.yml 复制到 $DSH_HOME/safety/snapshots/<id>/,可带 -l label。restore 会先为当前状态再打一份快照再写入所选快照;无 id 时恢复最新一份。
风险操作前建议:
dsh-safe.cmd snapshot -l before-thing-x
有选择地禁用 / 启用插件¶
disable / enable 支持 bundle 名称或条目 id(如 include:workflow-kit),可用 --dry-run 预览。核心 bundle(@deepseek-ai/dsh-base、@deepseek-ai/dsh-web-app)默认拒绝禁用,除非 --force。
recover 读取最新启动日志,解释哪个插件失败;recover --pick --apply 可交互勾选并应用;recover --safe-mode --apply 仅保留 dsh-base 与 dsh-web-app(profile 本体仍在)。
试启动与 open¶
try:克隆当前 profile 到临时名,在隔离的 DSH_HOME 中启动,探测 Web 服务后删除克隆;真 profile 只读。
open:先执行与 try 类似的流程;若启动失败则自动映射并禁用嫌疑插件后重试,再启动正式应用。
Harness 内工具(Healthy 时)¶
安装为插件后,模型可调用与 CLI 共用实现的工具:
| 工具 | 作用 |
|---|---|
dsh_safe_status |
当前 profile、已选 bundle(含本地链接)、近期快照、最近试启动/恢复记录、最新启动失败日志及涉事插件等 |
dsh_safe_snapshot |
写快照,可选 label、note |
README 明确:禁用与恢复须在应用关闭时通过 CLI 完成;Harness 起不来时,包内任何 in-harness 逻辑都无法作为恢复路径。
若环境中存在本地插件 git-autobackup,在用户批准备份前,本插件可通过 Cordis 事件 git-autobackup/before-run 自动写入标签为 auto-backup 的快照(两插件无 import 依赖)。
安装与启用¶
作为 DSH 插件安装(为 Healthy 会话增加上述两个工具;CLI 文件随包分发,恢复命令仍可在关应用后使用):
dsh plugin --profile desktop add github:osman3n/dsh-safe
安装后重启 DeepSeek Harness;插件管理器中应出现 dsh-safe。package.json 当前版本为 0.2.3,许可证 MIT。
独立使用 CLI 时,README 写明无需单独安装步骤:在仓库内进入 tools/dsh-safe 后运行 dsh-safe.cmd 即可(用户自行获取源码的方式不在本文展开;任务约束下不使用 git clone 描述为标准路径)。
典型用法¶
启动即崩溃(Host process exited)¶
除非确实要清掉全部第三方 bundle,否则不要点内置「Disable third-party plugins」:
dsh-safe.cmd recover --pick --apply
dsh-safe.cmd open
一直 loading、无崩溃对话框¶
先查看日志中的 apply 异常插件,再交互禁用:
dsh-safe.cmd recover
dsh-safe.cmd recover --pick --apply
刚装的插件导致无法使用¶
dsh-safe.cmd status
dsh-safe.cmd plugins
dsh-safe.cmd disable @scope/package-name
改配置前先验证¶
dsh-safe.cmd try
禁错插件¶
dsh-safe.cmd snapshots
dsh-safe.cmd restore <id>
适用场景与注意¶
适合:经常试装社区插件、需要按 bundle 粒度回滚或排障的 DSH 桌面 profile 用户;尤其在 Windows 上需要与 Harness 脱钩的恢复手段时。
注意:
- 插件与 CLI 以你当前用户权限读写
$DSH_HOME与 profile;安装或使用前请自行查看 GitHub 仓库 源码与 MIT 许可证,确认符合你的安全要求。 - 社区插件目录 SkillHub 条目 与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,恢复工具本身也是可选 bundle。
- 内置全量禁用第三方方案仍是一把梭;
dsh-safe的价值在于快照、单项disable、try/open与恢复 UI,把改动范围压到你能解释清楚的一步。
结尾¶
当 profile 被单个插件拖垮时,从关掉的终端改配置、打快照、试启动,比依赖崩溃对话框更可控。目录页:https://www.skillhub.cn/plugins/osman3n/dsh-safe;源码与命令说明:https://github.com/osman3n/dsh-safe。