安装
在 DeepSeek Harness 里通过 dsh-market 安装
dsh plugin --profile web add dshmarket
或使用命令行
dsh plugin --profile web add dsh-settings-nav-organizer
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 中文
给 DeepSeek Harness 设置面板「减负」:插件装得越多,设置页侧边栏的入口就越乱。本插件把所有插件/扩展的设置入口折叠成一个可展开的 插件入口 分组行,支持书签式自定义分组与折叠总开关。
功能
- 分组行放在系统配置正下方 —— 通用设置 / 模型 / 插件 / 预设保持平铺;其余入口(插件、扩展、附加页面)全部折叠进「插件入口 (N) ▾」。
- 折叠总开关 —— 「通用设置」区新增「折叠第三方插件入口」开关:开启(默认)时插件入口折叠为分组行;关闭时导航完全恢复原生平铺。开关状态持久化。
- 书签式自定义分组 —— 像书签文件夹一样创建命名分组,把任意设置入口归入分组,导航中每个分组独立展开/收起;「分组管理」页可新建、重命名、删除分组,条目移入/移出分组。
- 一键展开/收起 —— 点击分组行,组内条目在其下方展开;再点即收起。未分组的条目保留在「插件入口 (N) ▾」行。
- 持久化 —— 分组配置与开关状态存于 localStorage(键
dsh.settingsNavFold.v1),重启不丢。 - 自动更新 —— 计数与折叠位置实时跟随
settings.section台账重算,插件注册/卸载设置页时自动增减,无需任何配置。 - 当前页不消失 —— 正在查看的插件设置页即使处于折叠状态也保持可见。
- 跟随界面语言 —— 中文 / English。
安装
# 方式一:npm 包(推荐,国内网络更稳定)
dsh plugin --profile web add dsh-settings-nav-organizer
# 方式二:GitHub 仓库
dsh plugin --profile web add github:zhengjy01/dsh-settings-nav-organizer
安装后重启 DSH(宿主端需加载),再刷新浏览器页面,打开设置面板(侧边栏底部齿轮)即可。
使用说明
所有功能都在设置面板里:
折叠开关 —— 打开「通用设置」,第一行即是「折叠第三方插件入口」开关。开启(默认):插件入口折叠为分组行;关闭:导航恢复原生平铺。开关状态重启后保持。
导航中的分组行 —— 开关开启时,导航依次显示核心项、自定义分组行、「插件入口 (N) ▾」行。点击任意行即可展开/收起其下方条目。
书签式分组管理 —— 点击导航中的「分组管理」:
- 输入名称后点「新建分组」创建分组;
- 在「未分组」区域,用每个条目右侧的下拉框把它移入某个分组;
- 在分组卡片内可「重命名」「删除」「移出」(删除分组时条目自动回到未分组)。
原理
设置导航列表由面板内部渲染、并非 Slot,因此插件:
- 读取
settings.section台账(ctx.slots.entries),按与面板完全一致的排序算法计算行序; - 把分组行注入到导航列表 DOM 中最后一个核心项之后(幂等:位置正确时不改动 DOM);
- 用
data-snav-plugin/data-snav-group标记插件按钮,通过一小段样式表控制显隐(当前激活的aria-current行保持可见); - 用针对性
MutationObserver(带风暴看门狗)跟随台账变化与面板重渲染,插件增删时分组始终正确; 样式、订阅、观察器与注入行全部挂在插件 fiber 上,停止或卸载插件时自动清理、完全还原。
卸载
dsh plugin --profile web remove dsh-settings-nav-organizer
会停止插件、移除 cordis.patch.yml 中的行及 profile package.json 中的依赖。