dsh 插件市场搜不到想装的插件?DSH插件自定义安装三通道与装前预检:NPM 包、GitHub 源码、DSH 命令
dsh 插件市场里搜不到某个插件,不等于它不能装——市场只收录打了 dsh-plugin 话题的公开 GitHub 仓库,目录之外的插件要走自定义安装。 DSH Plugin Hub 把自定义安装做成三块输入卡片:NPM 包、GitHub 源码、DSH 命令;下面讲清每块卡片适合什么情况、认哪些格式,以及装前会被自动拦下的几类输入。
DSH plugin 自定义安装概览
插件市场的收录是「主动扫描 + 人工审核」的结果,不是全网插件清单,所以「搜不到」是常态而不是故障;自定义安装就是给目录之外的插件留的入口。 市场怎么进、怎么逛、怎么按分类筛选,见《DSH Plugin Hub 插件市场入口与浏览》;命令行视角的三种来源对比见《DSH plugin 从哪里安装》。本文只回答一个问题:想装的插件市场里没有时,怎么把它装进当前 profile,并且装得安全。
DSH plugin 市场为什么搜不到想装的插件
因为收录有硬性边界:仓库必须是公开的 GitHub 仓库,并且添加了 dsh-plugin 话题,站方才会扫描到它、核实后收录(来源)。 市场目前收录 8,000+ 个社区插件,来源是用户提交加主动扫描(来源),任何一环没满足就会「搜不到」。动手装之前,先按三步自查是不是收录问题:
- 打开仓库地址,确认它是公开可访问的 GitHub 仓库(私有仓库任何人都发现不了,也无法安装);
- 看仓库 About 区是否已添加
dsh-plugin话题——这是官方约定的插件发现渠道,没打话题的仓库不会被扫描到; - 换个词再搜一次:市场搜索覆盖插件名称、描述与标签,用仓库名或 owner 名搜,比用「记忆」「翻译」这类功能词更准。
三步都没问题仍然搜不到,通常是刚发布还没轮到扫描、或仓库本身不是一个可安装的插件包(比如只是个 demo 或资料仓库)。这时先用自定义安装把它装上——自定义安装只关心「这个包能不能装进 profile」,不依赖市场是否收录;等收录之后,它会在市场里以目录插件身份出现。
DSH插件自定义安装三通道怎么选:NPM 包、GitHub 源码、DSH 命令
选择依据不是插件类型,而是你手里有什么:有 npm 包名走 NPM 包,有 GitHub 仓库地址走 GitHub 源码,有官方命令或要更新已装目标走 DSH 命令。 入口在 DSH Plugin Hub 的「自定义安装」页,三块卡片各自只认一种格式,贴错卡片会被就地提示——这样拆开的好处是不用猜「这段地址该按哪种方式装」。
通道一:NPM 包
适用条件是插件已发布到 npm,装的是预构建产物,不需要本地构建。 这块卡片接受三种写法:
- 裸包名:
@scope/pkg,一条一个; - 常规安装命令:
npm install <包名>、npm i <包名>、pnpm add <包名>、pnpm install <包名>,装进当前 profile,一次一个; - 官方全局形式:
npm install -g <包名>,属于系统级 CLI 安装,装完不会出现在已安装插件列表里。
它不接受 GitHub 地址(走通道二)、也不接受以 - 开头的 token(会被当成 npm 参数而不是包名)。
通道二:GitHub 源码
适用条件是插件只有源码、还没发 npm 包,代价是要走依赖安装与构建。 卡片认带前缀的地址:github:owner/repo、https://github.com/owner/repo、git+https://github.com/owner/repo、[email protected]:owner/repo,也认裸写的 owner/repo。
用这条通道前先有一个心理预期:git 分发走的是仓库里已提交的文件,如果作者只提交了源码、没提交构建产物,装完就会缺入口文件、插件加载不起来。这类情况的处理顺序见本文最后一节。
通道三:DSH 命令
适用条件是你已经从插件文档复制到一条官方安装命令,或者要把已安装的插件更新到最新。 这条通道只认官方唯一形式:
dsh plugin --profile <name> add <target>
--profile 是必填长选项,没有 -p 简写,省略直接报错;等号写法 --profile=<name> 同样支持。动词只放行 add 与 update(update 表示把已安装目标覆盖更新到最新),卸载不在这张卡片里——卸载走「已安装」列表的卸载按钮。
这条命令在官方 CLI 里的语义是「在 --profile <name> 对应的 profile 目录中,把参数转发给 pnpm」。换句话说,它和你在 profile 目录里手敲 pnpm add <target> 等价,只是路径与 profile 由 CLI 帮你对齐。
提交一次自定义安装的标准流程
- 在「自定义安装」页选定与格式匹配的那张卡片。预期:选对通道,格式预检才会放行;
- 粘贴目标(包名 / 仓库地址 / 完整命令),等格式预检通过——不通过会提示推荐格式,且不会发出请求。预期:预检通过后,Hub 才会按目标解析安装方式;
- 提交后在确认弹窗核对插件名与将要执行的方式,确认开始安装。预期:确认之前不会向 profile 写入任何依赖;
- 弹窗显示实时进度,装完到「已安装」列表按「手动安装」来源筛选即可看到它。预期:插件要重启宿主才会挂载,按弹窗提示重启后生效。
DSH Plugin Hub 的「自定义安装」把三条通道做成三块输入卡片,每块都有示例写法与格式提示,认不出的格式会直接拦下、不发请求:

目录里没有、或者你只想临时试一个插件时,用 DSH Plugin Hub 的自定义安装比手敲命令省事:三条通道各有格式提示,装完同样进已安装列表,来源标为手动安装。
装前预检与安全:DSH plugin 的哪些输入会被直接拦下
自定义安装会执行第三方代码,所以它安排了三道关卡:客户端格式预检先挡下不合法输入,服务端入口文件预检再挡下缺构建产物的仓库,装完还有一次入口校验兜底(来源)。 具体是:
- 格式预检(客户端):三块卡片各有一套格式规则,粘贴内容不属于该通道就地报错、红框提示,不发请求——所以你不会因为打错一个字符而触发一次真实的依赖安装;
- 入口文件预检(服务端,仅 GitHub 源码通道):先取仓库默认分支的 commit,再按该 commit 下载源码包,读
package.json里声明的入口,确认入口文件真的存在于包内;缺失则安装请求直接被拒,不会装出一个「装上了但加载不了」的插件。npm 包因为信任 registry,直接放行,由装后校验兜底; - 装后入口校验:即使安装命令退出码为 0,也会核对 profile 依赖中该插件的
main/exports指向的文件是否存在;缺失就判失败,并撤销「待重启」,避免重启后宿主起不来; - 通道开关(设置 → 安全信任):NPM、GitHub、DSH 三个通道可以分别关闭,关闭后对应卡片禁用并给出「前往设置」入口——不用的通道直接关掉,等于从源头减少可执行代码的来源面;
- 构建脚本确认:从 GitHub 源码安装时,依赖的构建脚本需要你确认是否允许执行;只对确认信任的仓库放行,细节与判断方法见《DeepSeek Harness 怎么安全安装插件》。
DSH plugin 自定义安装的注意事项与局限
- 手动安装项与目录插件的管理口径不同:自定义安装的插件带「手动安装」来源标签,可在已安装列表按来源筛选单独查看;
- 私有仓库走不通 GitHub 源码通道:该通道只对可公开拉取的仓库有效,私有仓库需要自行处理凭据,Hub 不代为携带;
- 全局
npm install -g不进已安装列表:它装的是系统级 CLI,不随 profile 走,卸载也要回到 npm 自己处理; - 优先 npm 预构建版:GitHub 源码通道依赖仓库提交构建产物,缺产物就会缺入口文件;有 npm 版时优先走通道一;
- 版本会变:DeepSeek Harness 处于开发者预览阶段,官方明确未来将有破坏兼容性的变更(来源),本文的命令形式与界面文案以官方与 Hub 当前版本为准。
来源:deepseek-ai/deepseek-harness、dsh-plugin.org 插件市场、dshplugin/dsh-plugin-hub
常见问题
dsh 插件市场只收录打了 dsh-plugin 话题的公开 GitHub 仓库,所以这个 DSH plugin 很可能只是还没被收录,而不是不能用。常见原因是仓库未公开、About 区没添加 dsh-plugin 话题、刚发布还没被扫描到,或仓库本身不是可安装的插件包。先用仓库名或 owner 名在市场里再搜一次,仍搜不到就直接走自定义安装,装上之后再等收录。
选择 DSH plugin 自定义安装通道的依据是你手里已有的东西,与插件功能无关:插件已发布到 npm、想要预构建产物就走 NPM 包通道,只有 GitHub 仓库地址就走 GitHub 源码通道,从插件文档复制到官方命令或要把已装插件更新到最新就走 DSH 命令通道。三块卡片格式互不通用,贴错卡片会被格式预检拦下,贴对才发请求。
会执行代码,所以 DeepSeek Harness 的自定义安装设有两道前置拦截和一道装后兜底:客户端按通道预检格式,认不出的输入不发请求;GitHub 源码通道在服务端预检 package.json 声明的入口文件是否真的在源码包里;装完再核对 node_modules 里入口文件是否存在,缺失即判失败。此外设置 → 安全信任可分别关闭 NPM、GitHub、DSH 三个通道。
自定义安装的插件会进入 DSH Plugin Hub 的「已安装」列表,并带「手动安装」来源标签,与市场收录的「目录」插件区分开。在列表里可按来源筛选只看手动安装项,行尾提供「可更新」「卸载」与「在 Finder 中显示」;卸载会先弹确认再移除。
GitHub 源码装的 DSH plugin 缺入口文件,通常是因为仓库没有提交构建产物,git 分发时只有源码、没有 lib 之类的产物。优先改装该插件的 npm 预构建版本;若只有源码版,就在本地克隆后自行安装依赖并构建,再把产物目录装进当前 profile,或请作者把构建产物提交到仓库后重装。
相关术语
- DSH plugin market(dsh 插件市场)
- dsh 插件市场是收录与分发 DeepSeek Harness 插件的社区目录,只收录公开 GitHub 仓库且要求仓库添加 dsh-plugin 话题,站方定期扫描发现并人工审核后上架。— dsh-plugin.org 插件市场
- 自定义安装(custom install)
- 自定义安装是指绕过市场目录、手动把目录外的插件装进当前 profile 的通道,DSH Plugin Hub 把它拆成 NPM 包、GitHub 源码与 DSH 命令三块独立输入卡片。— dshplugin/dsh-plugin-hub GitHub 仓库
- dsh-plugin 话题(topic)
- dsh-plugin 是 GitHub 仓库的 topic 标签,插件作者为仓库添加该话题后才会被插件发现渠道扫描到,是市场收录的前置条件之一。— deepseek-ai/deepseek-harness
- 入口文件(entry file)
- 入口文件是插件 package.json 中 main 或 exports 字段指向的文件,宿主加载插件时从这里开始执行;入口文件缺失会导致插件加载失败甚至宿主启动异常。— deepseek-ai/deepseek-harness
来源
- deepseek-ai/deepseek-harness· GitHub
- dsh-plugin.org 插件市场· dsh-plugin.org
- dshplugin/dsh-plugin-hub GitHub 仓库· GitHub