dsh-plugin-precheck:DeepSeek Harness 插件安装预检助手

前言

在 DeepSeek Harness 生态中,通过插件扩展功能是常见操作。但在安装第三方插件时,经常出现依赖冲突、配置树结构不兼容或启动失败的情况。dsh-plugin-precheck 插件旨在解决这一痛点。它不改变原环境,而是通过隔离试装和启动验证,在安装前拦截潜在问题,确保系统稳定性。

核心能力

插件在 Web GUI 的「设置 → Plugins」中新增「安装预检」标签页。输入 npm 包名后,系统会依次执行以下检查:

  1. 解析并锁定版本:使用 pnpm view 获取包信息并锁定版本号。
  2. 基础兼容性检查:比对 peerDependencies、Node engines、bundle 清单。如果信息缺失,显示「无法确认」而不是放行。
  3. 组合配置检查:将新插件的 cordis.patch.yml 与当前配置树(通过 dsh --dump-config 获取)比对。检测 ID 重复(确定错误)或补丁目标不存在/被多个插件覆盖(疑似风险)。
  4. 隔离试装与启动:在临时的 DSH_HOME 中复制 profile 文本文件,执行 pnpm add 锁定版本。随后通过 --dump-config 进行静态校验,使用 --port 0 --no-open 试启动。系统会等待就绪行和 401 探针,超时时间设定为 180 秒。隔离环境不含凭据、不挂载定时任务、不触碰正式环境。

只有当上述检查全部通过时,才允许正式安装。

安装与启用

使用官方命令安装该插件:

dsh plugin --profile web add dsh-plugin-precheck

安装完成后重启 DSH Web 服务即可使用。

工作原理与拦截

该插件覆盖了本页面的检查安装,以及当拦截开启时,本浏览器标签页中 dsh-market 的安装/更新点击操作。

针对市场插件的拦截逻辑在浏览器层实现。dshmarket 的路由是 exact 注册,且没有预安装钩子。插件通过拦截 window.fetch 识别 POST /dsh-market/install、/dsh-market/update 等请求。拦截后,系统将请求映射为安装来源(安装:URL → 注册表条目 → npm 包名;更新:包名 → 市场目标版本),运行完整预检(含隔离试启动)。通过后才放行原始请求;阻止或取消则返回合成 400 错误。用户可在「安装预检」标签页随时停用此功能。

范围与限制

需要注意的是,本插件不覆盖命令行 dsh plugin add 操作,也不影响其他浏览器标签页。

此外,检查通过并不等同于插件永久稳定,也不代表通过了安全审计。如果市场插件未来改变端点或传输方式,拦截机制可能会失效(探测不到即不启用,不会误拦)。

短结尾

dsh-plugin-precheck 通过隔离试装和浏览器层拦截,为开发者提供了一个安全的插件安装环境,减少了因兼容性问题导致的配置回滚。该插件由 BaqiF2 维护,开源协议为 MIT。

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

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

小夜