dsh-plugin-doctor:DeepSeek Harness 插件诊断面板

前言

在 DeepSeek Harness(dsh)里装插件、改配置、升级版本,出问题时往往要对着日志和目录猜:是某条插件没加载,还是上次更新在 bundle 里留了「声明了但没跑起来」的行,抑或是磁盘上还有 *.parked、_tmp_* 之类残留。自己翻 remote.pluginManager 的状态和 profile 目录,步骤多、也容易漏。下面介绍社区插件 @ragnoryok1/dsh-plugin-doctor:在 Web 设置里加一块「诊断」页,汇总插件侧可见问题并给出处理提示;另有一条本地磁盘扫描脚本,专门查更新失败常留下的文件痕迹。维护者为 Ragnoryok1,SkillHub 分类为 admin-security;包为 MIT 许可,与 DeepSeek 无官方从属关系。

这是什么

@ragnoryok1/dsh-plugin-doctor 面向 Web profile 的 DeepSeek Harness:在 设置 → 内置插件 中注册 「诊断」 标签页,列出当前 harness 已知的插件状态,并按类别说明「哪里不对、建议怎么看」。它不自动修复,也不把数据发到网外;展示内容来自 harness 支持的 Remote 服务(remote.pluginManager),响应按 { ok, value } 信封解析,不读取其他包的内部文件,以便 harness 升级后仍可用。

README 元信息列出的兼容 harness 版本包括 v0.2.1-alpha.1、v0.2.0-rc.2、v0.1.7-rc.2、v0.1.7-rc.1;安装前请对照你本机 dsh 版本与 npm 上的 peer 依赖说明。

诊断面板检查什么

面板把条目分成几类;只有错误类才算「问题」,参考类(例如故意关掉的插件)会展示,但不会把健康 profile 标成「坏了」。

分区 含义
未加载 插件启动时报错,界面会显示插件自己的错误信息。
已声明但未启动 Bundle 里声明了行,但没有对应 live 条目,常见于更新失败留下的痕迹。
无法在界面管理 有条目但在这里不能开关;会说明原因(如 management-required、unaddressable 等)。
已关闭 用户主动禁用。
版本警告 非致命,升级前值得阅读。

每个分区给 一条 汇总提示,而不是每行重复同一段话。无论有没有问题,面板都会报告 检查了多少插件,避免「没问题」和「其实没查到任何东西」看起来一样。

磁盘扫描:更新残留与启动日志

浏览器里的面板 看不到文件系统。作者另提供 bin/doctor-scan.mjs,在 profile 目录侧查找手工排查里反复出现的残留:

在插件源码目录或已安装包中可执行:

node bin/doctor-scan.mjs

若单独安装了该 npm 包,也可:

npx dsh-doctor

脚本会关注例如:*.parked(更新时绕过 blocked rename 的 parked 副本)、_tmp_*(失败安装残留,常与 EPERM 有关)、失效的 file: 引用(指向已不存在的路径,安装阶段可能 ENOENT),以及 logs/startup-*.log 里 launcher 记录的未激活插件(含包名、错误、等待中的服务数)。README 说明这些残留 目前不会 出现在 Web 诊断页里——要在 UI 展示需要额外的 remote 服务与 harness 生成器配合,属于后续工作。

安装与打开诊断页

安装命令(来自 README,勿自行改写成 github:owner/repo 形式):

dsh plugin --profile web add @ragnoryok1/dsh-plugin-doctor

安装完成后,在 harness Web 界面进入 设置 → 内置插件 → 诊断 即可查看面板。

典型用法

  1. 日常巡检:升级或批量增删插件后打开诊断页,看是否出现「未加载」「已声明但未启动」或版本警告,并按分区提示处理(插件本身不代你修复)。
  2. 更新仍失败时:在主机上对 profile 运行 node bin/doctor-scan.mjs 或 npx dsh-doctor,对照 *.parked、_tmp_* 与 startup 日志,再决定是否清理目录或修正 file: 引用。
  3. 验证行为(维护者文档):仓库 fixtures/canary/ 提供故意在 apply() 中失败的 canary 插件;安装 canary 时期望面板报告 1 个问题(「已声明但未启动」等);移除后应显示全部加载且兼容。复现步骤见该目录下 README。

界面文案支持 ru、zh、en(见 src/client/locales.ts)。

适用场景与注意

  • 适合:经常在 Web profile 里试社区插件、需要一眼看清加载失败与 bundle 不一致、或怀疑磁盘上有更新垃圾的 DSH 使用者与插件作者。
  • 不适合当作:自动修复工具或远程监控;它只报告本地状态。
  • 安全与权限:插件随当前 dsh 进程与用户权限运行;磁盘扫描会读 profile 下的目录与日志。安装前建议浏览 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。
  • 与官方关系:DeepSeek Harness 生态强调「一切皆插件」;SkillHub 目录页 为社区索引,不是 DeepSeek 官方应用商店。

结尾

dsh-plugin-doctor 把插件管理器里分散的状态收成一块诊断视图,并用独立脚本补上文件系统侧的更新残留检查;两者都不越权读其他包内部,也不外发数据。需要时可从 SkillHub 进入说明页,或直接查看 GitHub:https://github.com/Ragnoryok1/dsh-plugin-doctor。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜