🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

设置导航分组器 zhengjy01/dsh-settings-nav-organizer

DeepSeek Harnessv1.7.3
zhengjy0135 天前有提交已提供中文文档扫描:含敏感能力

把 DSH 设置面板里的插件/扩展设置项折叠成一行可展开的「插件项」分组

31.5/100
综合分
2
GitHub 星标
292
npm 周下载
—/5
用户评分

数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-settings-nav-organizer
npm 源 · dsh-settings-nav-organizer 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 35 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-settings-nav-organizer @ 1.7.3
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/13 08:09:03

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 32 处,展示前 18 条)
  • 读取本地文件
    lib/index.js:66
    if (existsSync(candidate)) return candidate;
  • 读取本地文件
    lib/index.js:74
    if (!file.endsWith(".zstd")) return readFileSync(file, "utf8");
  • 读取本地文件
    lib/index.js:347
    return JSON.parse(readFileSync(usageCachePath(), "utf8"));
  • 写入本地文件
    lib/index.js:354
    mkdirSync(dirname(usageCachePath()), { recursive: true });
  • 写入本地文件
    lib/index.js:355
    writeFileSync(usageCachePath(), JSON.stringify(ledger), "utf8");
  • 读取本地文件
    lib/index.js:382
    if (!existsSync(root)) return { scannedFiles: 0 };
  • 读取本地文件
    lib/index.js:387
    entries = readdirSync(dir, { withFileTypes: true });
  • 读取本地文件
    lib/index.js:402
    st = statSync(p);
  • 请求外部主机awesome-dsh-plugin.com
    lib/index.js:542
    const res = await fetch("https://awesome-dsh-plugin.com/plugins.json", { signal: AbortSignal.timeout(10000) });
  • 发起网络请求
    lib/index.js:542
    const res = await fetch("https://awesome-dsh-plugin.com/plugins.json", { signal: AbortSignal.timeout(10000) });
  • 写入本地文件
    lib/index.js:548
    mkdirSync(dirname(registryCachePath()), { recursive: true });
  • 写入本地文件
    lib/index.js:549
    writeFileSync(registryCachePath(), JSON.stringify(list), "utf8");
  • 写入本地文件
    lib/index.js:593
    writeFileSync(patchPath(), next, "utf8");
  • 写入本地文件
    lib/index.js:614
    writeFileSync(patch, next, "utf8");
  • 发起网络请求
    lib/index.js:757
    const res = await fetch(`${baseUrl.replace(/ +$/, "")}/chat/completions`, {
  • 发起网络请求
    lib/index.js:787
    const res = await fetch(`${baseUrl.replace(/ +$/, "")}/chat/completions`, {
  • 发起网络请求
    lib/index.js:822
    const res = await fetch(`${baseUrl.replace(/ +$/, "")}/models`, {
  • 发起网络请求
    lib/client.js:253
    const res = await fetch(body === undefined ? path : path, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
涉及外部主机:awesome-dsh-plugin.com

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-host-webserver
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 折叠插件设置项
  • 可展开分组

README

由 DeepSeek 最新模型翻译生成
dsh-settings-nav-organizer 给 DeepSeek Harness 设置面板「减负」:插件装得越多,设置页侧边栏的入口就越乱。本插件把所有插件/扩展的设置入口折叠成一个可展开的 插件入口 分组行,支持书签式自定义分组与折叠总开关。 Awesome DSH Plugin 功能 - 分组行放在系统配置正下方 —— 通用设置 / 模型 / 插件 / 预设保持平铺;其余入口(插件、扩展、附加页面)全部折叠进「插件入口 (N) ▾」。 - 折叠总开关 —— 「分组管理」页顶部「折叠第三方插件入口」开关:开启(默认)时插件入口折叠为分组行;关闭时导航完全恢复原生平铺。开关状态持久化。 - 书签式自定义分组 —— 像书签文件夹一样创建命名分组,把任意设置入口归入分组,导航中每个分组独立展开/收起;「分组管理」页可新建、重命名、删除分组,条目移入/移出分组。 - 一键展开/收起 —— 点击分组行,组内条目在其下方展开;再点即收起。未分组的条目保留在「插件入口 (N) ▾」行。 - 持久化 —— 分组配置与开关状态存于 localStorage(键 dsh.settingsNavFold.v1),重启不丢。 - 自动更新 —— 计数与折叠位置实时跟随 settings.section 台账重算,插件注册/卸载设置页时自动增减,无需任何配置。
展开完整文档(README 剩余 1 节)
dsh-settings-nav-organizer

给 DeepSeek Harness 设置面板「减负」:插件装得越多,设置页侧边栏的入口就越乱。本插件把所有插件/扩展的设置入口折叠成一个可展开的 插件入口 分组行,支持书签式自定义分组与折叠总开关。

Awesome DSH Plugin

功能

- 分组行放在系统配置正下方 —— 通用设置 / 模型 / 插件 / 预设保持平铺;其余入口(插件、扩展、附加页面)全部折叠进「插件入口 (N) ▾」。
- 折叠总开关 —— 「分组管理」页顶部「折叠第三方插件入口」开关:开启(默认)时插件入口折叠为分组行;关闭时导航完全恢复原生平铺。开关状态持久化。
- 书签式自定义分组 —— 像书签文件夹一样创建命名分组,把任意设置入口归入分组,导航中每个分组独立展开/收起;「分组管理」页可新建、重命名、删除分组,条目移入/移出分组。
- 一键展开/收起 —— 点击分组行,组内条目在其下方展开;再点即收起。未分组的条目保留在「插件入口 (N) ▾」行。
- 持久化 —— 分组配置与开关状态存于 localStorage(键 dsh.settingsNavFold.v1),重启不丢。
- 自动更新 —— 计数与折叠位置实时跟随 settings.section 台账重算,插件注册/卸载设置页时自动增减,无需任何配置。
- 当前页不消失 —— 正在查看的插件设置页即使处于折叠状态也保持可见。
- 自动分类 —— 提供「AI 自动 / 手动」模式开关:开启后新安装的插件自动归组,三级兜底——第三方市场分类标签 → 本地名称启发式规则 → 你配置的 AI 模型,市场查不到且未配置 AI 也能按插件名归类。
- AI 模型配置易用化 —— 模型下拉带预设(DeepSeek / OpenAI / Qwen / GLM / Kimi / Doubao):选预设模型自动填入对应供应商 API 地址;填好地址与 Key 自动拉取该账号可用模型;「测试配置」按钮一键验证;配置输入即自动保存(无需点保存按钮)。
- 闲置插件自动清理 —— 「分组管理」页新增「闲置插件自动清理」开关:扫描各插件的工具调用记录,识别超过阈值(默认 30 天)未使用的插件,预览勾选后一键清理(二次确认)。核心 DSH、本插件与核心 UI Bundle 自动保护,不会进入候选;无工具可检测的插件也可手动勾选。
- 跟随界面语言 —— 中文 / English。

安装

1. 把插件装进你的 profile:

方式一:npm 包(推荐,国内网络更稳定)
dsh plugin --profile web add dsh-settings-nav-organizer

方式二:GitHub 仓库
dsh plugin --profile web add github:zhengjy01/dsh-settings-nav-organizer

预期结果:命令打印解析到的包名,并写进该 profile 的 dsh.profile.bundles。

截图位 1 —— 安装输出。 怎么截:命令执行完立刻截终端最后约 10 行(包名 + profile)。要不要打码:出现用户名 / 家目录就打码。文件名建议 docs/images/dsh-settings-nav-organizer-1-install.png。

2. 重启 DSH(宿主端需加载),再刷新浏览器页面。

预期结果:侧边栏导航仍是官方条目在最上,其下出现分组行。

3. 打开设置面板(侧边栏底部齿轮)→ 分组管理。

预期结果:折叠开关与分组管理界面都在。

截图位 2 —— 折叠后的导航 + 分组管理页。 怎么截:侧边栏(插件入口折叠在
插件入口 (N) ▾ 行下)+ 分组管理页页头一起截。要不要打码:私密的插件名打码。
文件名建议 docs/images/dsh-settings-nav-organizer-2-folded-nav.png。

使用说明

所有功能都在设置面板里:

1. 折叠开关 —— 打开「分组管理」,顶部即是「折叠第三方插件入口」开关。开启(默认):插件入口折叠为分组行;关闭:导航恢复原生平铺。开关状态重启后保持。

截图位 3 —— 开关两种状态。 怎么截:开关开 / 关各一张侧边栏。文件名建议 docs/images/dsh-settings-nav-organizer-3-toggle.png。

2. 导航中的分组行 —— 开关开启时,导航依次显示核心项、自定义分组行、「插件入口 (N) ▾」行。点击任意行即可展开/收起其下方条目。「分组管理」入口位于导航最底部。

3. 自动分类 —— 在「分组管理」页打开「自动分类」开关(AI 自动 / 手动),再配置 AI 模型:
- 从下拉选预设模型(供应商 API 地址自动填入)→ 填 API Key → 确认地址 → 点「测试配置」验证;
- 点「立即分类未分组插件」——市场标签优先、名称规则次之、AI 模型兜底;
- 配置输入即自动保存,重开设置始终显示。

截图位 4 —— 自动分类结果。 怎么截:点「立即分类未分组插件」后立刻截分组管理页(条目已进各分组)。文件名建议 docs/images/dsh-settings-nav-organizer-4-classify.png。

4. 书签式分组管理 —— 在「分组管理」页:
- 输入名称后点「新建分组」创建分组;
- 在「未分组」区域,用每个条目右侧的下拉框把它移入某个分组;
- 在分组卡片内可「重命名」「删除」「移出」(删除分组时条目自动回到未分组)。

原理

设置导航列表由面板内部渲染、并非 Slot,因此插件:

1. 读取 settings.section 台账(ctx.slots.entries),按与面板完全一致的排序算法计算行序;
2. 把分组行注入到导航列表 DOM 中最后一个核心项之后(幂等:位置正确时不改动 DOM);
3. 用 data-snav-plugin / data-snav-group 标记插件按钮,通过一小段样式表控制显隐(当前激活的 aria-current 行保持可见);
4. 用针对性 MutationObserver(带风暴看门狗)跟随台账变化与面板重渲染,插件增删时分组始终正确;样式、订阅、观察器与注入行全部挂在插件 fiber 上,停止或卸载插件时自动清理、完全还原。

补图清单

| # | 放在哪 | 展示什么 | 怎么截 | 建议文件名 |
| 1 | 安装 | 安装命令输出(包名 + profile) | 第 1 步后立刻截终端最后约 10 行;家目录打码 | docs/images/dsh-settings-nav-organizer-1-install.png |
| 2 | 安装 | 折叠后的导航 + 分组管理页 | 侧边栏(插件入口 (N) ▾ 行)+ 分组管理页头 | docs/images/dsh-settings-nav-organizer-2-folded-nav.png |
| 3 | 使用 | 折叠开关开 / 关 | 同一侧边栏两种状态 | docs/images/dsh-settings-nav-organizer-3-toggle.png |
| 4 | 使用 | 自动分类结果 | 点「立即分类未分组插件」后的分组管理页 | docs/images/dsh-settings-nav-organizer-4-classify.png |

补图后请重跑 npm pack --dry-run 与可移植性门禁(npm run verify)——README 属于发布物。

卸载

dsh plugin --profile web remove dsh-settings-nav-organizer

会停止插件、移除 cordis.patch.yml 中的行及 profile package.json 中的依赖。

License

MIT
预览分享卡片长什么样 ↓zhengjy01/dsh-settings-nav-organizer
分享 · DeepSeek Harness Hub
zhengjy01/dsh-settings-nav-organizer

把 DSH 设置面板里的插件/扩展设置项折叠成一行可展开的「插件项」分组

这是你的仓库?认领条目

回到顶部