前言¶
在 DSH 里,插件通常通过 dsh plugin 命令安装、更新和移除。当存在 web、headless 和其他本地 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。
它解决的主要问题是:把按 name、author、description、npm package 搜索目录,以及管理 web、headless 和其他本地 profile 的插件操作,放到一个可视化界面里完成。
核心功能¶
- 浏览和搜索:可按
name、author、description、npm package查找插件。 - Profile 管理:覆盖
web、headless和其他本地 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 中,可在
web、headless和其他本地 profile 之间管理插件;SpringBrand Desktop 只操作其 active profile。
配置与目标¶
可在 profile 配置中覆盖以下字段:
profile
catalogUrl
restartDelayMs
profile:普通 DSH 进程使用的 profile;SpringBrand Desktop 使用其 active profile。catalogUrl:插件目录地址。restartDelayMs:普通 DSH 进程重启延迟,范围500到30000毫秒。
profiles/node_modules 不会被作为目标提供。
安全与注意事项¶
- 安装只限于 catalog entries 中标记为
bundle、installable、npm的条目。 - 服务端会再次从 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