@springbrand/dsh-plugin-marketplace:DSH 的可视化插件市场

前言

在 DSH 里,插件通常通过 dsh plugin 命令安装、更新和移除。当存在 webheadless 和其他本地 profile 时,命令行方式容易分散:需要反复切换 profile,也不容易快速查看某个 profile 下已经安装了哪些依赖。

下面介绍 @springbrand/dsh-plugin-marketplace。它是一个面向 DeepSeek Harness profiles 的可视化插件市场,内置在 DSH Web settings,并随 SpringBrand Desktop 提供。它不是官方应用商店,而是一个社区目录;插件本身仍是第三方代码。

这是什么

一句话定位:给 DSH profiles 提供一个图形化的插件目录、安装、更新、移除入口。

维护方:springbrand-lab
许可证:MIT
适用位置:DSH Web settings 中的 Settings → Plugin Marketplace,以及 SpringBrand Desktop。

它解决的主要问题是:把按 nameauthordescriptionnpm package 搜索目录,以及管理 webheadless 和其他本地 profile 的插件操作,放到一个可视化界面里完成。

核心功能

  • 浏览和搜索:可按 nameauthordescriptionnpm package 查找插件。
  • Profile 管理:覆盖 webheadless 和其他本地 profile;SpringBrand Desktop 将操作限制在其 active profile。
  • 安装、更新、移除:在同一个市场界面里完成。
  • Installed 视图:同时覆盖 catalog entries 和不在 catalog 中的 profile dependencies。
  • Marketplace self-updates:在 SpringBrand Desktop 中支持自身更新。
  • 生效时机:区分当前 profile 与其他 profile 的变更时机。

安装与启用

先确认环境满足 Node.js >=22.19

如果还没有安装 DSH,先安装 pnpm 和 DSH:

npm install --global pnpm @deepseek-ai/dsh

确认 DSH 可用:

dsh --version

web profile 安装这个市场插件:

dsh plugin --profile web add @springbrand/dsh-plugin-marketplace

启动 DSH Web:

dsh web

如果已经安装 DSH,可以直接执行:

dsh plugin --profile web add @springbrand/dsh-plugin-marketplace
dsh web

如果重新打开终端后仍然找不到 dsh,使用 npx 方式:

npx @deepseek-ai/dsh plugin --profile web add @springbrand/dsh-plugin-marketplace
npx @deepseek-ai/dsh web

经过上面的步骤,在浏览器中打开 DSH Web 后,进入 Settings → Plugin Marketplace,即可浏览和搜索插件目录。

典型用法

  • 打开 Settings → Plugin Marketplace,按名称、作者、描述或 npm 包名搜索。
  • 对选定 profile 执行安装、更新或移除。
  • 在 Installed 视图中查看当前 profile 已安装的包,包括 catalog entries 和不在 catalog 中的 profile dependencies。
  • 在普通 DSH 中,可在 webheadless 和其他本地 profile 之间管理插件;SpringBrand Desktop 只操作其 active profile。

配置与目标

可在 profile 配置中覆盖以下字段:

profile
catalogUrl
restartDelayMs
  • profile:普通 DSH 进程使用的 profile;SpringBrand Desktop 使用其 active profile。
  • catalogUrl:插件目录地址。
  • restartDelayMs:普通 DSH 进程重启延迟,范围 50030000 毫秒。

profiles/node_modules 不会被作为目标提供。

安全与注意事项

  • 安装只限于 catalog entries 中标记为 bundleinstallablenpm 的条目。
  • 服务端会再次从 catalog 解析 npm 包名,而不是接受浏览器传入的任意来源。
  • 更新和移除只接受当前选定 profile 中已经安装的合法 npm 包名。
  • mutation endpoints 只接受 same-origin JSON POST 请求,body 限制为 8 KiB
  • 普通 DSH 命令以 argument arrays 启动,不通过 shell 执行。
  • 同一时间只运行一个 plugin operation。
  • 插件是第三方代码;目录收录不代表安全背书。安装前应检查源码、依赖和许可证。

这个插件以当前 DSH 进程的环境执行相关插件操作,因此安装前应确认来源可信,并核对许可证。

卸载

可以从市场的 Installed 视图中移除,或执行:

dsh plugin --profile web remove @springbrand/dsh-plugin-marketplace

结尾

@springbrand/dsh-plugin-marketplace 的价值,是把 DSH profiles 的插件浏览、安装、更新、移除和已安装依赖查看集中到 Web settings 中。它适合需要管理多个本地 profile、或希望在 DSH Web 界面里查看插件目录的 DSH 用户。

目录入口:DSH Web 中的 Settings → Plugin Marketplace
GitHub:springbrand-lab/dsh-plugin-market

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜