dsh-panel-pins: DeepSeek Harness Sidebar Panel Collapse and Launcher

前言

在 DeepSeek Harness(DSH)里装多了客户端插件后,侧栏会出现大量「面板行」和第三方插件入口。默认布局里,这些条目各占一行,底部 footer 区域也会随插件增多而变长。若只靠手动滚动找入口,或频繁在侧栏与设置页之间切换,日常开发体验会变差。

社区插件 @qdnbd/dsh-panel-pins(仓库 QDNBD/dsh-panel-pins)面向上述场景:把全局面板行与插件入口收进分组启动器,配合持久化的固定/取消固定、紧凑 footer 和独立设置页,在不改写宿主业务逻辑的前提下整理侧栏。下面介绍其定位、能力与安装用法。

这是什么

dsh-panel-pins 由维护者 QDNBD 发布,npm 包名为 @qdnbd/dsh-panel-pins,当前资料中的版本为 0.11.0,许可证 MIT。在 DSH 插件目录中归类为客户端插件;package.json 声明客户端运行于 web 平台,且要求 DSH 版本 >=0.2.0-rc.1 <0.3.0-0。

一句话定位:侧栏面板管理——分组启动器、持久 pin/unpin、可切换的紧凑 footer,以及完整的「面板收纳」设置页。

核心功能

Panels 启动器

侧栏增加与宿主行像素对齐的 Panels 行(带计数徽章)。点击后打开分组、可搜索的菜单:

  • Global panels:完整面板清单(含已固定与未固定);当前打开项高亮;未固定面板可通过临时 pin 的「peek」打开,结束后恢复原有 pin 状态。
  • Plugin entries:自动识别第三方插件入口行(README 说明为结构推导,无硬编码选择器),从菜单打开时触发原始按钮,不改动各插件自有打开逻辑。
  • 菜单内支持搜索与完整键盘导航(输入过滤、↑↓ 移动、Enter 打开、Esc 关闭)。
  • 分组可折叠,折叠状态在菜单重开与应用重启后保留。
  • 悬停行可进行 pin / unpin / to-top 等快捷操作。

Ctrl+K 命令面板

任意位置 Ctrl+K 打开居中命令面板:同一套清单加上快捷命令(收集行、仅图标模式、紧凑 footer、打开 Settings)。README 注明不会劫持宿主文本输入框。

右键与仅图标模式

任意侧栏行可右键:打开、pin、unpin、to-top、keep-in-sidebar 等,支持键盘操作。

Icon-only panel rows 可将面板行收成约 18px 宽的 glyph 列,介于完整行与完全收进菜单之间的折中方案。

固定、置顶与分组折叠

  • pin/unpin 状态持久化;固定项在侧栏,未固定项仍可从菜单到达。侧栏 More 菜单中提供 pin/unpin 相关入口。
  • Top-pinning 可将选定面板置顶(折叠图标轨同样生效);在 Settings 中拖拽排序,实现方式为负 CSS order,避免 DOM 改写与宿主重渲染冲突。
  • 可独立折叠「全局面板行」与「插件入口行」的显示,状态持久化。

默认开启、可关闭的 Compact footer:限制 footer 插件操作区高度(15vh、内部滚动),缩小内联配对 QR、收紧品牌行与 cost-meter。子开关覆盖 QR 缩放、品牌行、cost-meter 及高度滑块。

README 说明:底部 footer 条目本身不会被收进菜单,仅容器高度受限并内部滚动。

Settings → 面板收纳

设置页 Settings → 面板收纳 集中管理:各类开关、四个实时高度滑块(面板列表 / footer / 弹层 / QR 尺寸)、whitelist(按 id 优先存储,便于界面语言切换后仍有效)、带拖拽排序的 pin 管理列表,以及设置导出/导入(剪贴板 JSON)便于换机迁移。

主题

菜单与滚动条使用宿主主题 token(如 --dsw-menu-surface-fill 等),README 称与主题及 dsh-any-background 等插件兼容,无硬编码白/灰。

安装与启用

在 DeepSeek Harness Desktop 中,可通过 Settings → Plugins 从列出该包的插件市场安装 @qdnbd/dsh-panel-pins,或在终端执行:

dsh plugin --profile <your-profile> add @qdnbd/dsh-panel-pins

将 <your-profile> 替换为你的 DSH profile 名称。安装后重启应用。

典型用法

  1. 点击侧栏带计数徽章的 Panels 行 → 在分组菜单中搜索并打开面板或插件入口。
  2. 在任意界面按 Ctrl+K → 使用命令面板与完整清单。
  3. 右键侧栏任意行 → 打开、固定、置顶或保留在侧栏。
  4. 打开 Settings → 面板收纳 → 调整开关、滑块、白名单、pin 顺序,或导出/导入 JSON 配置。

本地状态与配置键

状态保存在 localStorage,键前缀为 dsh-panel-pins:,重启后保留。资料中列出的键含义如下:

Key 含义
rows-hidden-v2 收进启动器的全局面板行
family-collected 收进启动器的插件入口行
icon-only 面板行仅图标(18px glyph)
overlay-groups-folded 启动器菜单内分组折叠记忆
tidy / tidy-qr / tidy-brand / tidy-meter 紧凑 footer 总开关与子项
panel-list-max / foot-max / overlay-max / qr-size 高度上限(vh/px)
whitelist 始终保留在侧栏的条目(panel id 优先)
unpinned / label-id-map pin 状态与 label→id 映射
top 置顶面板 id 有序列表

适用场景与注意

适合侧栏插件与面板较多、希望统一入口、键盘操作和可迁移配置的 DSH 桌面用户。README 平台徽章标注 Windows;引擎字段仍以 package.json 中的 dsh 与 client.platform: web 为准,安装前请对照你的 DSH 版本是否在 >=0.2.0-rc.1 <0.3.0-0 范围内。

DSH 插件在当前 dsh 进程权限下运行,安装前应自行查看 GitHub 源码 与 MIT 许可证,确认符合你的安全与合规要求。社区目录 skillhub.cn 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系。

实现上,插件不对宿主样式表做逐帧改写,切换依赖 class / CSS 自定义属性,README 称可即时切换且减少闪烁。

结尾

dsh-panel-pins 把侧栏面板与插件入口收成可搜索、可固定的启动器,并用设置页与白名单、导出导入补全长期使用的可控性。若你已在用 DSH 0.2.x 客户端生态,可按上文命令安装并在 面板收纳 中微调布局。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye