dsh-plugins-folders:在 DSH 插件页用文件夹管理已装插件

前言

DeepSeek Harness(DSH)采用「一切皆插件」的扩展方式,装得多了之后,Web 端「插件」页会变成一条越来越长的列表:找某个 bundle、批量启停、或回忆「上次卸的是哪个 GitHub 地址」都不顺手。官方列表本身不负责按用途收纳,也不会替你记卸载前的安装来源。

dsh-plugins-folders(包名 @dsh-user/dsh-plugins-folders)由社区维护者 awaYFawa 发布,分类为客户端插件。它不改变各插件的实际加载逻辑,只在插件页上增加一层可自定义的文件夹结构,并对接宿主已有的 remote.pluginManager 做真实启停、卸载与重装。下面介绍它做什么、怎么装、日常怎么用,以及数据落在哪。

这是什么

一句话:给 DSH Web 端「插件」页加「文件夹」——分组、组开关、搜索、拖动排序、批量操作(含撤销)、卸载记录与一键重装,以及面板内一键重启 Harness。

  • 维护者:awaYFawa
  • 仓库:github.com/awaYFawa/dsh-plugins-folders
  • 社区目录页:skillhub.cn 插件条目(与 DeepSeek / 幻方无官方从属,仅为社区索引)
  • 平台:platform: web,依赖 shell.overlay 插槽与 remote.pluginManager.setBundleEnabled
  • 许可证:MIT(见仓库 LICENSE)
  • 当前资料中的版本:1.2.2(以 package.json 为准)

核心功能

资料中明确列出的能力如下。

文件夹分组

可新建、重命名、删除文件夹,把任意已安装插件移入分组;未归入任何文件夹的插件落在「未分类」,之后仍可再挪。

单条开关与整组开关

每行有开关,通过 remote.pluginManager.setBundleEnabled 修改真实插件状态;分组标题旁有整组开关。若插件被上级配置接管(只读),界面会标明原因,不会假装可改。

批量操作与撤销

多选后可「移动到…」另一组,或批量启停;每次改动支持撤销,误操作可一步回退。

搜索

按插件名称或简介实时过滤,跨分组命中,无需逐层展开文件夹。

长按拖动排序

按住约 320ms 进入拖动模式,可调整插件行或整个分组顺序;顺序与分组结构保存在本机浏览器,重开浏览器仍保留。

右键卸载与卸载记录

右键插件行可确认卸载(面板禁止卸载分组插件自身)。卸载后的条目写入「已卸载」列表(最多 60 条,含名称、标题、安装地址、时间),可按卸载前的安装地址一键重装,或删除该条记录。

一键重启 Harness

面板右下角常驻重启按钮:关闭当前 Harness 实例再拉起,新实例就绪后页面自动刷新;若后台有会话,应先保存再点。

界面语言

中文 / English 文案随宿主界面语言切换(locale/zh.json、locale/en.json)。

关于开关的说明(来自 README)

  • 分组只影响插件页的展示,不改变插件之间的加载顺序或依赖关系。
  • 改动即时写入真实状态;若某插件需重启 Harness 才生效,面板会提示「改动已保存,需要重启 Harness 才生效」。

安装与启用

插件为纯 ESM、零运行时依赖,无需构建、无需 npm install。

从插件市场或命令行安装

市场索引收录后,可在 插件 → 发现 搜索「插件分组 / Plugin folders」安装;或直接执行官方命令:

dsh plugin --profile web add github:awaYFawa/dsh-plugins-folders

装完后需重启 dsh web 才会在插件页看到入口。

卸载

dsh plugin --profile web rm @dsh-user/dsh-plugins-folders

分组与卸载记录存在浏览器 localStorage,卸载本插件不会自动清除;若需清空,可在浏览器控制台删除下文「数据与隐私」中的两个键。

典型用法

打开 DSH Web 插件页后,在右下角 shell.overlay(order 20)会出现「插件分组」浮标,点开即分组面板。

想做的事 怎么做
建分组 顶部「新建文件夹」,输入名字后「创建」
把插件放进分组 行内「所在分组」下拉,或多选后「移动到…」
改分组名 / 删分组 分组标题右侧铅笔 / 垃圾桶;删分组不删插件本身
开关插件 行尾开关;分组标题右侧整组开关
调整顺序 长按约 320ms 后拖动(插件或分组均可)
卸载 右键该行 →「卸载插件」→ 确认
重装 展开「已卸载」→「重新安装」(按记录中的安装地址)
找插件 顶部搜索框,按名称或简介过滤

若装完找不到入口:确认已重启 dsh web,并查看控制台是否有 dsh-plugins-folders 开头警告(插槽未就绪时仅警告、不打断页面)。若宿主不具备 setBundleEnabled,面板会明确报错而非静默失败。

数据与隐私

全部数据仅存在本机浏览器 localStorage,不外传、不联网、不写宿主配置目录:

键 内容
dsh.plugins-folders.v1 分组结构(名称、顺序、成员、折叠状态)
dsh.plugins-folders.uninstalled.v1 卸载记录(最多 60 条)

换浏览器、换 profile 或清除站点数据后,旧分组不可见;已装插件不受影响,可重新分组。卸载记录中的安装地址(如 github:owner/repo)仅用于「重新安装」,可在面板内移除记录。

适用场景与注意

适合谁

  • 已在 DSH Web 端安装较多插件,需要在同一页面按用途分组、批量启停、快速搜索的用户。
  • 经常试用后卸载、又希望按原地址一键装回的用户。

使用前请注意

  • 插件以当前 dsh 进程及 Web 会话的权限运行;安装前应自行查看 GitHub 源码 与 MIT 许可证,确认符合你的环境与合规要求。
  • 分组是本地 UI 状态,不是 DSH 官方配置的一部分;多设备或多浏览器不会自动同步。
  • 本介绍事实来源为仓库 README 与 package.json;功能以仓库最新文档为准。

结尾

dsh-plugins-folders 解决的是「插件页太长、不好管」的展示与操作问题:文件夹收纳、真实开关、批量与撤销、卸载重装、搜索排序和 Harness 重启,都集中在插件页右下角的面板里。需要安装命令与细节时,可直接查阅 GitHub 仓库 或 SkillHub 目录页。

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

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

小夜