前言¶
DeepSeek Harness(DSH)桌面端里,侧栏底部的「设置」会以居中模态框打开:遮罩盖住后面的会话,改配置时往往没法同时对照对话内容或点界面上的其它控件。社区插件 dsh-settings-float(维护者 xk150424)只做一件事:把官方设置面板改成可拖动的浮窗,遮罩不再拦截点击,位置记在浏览器本地,下次打开还在原位。下面介绍它是什么、怎么用,以及安装前需要知道的限制。
这是什么¶
dsh-settings-float(显示名:DSH 浮窗设置)是 DSH 的纯客户端插件,分类属于客户端 UI 增强。它不修改官方源码、不读写文件、不发网络请求,通过 Cordis patch 在 Web 端注入样式与拖动逻辑,锚定运行版自带的 div[data-shortcut-modal="settings"]。
卸载后样式、拖动监听和位置变量会全部撤掉,界面恢复官方居中弹窗。
核心功能¶
资料中已核实的能力如下:
- 浮窗而非全屏遮罩:点「设置」后,面板以带阴影的固定尺寸浮窗呈现(880×640),外层 overlay 透明且
pointer-events: none,后面的会话仍可点击、滚动。 - 拖动:按住面板顶部拖动——标题区,或左侧分类栏的上半部。位置写入 CSS 变量
--dsh-sf-x/--dsh-sf-y,并持久化到localStorage。 - 边界策略:顶部必须留在视口内(压在约 8px 边距上),避免拖出屏幕后无法再抓住标题区;左右和底部允许部分拖出屏幕,但保证面板至少还有 80px 露在屏幕内。
- 分辨率变化:若
localStorage里存的位置在换分辨率或缩窗口后已超界,加载时会先钳制到可用范围再应用。 - 关闭方式:面板右上角关闭键,或按
Esc;与官方一致。遮罩隐藏后,官方「点外面关闭」的行为不再存在。 - 兼容性说明: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)。
典型用法¶
经过上面的安装与重启步骤后,用法与官方设置入口相同,无需额外配置项:
- 打开 DSH 桌面端,在侧栏底部点击「设置」。
- 在浮窗顶部(或左侧分类栏上半部)按住拖动,把面板挪到不挡会话的位置。
- 在浮窗后方继续操作对话或界面;改完设置后用关闭键或
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