在 DeepSeek Harness Web GUI 内管理本机插件:dsh-plugin-manager

前言

DSH 的插件理念是「一切皆插件」。如果本机 web profile 里需要频繁增加、停用或卸载插件,命令行方式通常会直接面对 profile 的 package.jsondsh.profile.bundles,改完后还要重启 dsh web 并硬刷新浏览器。

dsh-plugin-manager 把这部分操作放进 DeepSeek Harness Web GUI 的设置面板:列出、启用、禁用、安装、卸载 web profile 的插件。DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不应理解为官方应用商店。

这是什么

dsh-plugin-manager 是在 DeepSeek Harness Web GUI 内管理本机插件的 DSH 插件。它由 fuyao606 维护,许可证为 MIT。

它默认管理 web profile,读取:

  • $DSH_HOME/profiles/web/package.json 中的 dependenciesdsh.profile.bundles
  • node_modules 中的实际版本

界面上会区分「用户插件」与「内置模块」。

核心功能

列出插件

在 DeepSeek Harness Web GUI 的设置面板里查看当前 profile 中的插件,并结合 package.jsonnode_modules 显示实际版本。

启用与禁用

启用或禁用插件时,切换 dsh.profile.bundles 中的挂载状态。禁用会保留已安装内容,只是下次启动时不再加载该 bundle。

安装与卸载

安装时输入 npm 包名,在 profile 目录执行 pnpm add <spec>,并按安装状态对账 bundles。

卸载时执行 pnpm remove <name>,并对账 bundles。

API 与客户端

dsh-plugin-manager 提供 /plugin-manager/api JSON API,操作限定为:

list
enable
disable
install
remove

API 只接受 POST,并复用 DSH Web API 的请求信任围栏,检查回环 Host、trustedHosts 和同源请求。

客户端注册 settings.section slot,渲染插件管理界面。

校验

插件对 API 和安装规格使用信任围栏与白名单校验。安装规格仅支持 npm 包名;github:file:、本地路径和 tarball URL 等规格需走命令行。

安装与启用

推荐安装

推荐从 GitHub 安装:

dsh plugin --profile web add github:fuyao606/dsh-plugin-manager

固定版本安装

也可以固定到指定版本:

dsh plugin --profile web add github:fuyao606/dsh-plugin-manager#v0.1.1

npm 方式安装

如果已发布 npm 包,可以使用:

dsh plugin --profile web add dsh-plugin-manager@latest

本地开发安装

先克隆仓库,再构建后安装:

git clone https://github.com/fuyao606/dsh-plugin-manager.git
cd dsh-plugin-manager
pnpm install
pnpm build

dsh plugin --profile web add ../dsh-plugin-manager

打开插件管理

安装完成后重启 dsh web,并硬刷新浏览器,然后打开:

设置 → 插件管理

典型用法

安装规格

「安装插件」输入框支持以下 npm 包名形式:

  • name
  • name@version
  • name@tag
  • @scope/name
  • @scope/name@version

示例规格:

@tonydua/dsh-web-search-exa
dsh-better-sidebar@latest
dsh-plugin@1.2.3

github:file:、本地路径和 tarball URL 等规格请改用命令行安装。

状态说明

  • 已启用:bundle 已挂载到 dsh.profile.bundles
  • 已禁用:包仍保留安装,但已移出 bundle 挂载列表。
  • 已阻断:与当前 profile 的 Cordis patch ID 冲突,不能强行启用。
  • 普通依赖:npm 依赖,不是 DSH bundle,不支持启用 / 禁用。
  • 内置:profile 原有的内置 bundle,不可卸载。

适用场景与注意

适合需要管理本机 DSH web profile 插件的开发者。使用前需要注意:

  • 所有改动只落到 profile 的 package.jsonnode_modules,需重启 dsh web 并硬刷新浏览器后生效。
  • Host 半改动无法热加载,仅刷新页面不会使配置生效。
  • 默认管理 web profile;使用其他 profile 时,请确保该 profile 已存在且能由 DSH 正常启动。
  • 普通依赖不是 DSH bundle,不支持启用 / 禁用。
  • 内置 bundle 不可卸载。
  • 已阻断表示与当前 profile 的 Cordis patch ID 冲突,不能强行启用。
  • 要求 Node.js >=20,包管理器使用 pnpm
  • 插件仍会以本机 DSH 进程权限运行,请只安装信任的 npm 包;安装前应检查源码与许可证。

链接

  • GitHub:https://github.com/fuyao606/dsh-plugin-manager
  • 插件目录页:https://www.skillhub.cn/plugins/fuyao606/dsh-plugin-manager
羽毛球分组比赛记分
小程序二维码

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

Xiaoye