前言¶
DeepSeek Harness(DSH)的扩展能力来自社区插件:装得多了,换电脑、新开 profile 或重装系统时,往往要在插件市场里逐个搜索、逐个安装。官方插件管理能管单包,却没有「把当前 profile 里已装好的第三方插件一次性搬到另一个实例」的标准流程。dsh-quick-setup 由社区维护者 MR1ZK 发布,归类为工作流插件,专门做导出、兼容性检查和批量安装,可选附带 cordis.patch.yml 里与插件相关的配置条目。
这是什么¶
dsh-quick-setup 把本机已安装的第三方 DSH 插件导出成便携包或轻量清单,在目标 DSH 实例上核对环境与版本后再批量安装。官方内置 bundle 以及 dsh-quick-setup 自身不会被打包。项目以 MIT 许可证开源,当前 package 版本为 0.3.0,要求 DSH 版本 >=0.2.1-rc.2 <0.3.0。目录页:https://www.skillhub.cn/plugins/MR1ZK/dsh-quick-setup;源码:https://github.com/MR1ZK/dsh-quick-setup。
核心功能¶
导出(源实例)¶
- 通过 DSH 官方的
pluginManager.listBundles()读取当前 profile 的插件列表。 - 只保留第三方、已安装的 bundle。
- 两种导出形式:
- 完整插件包(默认):各插件包目录(跳过node_modules、.git等)与dsh-quick-setup-pack.json清单一起打成.dshpack.tgz;清单记录 DSH 版本、profile 名、Node、Electron、OS、CPU 与打包时间。勾选「同时备份插件配置」时,从<profile>/cordis.patch.yml按插件名提取带config:或disabled: true的条目,原样写入清单(YAML 注释与!!js不解析)。
- 仅插件信息:生成 UTF-8 的.plugins.txt,头部为# dsh-quick-setup/plugins@1及 profile、DSH 版本、导出时间;正文每行插件名@版本号或仅插件名。子选项「包含当前版本号」决定导入时装精确版本还是 npm latest。
导入(目标实例)¶
- 上传
.dshpack.tgz或.plugins.txt,自动识别类型;插件包在临时目录安全解包,按目标实例复算engines.dsh、peerDependencies、Node、OS、CPU 及已装版本(升级/降级/同版本)。 - 清单模式对未安装条目用
pluginManager.inspect()(内部pnpm view)核对 npm 上的包与版本。 - 设置页展示可安装、已安装、不兼容、版本冲突四类结果;用户确认后才安装。
- 完整包以
file:tarball 交给pluginManager.installBundle();清单以name@version或裸name交给同一接口,由 DSH 执行 pnpm 与构建脚本审批。因热重载,安装按「一次一个」推进,并通过状态接口核对结果。 - 若包内带配置,安装成功后按 id/name 合并进目标
cordis.patch.yml:目标已存在条目跳过,不覆盖;写文件用临时文件加 rename。配置生效通常需再重启 DSH。
插件包默认不含账号、API Key、聊天记录、工作区文件;未勾选配置备份时不含插件设置值。勾选备份时请注意包内可能有密钥,且无加密,需妥善保管。.plugins.txt 不含代码,目标须能访问对应 npm registry。
安装与启用¶
在 DSH 中让 agent 执行(将路径换成本地 clone 或下载后的插件目录):
plugin_manager action=install_bundle target=C:\path\to\dsh-quick-setup
也可在插件管理页使用「从本地目录安装」,选择插件目录。安装完成后重启 DSH,在 设置 → 快速安装 打开页面。
典型用法¶
- 导出:在快速安装页勾选要带走的插件,点「导出插件包」,得到
dsh-quick-setup-<profile>-<时间>.dshpack.tgz。需要同步设置时勾选「同时备份插件配置」(默认不勾选)。若只需对齐插件名与版本,勾选「仅导出插件信息」,得到.plugins.txt;可按需取消「包含当前版本号」以在目标安装 latest。 - 传输:U 盘、scp、网盘均可。
- 导入:在目标实例同一页面选择文件 → 「检查兼容性」 → 核对报告 → 「安装选中的插件」。
- 若出现
restart-required,重启目标 DSH 后在插件页确认状态。
Host 端还提供同源 HTTP 接口(如 GET /dsh-quick-setup/api/status、POST /dsh-quick-setup/api/upload 等),供页面与内部流程使用;POST 需请求头 x-dsh-quick-setup: 1。
适用场景与注意¶
适合:多台电脑同步 DSH 插件;同一主机多个隔离 profile 之间复制插件;新机器或重装后避免逐个市场搜索安装。
使用前须知:
- 插件在当前 DSH 进程权限下运行,安装前请阅读源码与 MIT 许可证,自行评估是否信任维护者 MR1ZK。
- 含原生模块或平台限定依赖的插件可能在目标平台失败;需安装脚本的插件仍走 DSH 官方确认,本插件不会绕过。
- 同名插件升级/降级:热重载下
installBundle()会拒绝已存在包名,快速安装会标为「版本冲突」,需先在插件管理移除旧版再导入。 - 插件私有存储(如
~/.dsh/下偏好文件、localStorage)不在备份范围,需单独复制。 - 配置备份单条上限 128 KiB、总量 512 KiB、最多 200 条;超限包会被拒绝导入。
结尾¶
dsh-quick-setup 把「已装好的第三方插件集合」变成可携带的 .dshpack.tgz 或几百字节的 .plugins.txt,在目标实例做兼容性预览后再批量安装,可选合并 cordis.patch.yml 补丁,适合工作流式的环境对齐。详情见 SkillHub 目录页 与 GitHub 仓库。