dsh-pin:为 DSH 侧栏补上工作区与插件面板的置顶

前言

DeepSeek Harness(DSH)侧边栏里,工作区只能靠拖拽调整顺序,没有「常用项固定在顶部」这一层;插件面板行的顺序也随注册顺序固定,没法把经常用到的面板拎到最上面。插件多、工作区多时,每次都要在列表里找,成本不高但会重复发生。

下面介绍社区插件 @polunzh/dsh-pin:在 Web 桌面侧栏为工作区行和插件面板行增加置顶按钮,状态可持久化,取消置顶时尽量回到原来的位置。

这是什么

dsh-pin 由维护者 polunzh 发布,归类为客户端插件(dsh.client.platform 为 web)。它解决两类问题:

  1. 将指定 Workspaces 下的工作区行固定到列表顶部(多枚置顶时,最近置顶的在最前)。
  2. 将侧栏中的插件面板行(第三方面板、Plugins、Automation tasks 等)固定到面板区域顶部,其余面板仍按注册顺序排列。

主机端(host)侧为无操作实现;逻辑集中在 lib/client.js。

与 DSH 自带能力的对比

能力 DSH 内置 dsh-pin 增加
工作区顺序 仅拖拽 可置顶到顶部
工作区置顶状态 无 持久化,取消时尽量还原到原槽位
Session 置顶(pinnedSessionIds) 有 不改动
面板 order 注册时固定 可置顶,顺序按浏览器本地记录

核心功能

工作区置顶

鼠标悬停 Workspaces 下任意一行,点击 📌,该行移到顶部。再次点击 📌,或点击已置顶行上常驻的小图钉,即取消置顶;插件会尝试把该行插回原先紧跟其后的那个工作区之前,锚点不存在时落到列表末尾。

工作区顺序通过宿主自带的 workspaces.insertBefore RPC 写入持久注册表,多客户端会对齐。新建工作区默认在注册表头部创建时,插件会监听顺序变化,把仍被置顶项拉回顶部,其余顺序尽量不动。

插件面板置顶

悬停侧栏中任意插件面板行并点击 📌,该行在面板区域内置顶。未置顶的面板保持注册顺序。面板顺序仅作用于 DOM,并记录在本地键 dsh-pin.panels.v1 下;取消置顶时按注册时的槽位恢复。

实现上通过 MutationObserver 在 React 重渲染后重新注入按钮,并重放面板顺序。按钮为 24×24 点击区域,样式贴近原生行按钮,且不会误触展开或折叠背后的工作区文件夹。已置顶行会常驻显示图钉,无需悬停即可辨认状态。

持久化与调试

置顶状态在重载页面、重启 DSH 后仍保留。调试时可使用 window.__dshPin(如 workspaceOrder()、panelPins、lastError、reassertPins())。

安装与启用

在资料给出的命令下,为 desktop 配置档安装 npm 包:

dsh plugin --profile desktop add @polunzh/dsh-pin

README 还提到可用 github:polunzh/dsh-pin、link:/path/to/dsh-pin,或在 DSH 设置中的插件市场里安装。安装后需重启 DSH 或重载 profile 后生效。

当前 package.json 版本为 1.0.4,许可证 MIT。插件以当前 DSH 进程权限在浏览器侧运行,安装前建议自行查看 GitHub 仓库 源码与许可证。

典型用法

  1. 固定常用工作区:悬停目标工作区行 → 点击 📌 → 该工作区出现在 Workspaces 列表顶部。
  2. 固定常用面板:悬停侧栏插件行 → 点击 📌 → 该面板在面板区顶部;多枚置顶时以最近操作为准排在更前。
  3. 取消置顶:再次点击行内 📌,或点击已置顶行上的常驻图钉。

注意:先置顶再往下拖拽,置顶项会被拉回顶部;若需改变相对位置,应先取消置顶。

适用场景与限制

适合:长期通过 DSH Web GUI 或桌面 Web 层使用侧栏的用户,希望把少数工作区或面板固定在顶部以减少查找。

不支持或需注意:

  • 仅 Web GUI / 桌面 Web 层;TUI 无侧栏,无法使用。
  • Ungrouped 不是真实工作区,不能置顶。
  • 工作区顺序在 host 全局;面板置顶顺序 按浏览器 分别保存。
  • 已置顶工作区若被拖拽下移,会弹回顶部,需先 unpin。
  • 依赖内部 DOM(如 data-row-key、panelRow、React fiber),DSH 大版本升级后选择器失效时,按钮可能不可用,需等待插件更新。
  • 社区目录 SkillHub 插件页 与 GitHub 为独立信息源;与 DeepSeek / 幻方无官方从属关系。

结尾

@polunzh/dsh-pin 在不大改 DSH 自带 session 置顶与面板注册模型的前提下,补上了工作区与侧栏插件面板的「置顶到顶部 + 取消时尽量还原」能力。若你主要在桌面 profile 里用侧栏,可按上文命令安装,并在使用前确认源码与权限边界。

  • 目录页:https://www.skillhub.cn/plugins/polunzh/dsh-pin
  • 源码与说明:https://github.com/polunzh/dsh-pin
羽毛球分组比赛记分
小程序二维码

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

小夜