dsh-plugin-installer:侧栏里的确定性插件 / Skill 安装流水线

前言

在 DeepSeek Harness(DSH)里装第三方插件或 Skill,常见做法是手改 profile 依赖、自己解包、或把链接交给 pnpm。步骤分散,出错时也不容易对照「装前装后」的差异,更谈不上统一的预检与回滚。维护者 JHboy203 开源的 dsh-plugin-installer 把这件事收进侧栏面板:你提供 GitHub 链接、Release、压缩包直链或本机路径,宿主侧用确定性代码走完下载、解包、识别、安全预检、快照、安装、诊断与按需回滚;安装执行阶段不调用模型,不消耗 token。插件当前为开发版(非最终版),面向 DSH 0.2.1–0.2.x(engines.dsh: >=0.2.1-rc.1 <0.3.0),使用前请先核对宿主版本。

这是什么

dsh-plugin-installer 是 DSH 的 bundle 插件(包名 dsh-plugin-installer,当前版本 0.2.1,MIT 许可证)。它在左侧栏增加「插件安装」入口(方块内向下箭头图标),右侧切换为「插件 / Skill 安装」面板。社区目录页:SkillHub 插件页;源码与文档:GitHub 仓库。

面板面向本机 desktop profile(README 写明在 .dsh/profiles/desktop 下加载;profile 名可替换)。数据与状态落在插件目录下的 data/(含 settings.json、快照、staging、日志等)。

核心功能

九步安装流水线

前一步不通过则短路,大致顺序为:输入接入 → 下载 → 解包(魔数识别,含 zip / tar / tar.gz,7z / rar 等走 Windows 自带 tar.exe 等兜底)→ 识别 bundle 或 Skill → 安全预检(版本兼容、静态能力扫描、用途与权限对账等)→ 有告警时等待人工确认 → 安装前快照 → 调用宿主 installBundle 或复制 Skill → 安装后诊断 → 按需异步 AI 审查(可跳过且面板会估算 token)。README 对每一步的围栏与判据有完整表格说明。

安装执行零 token

README 说明:确定性步骤在宿主侧运行,安装执行全程不调用模型;AI 仅用于推荐、搜索辅助以及可选的异步审查。维护者在 Windows 本机实测:一次 Skill 安装约 1.8 秒,插件安装到确认前约 0.6 秒,均不花 token。

侧栏面板与提醒

装完并完全退出重启 DSH 后,侧栏出现「插件安装」图标;若找不到,可在「设置 → 插件」中搜索 dsh-plugin-installer 并确认已启用(插件树在启动期读取)。侧栏红点仅在装失败、等待确认或诊断有冲突时亮起,可在面板设置中调整。任意页面可按 Ctrl+Alt+D 触发环境自检(键位可在设置中修改或关闭)。

搜索、已装清单与升级

面板支持粘贴链接或路径、拖拽 zip(≤80 MB)、按名称搜索或「AI 推荐」。搜索可配置多源(npm、GitHub、商店目录等),命中项带 trust / popularity 等信号。自 R12 起提供「已装插件」卡:按 npm、link:、本面板重打包的 .tgz、Git 等来源分类;点「检查更新」才联网比对 registry,可升级行可走原流水线一键升级。另有「已装 Skill」相关视图与 frontmatter / 宿主对账等能力(详见 README 各版本说明)。

快照、回滚与环境体检

安装前会写 profile 相关快照到 data/snapshots/;诊断卡给出大白话结论与可复制的 fix 步骤。底部「环境体检」合并 profile 对账、工具 output 契约、启动失败日志等检查,部分项可一键修复(写前再快照)。可选协作插件 dsh-plugin-catalog 参与换版本时的卸载阶段;未安装或版本过旧时,换版本会被明确拒绝,其它安装与回滚仍可用。

安装与启用

装之前先确认 DSH 与 Node 版本:

dsh --version
# engines.dsh: >=0.2.1-rc.1 <0.3.0
# engines.node: >=20

README 明确不要用 dsh plugin add 或 pnpm add 安装本插件:pnpm 可能重算依赖树并 hoist 一份 @deepseek-ai/dsh-tools,遮蔽宿主工具链。官方推荐把工作区克隆后 link: 进 profile,并登记到 dsh.profile.bundles(cordis.patch.yml 会在 bundle 启用时由宿主自动应用,无需手工重复 patch)。

下面命令中的 <profile> 默认为 desktop,路径占位符请换成本机实际路径:

# 1) 克隆到工作区(不要直接克隆进 profile/node_modules)
git clone https://github.com/JHboy203/dsh-plugin-installer.git "<你的工作区>/DSH-Plugin/dsh-plugin-installer"

# 2) 链进 profile
# macOS / Linux
ln -s "<你的工作区>/DSH-Plugin/dsh-plugin-installer" ~/.dsh/profiles/<profile>/node_modules/dsh-plugin-installer
# Windows(普通 cmd)
mklink /J "%USERPROFILE%\.dsh\profiles\<profile>\node_modules\dsh-plugin-installer" "<你的工作区>\DSH-Plugin\dsh-plugin-installer"

3) 修改 ~/.dsh/profiles/<profile>/package.json 两处后完全退出并重启 DSH:

{
  "dependencies": {
    "dsh-plugin-installer": "link:<你的工作区>/DSH-Plugin/dsh-plugin-installer"
  },
  "dsh": {
    "profile": {
      "bundles": [ /* …原有条目…, "dsh-plugin-installer" */ ]
    }
  }
}

重启后左侧栏出现「插件安装」图标即表示启用成功。

典型用法

经过上面的步骤打开面板后,README 归纳的用法如下:

  1. 贴链接或本机路径 → 点「安装」。回车提交,Shift+Enter 换行。
  2. 拖入文件:将 zip 拖到面板(≤80 MB);更大文件请先放到本机再填绝对路径。
  3. 只记得包名:直接填名字点「安装」(会先给候选)或「只搜索」;也可用「AI 推荐」用自然语言描述需求。
  4. 升级已装插件:展开「已装插件」→「检查更新」→ 在可升级行点「升级到 x.y.z」。

网盘链接(百度、夸克等)不会自动下载;面板识别域名后会提示手动下载再拖入。私有 GitHub 源可设置环境变量 DSH_GITHUB_TOKEN 或 GH_TOKEN(只从环境读取,不要写入仓库或配置文件)。

适用场景与注意

适合谁:经常在 DSH 里试装 GitHub 插件、Release 包、本地 .tgz / .zip 或 Skill 目录,并希望预检、快照、诊断与回滚在同一套 UI 里完成的开发者。

务必知晓:

  • 插件以当前 DSH 宿主进程权限运行,需要本机文件读写;从 GitHub 下载需网络。安装前应自行阅读目标包源码与许可证,面板预检不能替代人工审计。
  • 状态为开发版:流水线、设置项与 data/ 布局可能随版本变动;0.3.x 宿主未验证。
  • README 已知限制:主要在 Windows 11 + DSH desktop profile 上实测(文档列出 0.2.1-rc.2 / 0.2.1-rc.3 等);其它平台与 profile 未验证。
  • 可选环境变量包括 DSH_INSTALLER_DIR、DSH_PROFILE、DSH_SKILLS_DIR 等;外部命令涉及 powershell.exe(见 README「外部依赖与权限」)。

DSH 生态遵循「一切皆插件」思路;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系,本文介绍的安装面板同样属于社区维护工具。

结尾

dsh-plugin-installer 把「从哪里拿包 → 怎么安全装 → 装完是否生效 → 出问题怎么回滚」收成侧栏里的一条确定性流水线,并把 token 留给真正需要模型判断的审查环节。需要详情、版本变更与自检命令时,以仓库 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/JHboy203/dsh-plugin-installer
  • GitHub:https://github.com/JHboy203/dsh-plugin-installer
羽毛球分组比赛记分
小程序二维码

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

Xiaoye