一键把设置导航折成图标轨道,窄屏正文重新可读
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
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 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🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
meng-114/dsh-settings-nav-collapse
一键把设置导航折成图标轨道,窄屏正文重新可读
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目