前言¶
在 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 界面的可用性。對於追求交互效率的用戶,這是一個值得安裝的工具。