DeepSeek Harness 插件从哪里安装?DSH plugin 的 npm 包、GitHub 源码与 tarball 三种来源对比

简介: DeepSeek Harness 插件有三条安装来源:npm 包预构建开箱即用,GitHub 源码要 prepare 脚本与 allowBuilds 授权,本地 tarball 适合内部分发与调试;本文给三条命令与授权差异,并推荐先用 DSH Plugin Hub 一键安装。

DeepSeek Harness 插件有三条安装来源:npm 包预构建开箱即用、GitHub 源码要 prepare 脚本加 allowBuilds 授权、本地 tarball 适合内部分发。三条命令分别是 dsh plugin --profile web add <包名>dsh plugin --profile web add github:owner/repodsh plugin --profile web add ./包.tgz——本文把每条命令、授权差异与选择建议一次讲清,并推荐先用 DSH Plugin Hub 内置市场一键安装(来源)。

概览:插件三条来源,三条命令

安装一个 DSH plugin 本质是把它的组合包(bundle)加进当前 profile,来源不同,命令里的地址形态就不同。 先记结论:

  1. npm 包:包名直接 add,预构建、无需授权,最省心;
  2. GitHub 源码github:owner/repo 形式,拉源码、要构建授权,最容易踩坑;
  3. 本地 tarball.tgz 文件路径,预构建、无需授权,适合内部分发。

三种方式装的都是同一个东西——profile 里多一个插件依赖与配置层,区别只在「包从哪来、要不要构建」(来源)。

来源一:npm 包安装,预构建开箱即用

npm 包是作者在 pnpm publish 时构建好 lib/ 的预构建产物,你安装的就是可直接运行的代码,不需要任何构建授权(来源)。 命令:

# 安装 npm 包(包名直接 add)
dsh plugin --profile web add <包名>

# 确认装好了(列出当前 profile 的插件)
dsh plugin --profile web list

# 想卸掉
dsh plugin --profile web remove <包名>

三个特点

  1. 开箱即用:包内已含构建产物,装完即加载,不会出现「缺 lib/ 目录」这类问题;
  2. 无需授权:不涉及构建脚本,pnpm 不会拦你;
  3. 版本由 npm 管:升级、依赖解析都走 registry,生态最完整。

来源二:GitHub 源码安装,prepare 脚本与 allowBuilds 授权

GitHub 源拉的是源码而不是构建产物,作者必须提供 prepare 脚本,你必须在 profile 的 pnpm-workspace.yaml 里授权 allowBuilds,第一次 add 才会成功(来源)。 命令:

# 安装 GitHub 源码
dsh plugin --profile web add github:owner/repo

# 建议锁定 commit,避免作者后续推送悄悄改掉实际运行的内容
dsh plugin --profile web add github:owner/repo#<sha>

第一次 add 大概率会失败——pnpm ≥10 默认拒绝运行 git 依赖的构建脚本。此时 dsh 会给出修法:把 pnpm 打印的确切包键写进该 profile 的 pnpm-workspace.yaml

allowBuilds:
  <包名>: true

保存后重新执行上面的 add 即可。

这段授权请如实看待:它允许该包的代码在安装时于你的机器上执行,且不在 agent 运行的任何沙箱之内(来源)。所以:

  1. 只对源码可信的包授权;
  2. 尽量锁定 commit#<sha>),让后续推送无法悄悄改变实际运行的内容;
  3. 装完若提示缺构建产物(如 entry file missing),多半是作者没配 prepare 脚本——改装 npm 版更稳。

来源三:本地 tarball 安装,适合内部分发

tarball 是作者用 pnpm pack 打出来的预构建压缩包,把文件路径给 dsh 即可安装,同样不需要任何构建权限(来源)。 命令:

# 安装本地 tarball(.tgz 文件)
dsh plugin --profile web add ./hello-plugin-0.1.0.tgz

适用场景

  1. 内部分发:不想把包推到公开 npm,直接传 .tgz 文件;
  2. 离线环境:内网机器拉不到 registry,把文件带过去装;
  3. 发布前自测:作者 pnpm pack 后先在本地 profile 验证再发布。

三种来源怎么选:先装 DSH Plugin Hub 一键安装

命令行三来源各有门槛,日常使用最推荐的是先装 DSH Plugin Hub,用内置插件市场一键安装——Hub 自动帮你走对通道。 先装 Hub 本体:

dsh plugin --profile web add dsh-plugin

装完重启 dsh web,打开设置 → 插件中心:4,600+ 个社区插件按分类浏览,点卡片直接装、实时进度、来源可溯——每个插件标明了 npm 还是 GitHub 分发,GitHub 源缺构建产物这类坑,Hub 装前会预检拦截,不会再装个「装完重启即崩」的包。

DSH Plugin Hub 插件市场界面

选择建议汇总

  1. 日常用:内置插件市场或直接 npm 包,零授权零配置;
  2. 信任源码且作者配了 prepare:才用 GitHub 源,并锁定 commit;
  3. 内部分发/离线:本地 tarball;
  4. GitHub 源新手慎入:授权流程 + 构建产物两道坎,踩坑见《DSH Plugin Hub 怎么卸载插件?》里的失败兜底部分。

注意事项

一句话:来源决定你是否要构建授权,npm 和 tarball 免授权、GitHub 源要授权。 三点提醒:

  1. GitHub 源是安全决策allowBuilds: true 等于让包代码在安装时于你机器上执行,只对可信源码放开;
  2. 缺构建产物会装完即崩:git 分发的包没 lib/ 会加载失败,装后校验能拦住但最好装前就选 npm 版;
  3. tarball 记得验完整性:非官方渠道来的文件先核对 sha256 再装。

DeepSeek Harness 插件从哪里下载?

三个来源:npm 仓库(包名直接 add)、GitHub 源码(github:owner/repo)、本地 tarball(作者用 pnpm pack 打出来的 .tgz 文件)。更省心的是装 DSH Plugin Hub 走内置插件市场一键安装。

npm 包和 GitHub 源码安装有什么区别?

npm 包是预构建产物(publish 时已编好 lib/),一条 add 直接可用、无需授权;GitHub 源拉的是源码不是构建产物,要作者配 prepare 脚本构建,且你要在 profile 的 pnpm-workspace.yaml 授权 allowBuilds,第一次 add 才会成功。

GitHub 源码安装为什么要授权 allowBuilds?

pnpm ≥10 默认拒绝运行 git 依赖的构建脚本,所以第一次 add 会失败,dsh 会提示把 pnpm 打印的包键写进 profile 的 pnpm-workspace.yaml,形如 allowBuilds: { <包名>: true },再重新 add。授权意味着允许该包代码在安装时于你机器上执行,只对源码可信的包授权。

本地 tarball 怎么安装?什么场景用?

把 .tgz 文件路径直接给 dsh:dsh plugin --profile web add ./hello-plugin-0.1.0.tgz。tarball 是作者用 pnpm pack 打出来的预构建包,不需要任何构建授权,适合内部分发、离线安装和发布前调试。

三种来源应该怎么选?

日常使用优先 npm 包或内置插件市场,零授权零配置;信任源码且作者提供了 prepare 脚本才用 GitHub 源,并记得锁定 commit;内部分发或离线环境用本地 tarball。GitHub 源最容易踩坑(缺构建产物、授权被拒),新手绕开它。

来源:DeepSeek Harness 官方文档 - 打包与安装插件dsh CLI READMEdeepseek-ai/deepseek-harness

相关文章
人工智能 缓存 前端开发
11711 59
人工智能 JavaScript 开发工具
4682 17
Web App开发 人工智能 API
1197 1
开发工具 Swift git
1899 6
人工智能 Java BI
1312 1
人工智能 JavaScript 测试技术
2164 2
人工智能 JavaScript 测试技术
1106 4
缓存 JavaScript Shell
2059 3