暂无菜单项

DSH Plugin Hub:在设置页浏览、安装与管理社区插件

发布于 更新于
13

你是不是也在 GitHub 上翻插件翻到放弃

DeepSeek Harness(下称 DSH)的设计思路很干脆:内核只留最小的一块,能力全靠插件往上叠。模型、工具、技能、界面、会话、存储,几乎每一块都可以用插件替换或增强。

问题也跟着来了。官方负责内核和 Cordis 运行时,并没有提供一个集中的插件登记处。社区约定用 dsh-plugin 这个话题标签,插件就散落在 GitHub 的各个仓库里。

于是「想装个插件」这件事,变成了这样一串动作:

  • 先按话题标签翻仓库,逐个项目读 项目说明;
  • 挑中之后,把安装命令抄下来,在终端里跑 dsh plugin --profile web add <包名>;
  • 装完还得自己记住来源仓库、版本号,更新和卸载继续回终端。

对熟悉命令行的人来说这不算难,但**「找一个插件」本身的开销,已经超过了「用这个插件」**。

装 Hub 前后:逛、装、管三步的差别

DSH Plugin Hub 想解决的正是这个环节。它本身就是一个 DSH 插件,装进应用之后,会在设置页里多出一个「插件市场」板块——目录、搜索、安装、卸载、更新、日志,都在里面完成。

需要先说清楚定位:这是社区项目,不是官方产品。官网 dsh-plugin.org 的页脚明确写着「本站由社区维护,与 DeepSeek AI 无隶属关系」。它收录的对象,是官方 DSH 的社区插件。


先说清楚它是谁、现在什么版本

插件包名为 dsh-plugin,代码采用 MIT 许可证,要求 Node.js 22.6 及以上。以下安装入口对应 2.0.6,界面示例为 2.0.0。

插件市场主界面:左侧是一级导航,右侧是分类标签与插件卡片


装它只要一条命令,重启一次

安装走 DSH 自己的插件命令,指定 web 这个 profile:

dsh plugin --profile web add dsh-plugin

也可以直接从仓库源码安装:

dsh plugin --profile web add git+https://github.com/dshplugin/dsh-plugin-hub.git

装完重启 dsh web,然后进入 设置 → 插件市场。这就是它全部的外观。

想更新,用同一条命令换动词:

dsh plugin --profile web update dsh-plugin

这里有个细节值得留意。因为 add 对已经装上的实例不会覆盖版本,如果 update 受旧版缺陷影响拉不到新版本,官方 项目说明 给出的做法是先卸载再安装,这样必然拿到最新版:

dsh plugin --profile web remove dsh-plugin
dsh plugin --profile web add dsh-plugin

桌面端没有 dsh web 这个命令,所以上面这套命令行的说法只适用于 Web / CLI 用法。桌面版请在应用的插件管理器里按仓库地址添加,装完重启 DeepSeek Harness(不是重启 dsh web)——这一点插件作者在代码里也专门处理过:桌面端宿主由应用壳管理,插件点「立即重启」时会改成提示你手动退出重开。

装好之后你会看到,安装是一个有确认、有进度、有留痕的动作,而不是敲完命令等结果:

确认安装弹窗:安装前展示插件名称、来源仓库与执行命令

安装前会显示来源与执行信息,确认可信后再继续。

点确认之后,任务进入后台队列,进度条实时走动,装完再回到「已安装」列表行尾管理:

已安装列表:版本号、来源仓库、更新与卸载入口


装完之后,它给了你哪些入口

打开设置页的插件市场,左侧导航把活分成了几块:

Hub 的五个一级视图与通知中心的分工

插件市场是主界面。分类按能力划分:界面与体验、会话与消息、记忆与上下文、工具与能力、技能与智能体、工作流与自动化、集成与连接、模型与推理、开发与运维、数据与知识、娱乐。搜索框支持按名称、描述、标签检索,排序可以切换 Star、Fork、最近更新、最新收录。每个插件卡片链回它的 GitHub 仓库,展示 Star、Fork 与最近更新时间——来源可查,是它区别于「某个网盘链接合集」的地方。

已安装管的是当前环境里真实的依赖:版本号、来源仓库、安装路径,行尾给更新和卸载按钮。自定义装进来的包会被单独标注为「手动安装」,不和目录收录的混在一起。

自定义安装用于目录之外的插件。优先填写 npm 包名,并在确认页检查实际执行的安装目标;源码安装可以按项目提供的终端命令操作。

自定义安装:支持裸包名、npm / pnpm 命令与全局安装

设置集中了网络通道与安全开关:

设置页:启动检查更新、npm 镜像源、HTTP 代理、安全信任与系统诊断

其中三个开关值得记一下:

  • 启动时检查更新:默认开启,打开市场时检查已装插件是否有新版,发现有更新会提示,但不会自动安装;
  • npm 镜像源:默认跟随你本机的 npm 配置,官方源慢的时候可以在这里换;
  • 安全信任:控制命令行安装 NPM 包的通道,默认开启,关掉之后输入包名会被直接拦下。

系统日志与系统诊断是排障用的:安装、卸载、更新、设置变更和诊断结果都会写进本地 JSONL 日志,可以按类型和级别筛选,也可以导出全文;诊断会逐条检测 npm 源、GitHub、目录站点的连通状态。提 Issue 时还能一键复制宿主版本与系统信息。

还有一个通知中心。安装、卸载任务和更新提醒都会记录在这里,即使你错过了弹窗也能回头查看:

通知中心:进行中任务、成功与失败历史、待重启项集中留痕

在同类插件里,「失败之后怎么办」往往是最含糊的一环,这块后面单独讲。


点一下「安装」,后台到底发生了什么

安装会依次经过确认、排队、执行、校验和重启提醒:

从点击安装到生效的完整流程

一句话概括:它没有换掉 DSH 的插件机制,只是把同一条命令包了一层可见的任务队列。

  • 服务端真正执行的是 dsh plugin --profile <profile> add <目标> 子进程,更新走 add <目标>@latest 原位覆盖;
  • 同一时刻只跑一个变更任务,FIFO 串行排队,避免几个安装互相打架;
  • 任务状态通过本地接口轮询,所以你刷新页面之后,进度条和待重启提醒能恢复回来;
  • 装完还要做一次装后校验:核对包声明的分发文件是否真实存在,缺文件直接判失败——这样能避免重启时加载残缺包把宿主带崩。

进度条的算法也值得一提。它不是「假设 20 秒装完」的动画,而是读 CLI 的输出算比例:Progress: resolved N, reused X, downloaded Y 阶段压在 8~30 的区间,Packages: 到 85,构建脚本到 60,Done in … 到 96,[exit 0] 到 100。抓到没有区分度的阶段就刻意压低速,把中段留给真正耗时的构建。CLI 长时间不说话时,还有按输出行数加定时兜底推进,避免进度条卡死。

失败处理的思路也清楚:先分清「是谁的问题」。缺 npm / pnpm / git / 编译工具链、npm 版本过低、pnpm 供应链策略拦截,这些归到本机环境类;作者包里缺文件、构建脚本失败、声明依赖在官方源上不存在,归到插件分发类;插件声明的兼容清单里没有你正在跑的 DSH 版本,归到宿主兼容类。分类的意义在于错误提示指向真正的原因,不把本机问题说成插件作者的问题——识别不出来的那一条,才提供一键反馈入口。

若遇到 ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION,先检查当前 profile 的 minimumReleaseAge 设置;等待限制期结束后再装,不必为一次安装关闭整个环境的供应链保护。


它明说和没明说的几条安全边界

插件安装需要宿主权限,下面几项设置尤其值得留意:

它站在哪、能碰到什么:浏览器端、同源本地 HTTP 与宿主进程

结构上它是两半:服务端跑在 Harness 进程里,负责所有副作用(目录代理、安装、卸载、日志、诊断);浏览器端只是设置页里的一个板块,通过同源本地 HTTP 与服务端通信。目录数据统一经服务端代理转发,浏览器不直连官网——这样代理设置才能对 npm、git、目录数据三条通道真正生效。

所有变更接口都带来源校验:Host 头必须是回环地址(localhost / 127.0.0.1 / [::1],顺带挡住 DNS rebinding),再比对归一化后的「主机名:端口」是否同源;缺 Origin 头按桌面原生客户端放行,dsh-app: 协议显式放行。请求体上限 4KB,profile 名走白名单正则。

这里的措辞需要精确:这条防线保护的是「谁能指挥 Hub」,不是「插件能干什么」。它不是权限沙箱,装进来的插件能碰到什么,仍然由宿主机制和插件自己决定。

「人工验证」这四个字也要按字面理解。官网和 项目说明 说的是逐项核对安装命令、兼容状态(verified / unconfirmed)与 DSH 目标版本、标注能力分类——它验证的是收录信息,不等于代码审计,也不等于给作者背书。

所以装之前那几件事,还是得自己做:

  1. 看源码:带 Shell 执行、浏览器控制、OAuth 登录、密钥读写、网络请求的插件,权限明显高于纯界面插件;
  2. 看许可证:想商用或二次开发,先确认授权范围;
  3. 看依赖:一个 UI 插件如果拉进一大堆依赖,值得多问一句为什么;
  4. 固定版本或 commit:不盲目跟最新,尤其是刚发布不满 24 小时的版本。

另外提醒一句:同类插件不止一个。社区里还有 dsh-market、DSH-Plugins-Marketplace 等多个插件市场,收录范围、数据源和安装通道各不相同。它们不是同一个项目,装之前值得对比一下。这里介绍的包名是 dsh-plugin。


它适合谁,不适合谁

适合你,如果:你是普通 DSH 用户,不想每次都去 GitHub 翻仓库、判断包名、抄命令;你想要安装有进度、失败有分类、装完有清单可管。

可能不需要它,如果:你更习惯纯命令行,插件来源就固定那两三个;或者你只在桌面版里用 DSH,且已经习惯用应用自带的插件管理器。

它不解决的问题:插件质量参差这件事,任何市场都解决不了。人工验证能告诉你「这条收录信息核对过」,但它替不了你读一眼源码。


相关地址

📋 内容声明

本文由 DoDoDL 整理,内容基于项目官网、官方文档与公开资料。工具的功能、价格与授权可能调整,请以官方最新信息为准。

本站内容仅供参考,不构成专业建议。第三方链接的安全性需自行判断。因使用本文推荐资源产生的损失,本站不承担责任。

🔗 引用请注明"来源:DoDoDL"并保留链接;转载需授权。

✉️ 内容纠错或版权问题请邮件至 service@dododl.com。

互动
支持作者
如果这篇内容对你有帮助,可以请作者喝杯咖啡
0 / 600
0 讨论
热门最新
总结
暂无总结
0 点赞
0 收藏
分享
0 讨论
反馈