DSH 浮窗设置:把设置弹窗拖走,会话照常可用

前言

DeepSeek Harness(DSH)桌面端里,侧栏底部的「设置」会以居中模态框打开:遮罩盖住后面的会话,改配置时往往没法同时对照对话内容或点界面上的其它控件。社区插件 dsh-settings-float(维护者 xk150424)只做一件事:把官方设置面板改成可拖动的浮窗,遮罩不再拦截点击,位置记在浏览器本地,下次打开还在原位。下面介绍它是什么、怎么用,以及安装前需要知道的限制。

这是什么

dsh-settings-float(显示名:DSH 浮窗设置)是 DSH 的纯客户端插件,分类属于客户端 UI 增强。它不修改官方源码、不读写文件、不发网络请求,通过 Cordis patch 在 Web 端注入样式与拖动逻辑,锚定运行版自带的 div[data-shortcut-modal="settings"]。

卸载后样式、拖动监听和位置变量会全部撤掉,界面恢复官方居中弹窗。

核心功能

资料中已核实的能力如下:

  1. 浮窗而非全屏遮罩:点「设置」后,面板以带阴影的固定尺寸浮窗呈现(880×640),外层 overlay 透明且 pointer-events: none,后面的会话仍可点击、滚动。
  2. 拖动:按住面板顶部拖动——标题区,或左侧分类栏的上半部。位置写入 CSS 变量 --dsh-sf-x / --dsh-sf-y,并持久化到 localStorage。
  3. 边界策略:顶部必须留在视口内(压在约 8px 边距上),避免拖出屏幕后无法再抓住标题区;左右和底部允许部分拖出屏幕,但保证面板至少还有 80px 露在屏幕内。
  4. 分辨率变化:若 localStorage 里存的位置在换分辨率或缩窗口后已超界,加载时会先钳制到可用范围再应用。
  5. 关闭方式:面板右上角关闭键,或按 Esc;与官方一致。遮罩隐藏后,官方「点外面关闭」的行为不再存在。
  6. 兼容性说明:README 记载在 DSH 0.2.1-rc.2 桌面端实测通过;不依赖 CSS Modules 哈希类名,只依赖上述 data-shortcut-modal 属性。

安装与启用

从 GitHub 安装(命令来自项目 README):

dsh plugin --profile desktop add github:xk150424/dsh-settings-float

或从本地目录安装:

dsh plugin --profile desktop add /abs/path/to/dsh-settings-float

装完后需要重启 DSH——新增的插件行不会热加载;客户端代码在刷新页面后注入。

插件以当前 DSH 进程权限运行;安装前建议在 GitHub 查看源码与 MIT 许可证(package.json 版本为 0.1.0)。

典型用法

经过上面的安装与重启步骤后,用法与官方设置入口相同,无需额外配置项:

  1. 打开 DSH 桌面端,在侧栏底部点击「设置」。
  2. 在浮窗顶部(或左侧分类栏上半部)按住拖动,把面板挪到不挡会话的位置。
  3. 在浮窗后方继续操作对话或界面;改完设置后用关闭键或 Esc 关闭面板。

下次再打开设置,位置会沿用上次的 localStorage 记录(在边界钳制规则内)。

适用场景与注意

适合谁:经常在改 DSH 设置的同时对照会话、或希望设置面板不挡主工作区的桌面端用户。

已知限制(均来自 README):

  • 官方若改掉 data-shortcut-modal="settings",插件会失效;失效时仅回到官方弹窗,不会破坏 DSH。
  • 尺寸固定,暂不支持拖拽缩放。
  • 无遮罩拦截后,需用关闭键或 Esc 关面板,不能靠点外面关闭。

DSH 生态理念是「一切皆插件」;社区目录站点与 DeepSeek / 幻方无官方从属关系,本文仅介绍该开源插件本身的行为与安装方式。

链接

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

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

小夜