DeepSeek Harness 插件市场怎么做插件安装?批量一次装齐多个插件的命令与核对
批量装 DSH plugin(中文也常写作 DSH插件、DeepSeek插件)的正确姿势是「市场选型 + 脚本执行」:先在插件市场确定要装哪几个,把包名写进一份清单,再用循环逐条执行 dsh plugin --profile web add,装完用 list 统一核对。 官方文档给出的 add 用法是单个目标,所以批量靠脚本循环,而不是靠一条多目标命令。
批量安装的两条路:插件市场与脚本各管一半
批量安装不是一条命令的事,而是两件事:决定装哪几个、把这几个装进去——前者交给插件市场,后者交给脚本。 对照如下:
| 环节 | 谁来做 | 做什么 |
|---|---|---|
| 选型 | 插件市场 | 搜品类、看版本与作者,定下清单 |
| 执行 | 终端脚本 | 按清单逐条 add,一次装齐 |
| 核对 | 终端 + 插件市场 | list 比对清单,已安装列表复查 |
先装好 DSH Plugin Hub(dsh plugin --profile web add dsh-plugin),插件市场入口才会出现在设置里。

第一步:用插件市场把清单定下来
批量装的前提是有清单,而清单最可靠的来源就是插件市场的插件详情。 三步:
- 按品类搜一批 — 打开设置 → 插件市场,按分类或关键词筛选出你真正要装的那几个。预期:每选定一个,记下它的插件名或来源。
- 核对插件名与来源 — 在详情里确认作者与来源仓库。预期:npm 包记成包名,GitHub 来源记成
github:owner/repo,两种写法不能混。 - 写成清单文件 — 建一个纯文本文件,每行一个目标:
cat > plugins.txt <<'EOF'
dsh-plugin-rag
github:owner/repo
dsh-memento
EOF
预期:清单里没有空行与注释以外的杂内容,便于后面循环读取。
第二步:用脚本一次装齐 DSH plugin
官方文档给出的 add 用法是单个目标:dsh plugin --profile web add <包名或仓库>;批量就把它放进循环,逐行执行。 macOS 与 Linux 用 shell 循环:
# 逐行读取清单,跳过空行,逐条安装
while read -r p; do
[ -z "$p" ] && continue
dsh plugin --profile web add "$p" || { echo "失败: $p"; break; }
done < plugins.txt
Windows 用 PowerShell:
Get-Content plugins.txt | ForEach-Object {
if ($_ -ne "") { dsh plugin --profile web add $_ }
}
三条要点:
- 每一条都要带
--profile web— 漏带会装进非预期 profile,最后清单与列表对不上。 - 失败即停并打印包名 —
|| break这类短停让错误可定位,避免带着错误继续跑完一整批。 - 先小批量试跑 — 清单前两行先验证写法,尤其
github:来源是否可拉取。预期:两条都能装上,再放开跑全量。
第三步:装完统一核对 DSH plugin
核对就是拿 list 的输出与清单逐条比对,别只看最后一条命令成没成。 四步:
- 列已装插件 — 执行
dsh plugin --profile web list。预期:输出里能覆盖清单中的大多数条目。 - 找漏网的 — 把清单与列表对照,找出没出现的包名。预期:漏的那几条要么包名写错,要么中途安装失败,重跑单条即可。
- 看插件市场已安装列表 — 设置 → 插件市场 → 已安装。预期:与命令输出一致,说明界面与命令行看的是同一份数据。
- 确认落盘 — 查看
$DSH_HOME/profiles/web/node_modules。预期:顶层目录名对应已装插件,细节见《DSH plugin 装在哪个目录》。

插件市场负责选型与复查,脚本负责执行——两者操作的是同一份已安装列表。逐个装的用法见《用插件市场装插件》。
批量安装 DSH plugin 的注意事项与局限
- 不要指望一条命令带多个目标:官方 add 用法是单目标,批量请用清单 + 循环,写法在任何环境都成立。
- 清单要能进版本库:把
plugins.txt存进仓库,换机器时一条循环就能复现同一套插件。 - 来源写法不能混:npm 包直接写包名,GitHub 来源必须带
github:前缀。 - 失败要能定位:不留输出、不判退成码的循环,最后只能整批重跑,浪费时间也掩盖问题。
- 离线环境另走一条路:内网机器没有 registry,批量装要先把 tgz 搬进来,见《内网离线怎么装 DSH plugin》。
清单跑通之后,日常新增插件也可以沿用这份文件。DSH Plugin Hub 既是插件市场也是管理界面,用于核对已安装列表与版本。
来源:dsh CLI README(官方仓库)、打包与安装插件(官方文档)、dshplugin/dsh-plugin-hub
常见问题
**dsh plugin add 官方用法是单个目标,批量装 DSH plugin 最稳的做法是脚本逐条执行**。dsh plugin --profile web add <包名或仓库> 一次处理一个包,想一次装齐就把包名写进一份清单文件,用 shell 循环或 PowerShell 循环逐行调用这条命令,装完再统一核对。
**批量装 DSH plugin 时,插件市场适合挑、不适合批量**。它把搜索、分类、版本收在一页,帮你确定「要装哪几个」并逐个点安装;但市场上没有「打包装齐一组」的入口。选定清单后交给终端脚本执行,两者配合才是最快的批量方式。
**批量脚本里的 DSH plugin 名要从插件市场的插件详情里核对后照抄**。打开 DSH Plugin Hub 的设置 → 插件市场,在卡片与详情页确认插件名、作者与来源,再写进清单;npm 包写包名,GitHub 来源写 github:owner/repo,两者写法不同,混淆会直接导致安装失败。
**确认批量装的 DSH plugin 有没有漏装,用 list 输出与清单逐条比对**。执行 dsh plugin --profile web list 拿到已装列表,再回看清单里有哪几个没出现;数量对不上的大多是某个包名写错或安装中途失败,重跑那一条即可,不必整批重来。
**批量装 DSH plugin 到一半失败后,是否继续取决于你的脚本,建议失败即停并记录**。若循环里不判断退出码,脚本会带着错误继续跑,最后很难分辨哪几个没装上。更稳的写法是单条失败就打印包名并停下,修好包名或网络后从断点继续,避免重复安装已成功的插件。
相关术语
- 清单文件
- 清单文件是本篇推荐的批量输入形式,纯文本、每行一个安装目标(npm 包名或 github:owner/repo)。它把「要装哪几个」从「怎么装」里拆出来,便于复核与版本管理。— dsh CLI README
- 循环逐条执行
- 循环逐条执行是把清单文件每行作为一次 add 的输入依次运行,是批量安装 DSH plugin 最稳的方式。它不依赖任何未公开的多目标语法,失败也能定位到具体某一行。— dsh CLI README
- 插件市场
- 插件市场是 DeepSeek Harness Web UI 内置的插件收录入口,位于「设置 → 插件市场」。批量场景里它的作用是确定装哪几个、核对插件名与来源,而不是提供打包安装入口。— dshplugin/dsh-plugin-hub GitHub 仓库
- --profile
- --profile 决定插件装进哪个运行栈,对应 $DSH_HOME/profiles/<名字>。批量脚本必须为每一条 add 都带上它,否则会装进非预期 profile,导致清单与已安装列表对不上。— dsh CLI README
来源
- dsh CLI README· deepseek-ai
- DeepSeek Harness 官方文档 - 打包与安装插件· deepseek-harness
- dshplugin/dsh-plugin-hub GitHub 仓库· GitHub