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

设置导航折叠 meng-114/dsh-settings-nav-collapse

DeepSeek Harness
meng-11436 天前有提交已提供中文文档扫描:未发现敏感能力

一键把设置导航折成图标轨道,窄屏正文重新可读

30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add meng-114/dsh-settings-nav-collapse
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · ui
装得上吗
静态安装检查有提示项,装前建议看一眼 README
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 36 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

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

✗npm 包@mengli114/dsh-settings-nav-collapse(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

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

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

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 设置导航折叠为图标轨道
  • 窄屏正文重新可读

DSH web 客户端插件:一个按钮把设置导航收成窄图标轨道,手机上正文栏重新可读。

README

由 DeepSeek 最新模型翻译生成
dsh-settings-nav-collapse 面向 DeepSeek Harness(DSH)Web 界面的纯客户端插件:在设置面板标题栏(关闭按钮左侧)加一个按钮,把设置面板左侧那条 188px 的导航栏折成 56px 图标轨道,让正文列在手机等窄屏上重新变得可读。 解决什么问题 随包设置面板是固定布局,没有任何响应式断点: panel { width:800px; max-width:calc(100vw - 48px) } nav { width:188px; padding:22px 12px 0; flex:none } content { flex:1; min-width:0 } options { padding:0 24px 24px } 在 360px 宽的手机上:panel = min(800, 360−48) = 312px,nav 吃掉 188px,正文只剩 124px,扣掉内边距实际约 76px —— 设置项基本没法读。折成 56px 轨道后,同一视口下正文可用宽度回到 208~256px。 功能 - 设置面板标题栏一个按钮:rail(56px 图标轨道)↔ 展开;按钮图标随状态翻转,aria-pressed 反映实际生效的状态(不是“请求”状态)。
展开完整文档(README 剩余 1 节)
dsh-settings-nav-collapse

面向 DeepSeek Harness(DSH)Web 界面的纯客户端插件:在设置面板标题栏(关闭按钮左侧)加一个按钮,把设置面板左侧那条 188px 的导航栏折成 56px 图标轨道,让正文列在手机等窄屏上重新变得可读。

解决什么问题

随包设置面板是固定布局,没有任何响应式断点:

panel { width:800px; max-width:calc(100vw - 48px) }
nav { width:188px; padding:22px 12px 0; flex:none }
content { flex:1; min-width:0 }
options { padding:0 24px 24px }

在 360px 宽的手机上:panel = min(800, 360−48) = 312px,nav 吃掉 188px,正文只剩 124px,扣掉内边距实际约 76px —— 设置项基本没法读。折成 56px 轨道后,同一视口下正文可用宽度回到 208~256px。

功能

- 设置面板标题栏一个按钮:rail(56px 图标轨道)↔ 展开;按钮图标随状态翻转,aria-pressed 反映实际生效的状态(不是“请求”状态)。
- 窄屏(≤640px)默认折叠,宽屏默认展开;用户手动点过之后,选择被记住(localStorage["dsh.settingsNav"],按浏览器存储)。
- 导航行若没有内联 svg 图标,自动退化为 compact(88px、保留文字标签),不会出现“一条什么也点不到的空白轨道”。
- 窄屏下把内容列变成可滚动视口(overflow:auto + overscroll-behavior:contain + 触摸惯性滚动),并用 dvh 让面板避开浏览器地址栏/工具栏。
- 极窄屏给设置页一块 480px 画布并允许横向平移,避免设置项被压成竖排单字。
- 只在自己打的标记上写样式(html[data-dsh-settings-nav] + 面板标记 data-dsh-settings-nav-panel),不碰哈希类名、不 import 任何官方 client 包、不使用 !important。

安装

方式一(推荐,npm 发布版)

dsh plugin add @mengli114/dsh-settings-nav-collapse

或走受保护流程(插件管理器界面 / dshpm)。

方式二(GitHub 源)

dsh plugin add github:meng-114/dsh-settings-nav-collapse

方式三(本地开发)

dsh plugin --profile web add link:/path/to/dsh-settings-nav-collapse

cordis.patch.yml 会被合并进 profile roster,装完重启一次 Web,然后打开设置面板即可看到标题栏右侧多出的按钮。

卸载:dsh plugin remove @mengli114/dsh-settings-nav-collapse(或插件管理器里禁用)。

兼容性

| 项 | 值 |
| DSH | >=0.1.5-rc.1(面板锚点已在 0.1.5-rc.1 与 0.1.7-rc.2 上逐条核对;尚未做过浏览器渲染实测,见下节「验证」) |
| Node | ^22.19.0 \|\| >=24.0.0 |
| 浏览器 | 需要 MutationObserver、matchMedia、CSS min()/max()、dvh(不支持的引擎自动回退到 vh) |

面板定位不依赖包内私有属性:插件从自己那个按钮向上 closest('[role="dialog"][aria-modal="true"]') 找到设置面板,再给它打上自己的 data-dsh-settings-nav-panel 标记,所有 CSS 都基于该标记。[data-shortcut-modal="settings"](只在较新构建里存在)仅作为兜底选择器。

已知取舍

- 展开态也会拿到 480px 画布:用户在窄屏手动展开时,正文列实际只有约 92px,却仍按 480px 布局并需要横向拖动。这是有意的——92px 的正文列不可用,横向拖动至少可读。若更希望“展开态就按实际宽度换行”,可以去掉 @media 里那条 [data-slot="settings.section"] > * 规则。
- 横向平移没有视觉提示:极窄屏下部分内容在屏外,需要用户自己横拖。
- 隐藏的导航标题:rail/compact 下导航栏顶端那行标题会被隐藏以省空间;但如果该节点正带着 data-modal-autofocus(即“没有任何设置分区”的极端情况),插件不会隐藏它——否则模态层的初始聚焦会落在一个不渲染的元素上。
- 状态存 localStorage,因此不同设备/浏览器各记各的。

验证

静态与契约层面的核对记录见 docs/verification.md:包含对随包 shell 真实 DOM(0.1.5-rc.1 / 0.1.7-rc.2 两个版本)的逐条比对、每个 CSS 变量是否存在、dsh.client.immediately 等字段是否合法,以及仍需在真机浏览器里人工确认的清单。

仓库自带的不变量测试(不需要浏览器、不需要依赖):

npm run check # node --check index.js && node --check client.js
npm test # 包名/patch/模块 id 一致性、锚点策略、必填字段、发布文件清单…

开发

git clone git@github.com:meng-114/dsh-settings-nav-collapse.git
cd dsh-settings-nav-collapse
npm run check && npm test
装到本地 profile 调试(改完刷新页面即可,客户端模块走 HMR)
dsh plugin --profile web add link:$PWD

License

MIT © 2026 mengli114
预览分享卡片长什么样 ↓meng-114/dsh-settings-nav-collapse
分享 · DeepSeek Harness Hub
meng-114/dsh-settings-nav-collapse

一键把设置导航折成图标轨道,窄屏正文重新可读

这是你的仓库?认领条目

回到顶部