Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dsh-plugin-categories

v0.1.0 — DSH 插件分类管理:全部 / 系统 / 市场 / 收藏 四视图 + 启停 / 收藏 / 卸载 / 批量操作。按 loader 树与 profile 依赖实时分类,系统插件按安装目录识别,其余一律归市场。

dsh-plugin


定位

DSH 默认的插件清单把所有已加载插件(含出厂内置的 dsh-base 78+ 行)平铺在一起,难以区分"系统自带"与"自己安装的"。本插件把插件清单整理成清晰的分类视图:

  • 全部:完整列表(仅展示,含分类徽标);
  • 系统:从 dsh 安装目录解析的内置插件(可单独 / 批量启用、禁用);
  • 市场:所有外部来源的插件(npm / github / 本地 file:),可启用、收藏、卸载;
  • 收藏:手动 ⭐ 收藏的插件,跨分类聚合。

界面预览

插件分类界面

功能

  • 双分类 + 收藏:系统 / 市场严格按"模块解析位置"判定(dsh 安装目录 → 系统;其余 → 市场),收藏完全手动(存于 profile 的 .dsh-categories/favorites.json)。
  • 管理操作:启用 / 禁用(尽量实时生效;无法实时时提示"重启后生效"并锁定该项,勾选与批量自动排除)、单独卸载(详情弹窗确认)、批量启用 / 批量禁用。
  • 状态可视化:运行中 / 已启用 = 绿,已禁用 = 黄,失败 = 红;需重启的切换显示"重启后生效"。\n- 来源悬浮:来源列已隐藏,鼠标悬停模块名可查看来源(npm / github / 本地路径)。
  • 只读分类接口GET /dsh-categories/list;写操作走 POST /dsh-categories/toggle | favorite | uninstall,同源校验。

安装

方式一:dsh 命令(GitHub,推荐)

dsh plugin --profile web add github:superFAN14/dsh-plugin-categories

方式二:本地构建

pnpm install
pnpm run build
dsh plugin --profile web add file:./dsh-plugin-categories

安装后需重启 DSH 桌面端使 bundle 生效。

使用

设置 → 插件分类。四个标签页:

标签页 行为
全部 只读总览(含分类列)
系统 启用 / 禁用(无卸载)
市场 启用 / 禁用 / 收藏 / 卸载
收藏 启用 / 禁用 / 取消收藏 / 卸载

批量启用 / 禁用位于顶栏右侧(待重启项不可勾选、自动排除)。首次进入页面时加载数据;切到其他分区再回来直接还原(不刷新),在当前页面再次点击左侧"插件分类"可手动刷新。

开发

pnpm install
pnpm run build    # tsdown → lib/index.js(host)+ lib/client.js(设置页 UI)

源码结构:src/index.ts(host:loader 树 + profile 读取 + 4 条路由)、src/client/index.tsx(设置页分区 UI,纯 React + 内联样式,无额外 UI 依赖)。

图标(可选)

设置导航中本插件的图标默认是宿主回退的齿轮。运行以下脚本可替换为罗盘图标(自动备份原文件;DSH 发行版更新后需重跑):

node scripts/patch-nav-icon.mjs

许可证

MIT

About

DSH 插件分类管理:全部/系统/市场/收藏 + 启停/收藏/卸载

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages