前言¶
在 DeepSeek Harness Web 界面中,原生的弹窗通常缺乏窗口级的交互能力。调整位置、改变大小或保持弹窗状态,往往需要额外的操作或依赖浏览器窗口管理。dsh-modal-enhancer 旨在解决这一问题。这是一个客户端 Cordis 插件,通过在现有的弹窗 DOM 上注入样式和事件监听,赋予其类似原生窗口的控制能力,且无需修改 Harness 的源代码。
插件定位¶
这是一个客户端插件,专门用于增强 DeepSeek Harness Web GUI 中的所有弹窗。它不依赖 CSS 模块的哈希值,而是通过稳定的可访问性契约 [role="dialog"][aria-modal="true"] 来识别弹窗。这意味着它可以覆盖设置、工作区创建、模型和智能体预设编辑器以及风险确认等各种场景下的弹窗。
核心功能¶
- 拖拽:通过弹窗顶部的专用条带移动弹窗。
- 八向调整大小:支持从四条边和四个角进行调整大小。
- 固定 / 取消固定:固定弹窗后,忽略窗口外的点击;弹窗的关闭按钮和
Escape键依然有效。 - 最大化 / 还原:使弹窗填满视口(带少量外边距),或还原到之前的大小。
- 移除背景:移除遮罩层和背景模糊,同时保留弹窗的阴影以维持视觉隔离。
- 持久化状态:弹窗的位置、宽度、高度、最大化状态、固定状态和背景状态会在重新挂载和浏览器重启后保留。
- 总开关:可以在“设置 → 通用 → 弹窗增强”中启用或禁用该增强器。
安装与启用¶
- 使用官方命令安装插件:
dsh plugin --profile web add github:lisniuse/dsh-modal-enhancer
- 安装完成后,重启
dsh web。 - 在 DeepSeek Harness 界面中,进入“设置 → 通用 → 弹窗增强”,开启开关即可。
典型用法¶
- 移动:按住弹窗顶部的拖拽条移动。
- 调整大小:拖拽四条边或四个角。
- 切换外部点击关闭:点击弹窗上的图钉图标。
- 最大化/还原:使用
⛶或❐按钮。 - 移除/恢复遮罩:使用
◐或◌按钮。
适用场景与注意¶
- 适用人群:需要频繁调整弹窗布局、希望在多显示器间移动弹窗,或希望移除背景干扰的开发者。
- 环境要求:需要 Node.js 18 或更高版本。
- 部署特性:无需修改 Harness 源码,无需
pnpm install、Web 应用重新构建或服务器重启。插件直接通过dsh bundle.patch机制挂载。 - 状态管理:状态存储在浏览器的
localStorage中,键名前缀为dshme.dialog-state.v1:。 - 清理机制:禁用或卸载插件后,注入的控件、样式和几何属性会被移除,但保存的状态会保留,以便下次启用时恢复。
结语¶
dsh-modal-enhancer 通过简单的配置即可显著提升 DeepSeek Harness Web 界面的可用性。对于追求交互效率的用户,这是一个值得安装的工具。