DeepSeek Harness 怎么安全安装插件?DSH plugin 来源信任、GitHub 源码构建脚本风险与安全安装步骤

安装与快速上手发布于 2026-08-26作者: DSH Plugin 插件中心
DeepSeek HarnessDSH plugin安全安装allowBuilds插件来源
DSH 安全安装插件先判断来源:目录与 npm 预构建更省心,GitHub 源码会执行构建脚本且要 allowBuilds 授权;本文给出来源信任、pin commit、装后验证的安全安装步骤。

DSH 安全安装插件,先按来源分级:目录与社区市场收录、npm 预构建包更省心;GitHub 源码安装会拉源码而非构建产物,还要你在 allowBuilds 白名单里授权构建脚本——官方定义这是「授权该包代码在你的机器上于安装时执行」。只放行信任的包,并用 pin commit 固定版本。

先判断来源:信任分级

安装前先回答「这个插件从哪来、代码是什么」,再决定怎么装。 按信任度从高到低:

  1. 官方文档与社区市场收录的插件:经过人工精选、来源可溯(如 DSH Plugin Hub 收录的条目),对新手最省心。
  2. npm 预构建包:发布时已构建好产物,dsh plugin add 包名 装完即用,不需要执行构建脚本,风险面最小(来源)。
  3. GitHub 源码:最灵活但要自己负责——装的是源码不是产物,且可能需要授权构建脚本,详见下文。

判断原则:你不是在信任「这条命令」,而是在信任「这个包的代码将在你的机器上运行」——源码要自己能看懂或来源足够可信。

GitHub 源码安装的构建脚本风险

dsh plugin add github:owner/repo 拉的是源码不是构建产物,两个环节要特别注意(官方教程原话,来源):

  1. 缺构建产物会加载失败:git 分发不跑构建脚本。TypeScript 仓库没提交 lib/ 输出时,装完没有入口文件,加载直接报错——这不是你装错了,是包本身没带产物。
  2. prepare 脚本要授权才能跑:pnpm 10 起默认拒绝执行 git 依赖的构建脚本,第一次 add 会失败,并把放行所需的包名打印出来。要放行,把它写进 profile 的 pnpm-workspace.yaml
    yaml
    allowBuilds:
      dsh-hello-plugin: true
    
    然后重新运行 addpnpm 白名单文档)。

官方对 allowBuilds 的定义要读透:这是「授权该包的代码在你的机器上于安装时执行」——不在任何沙箱内,就是真实执行。所以:

  • 只放行你审过源码、信得过的包;
  • 拿不准就改装 npm 版(预构建,无需任何授权)。

安全安装的标准步骤

把「信任 + 固定版本 + 验证」做成流程,而不是碰运气。 按下面 5 步走:

  1. 选来源:优先 DSH Plugin Hub 收录或 npm 预构建包;只有需要改源码调试时才走 GitHub。
  2. 审代码(GitHub 源码时)git clone 到本地,浏览一遍 package.json、入口文件、prepare 脚本内容,确认没有可疑操作再安装。
  3. pin 提交版本:别装浮动的最新提交,固定到具体 commit,防止仓库之后 push 静默改变运行内容:
    bash
    dsh plugin --profile web add github:owner/repo#提交sha
    
  4. 按需授权构建脚本:报 prepare 被拒时,把打印的包名精确写进 profile 的 pnpm-workspace.yamlallowBuilds,重新 add。拿不准就不授权、改装预构建版。
  5. 装后验证:确认插件加载正常、功能符合预期;异常立即卸载排查。官方推荐的分发方式是 pnpm publish 构建好产物再发 npm、或用 pnpm pack 发 tarball——这两种都不需要任何构建授权(来源)。
dsh-plugin-hub · 确认安装
DSH Plugin Hub 安装信任确认弹窗:安装前展示插件来源与将要执行的安装命令

注意事项

  1. GitHub 源码安装 ≠ 信任:拉的是源码,装后可能缺产物,还可能要求执行构建脚本。
  2. allowBuilds 是真实执行权限,只放行审过的包(来源)。
  3. pin commit(#sha)能防仓库更新后内容漂移。
  4. 拿不准的插件改装 npm 预构建版,无需授权、装完即用。
  5. 装完验证入口文件与功能,异常立即卸载。
  6. 想完全省心,用 DSH Plugin Hub「设置 → 插件中心」安装:人工精选、来源可溯,规避命令行源码风险。

来源:打包与安装插件(官方教程)pnpm 构建脚本白名单文档

常见问题

哪些来源的 DSH plugin 值得信任?

优先级建议:官方文档与社区市场收录的插件(人工精选、来源可溯)> npm 预构建包(装完即用、无需执行构建脚本)> GitHub 源码。GitHub 源码不是不能装,而是要先审代码、再决定是否授权构建脚本。

allowBuilds 白名单是什么?为什么安装会卡在授权上?

pnpm 10 起默认拒绝执行 git 依赖的构建脚本(prepare),必须你在 profile 的 pnpm-workspace.yaml 里显式写 allowBuilds 放行。官方明确:这是「授权该包的代码在你的机器上于安装时执行」,等于给了它运行权限,只放行你信任的包。

为什么有些 GitHub 源码装的插件加载失败、报缺文件?

git 分发拉的是源码而不是构建产物:仓库没提交 lib/ 等产物时,装完没有入口文件,加载就报错。官方给出的做法是作者加 prepare 脚本在安装时构建;用户侧遇到这种插件,改装 npm 版(预构建)最省事。

怎么固定插件源码版本,防止仓库更新后内容被换?

安装时 pin 到具体提交:github:owner/repo#提交sha。这样之后仓库再 push 也不会静默改变你机器上运行的内容(官方原文口径);配合只信任来源,双重保障。

装完怎么确认插件是安全的、没被替换?

事前:只装信任来源、pin commit;事中:allowBuilds 只给审过的包;事后:验证插件入口文件存在、功能正常,异常立即卸载。走 DSH Plugin Hub 安装则天然来源可溯,是更省心的渠道。

来源