dsh-plugin-settings-float:可拖拽、可縮放的設置浮窗

前言

在 DeepSeek Harness(DSH)裏改設置時,原生界面是居中模態框加全屏遮罩:對話被蓋住,窗口也不能拖走。若你一邊對照聊天記錄一邊調插件或模型參數,只能反覆關設置、再打開,效率很低。下面介紹社區插件 dsh-plugin-settings-float(維護者 xuanyang905,分類:客戶端):在不改上游 bundle 的前提下,把同一套設置 React 樹從模態裏「抬」成可拖動、可改大小的浮窗,去掉遮罩後聊天仍可看、可點。

這是什麼

dsh-plugin-settings-float 是 DSH 客戶端插件(版本 0.1.0,MIT)。它針對當前 DSH 設置外殼做 DOM 層增強:不修改官方打包產物;若 DSH 升級改了設置頁 markup,插件可能不再生效,設置頁會退回原生居中模態——作者將其定位爲便利層,而非 fork。

倉庫:GitHub - xuanyang905/dsh-plugin-settings-float
目錄頁:SkillHub 插件頁

核心功能

已覈實能力如下(均來自項目 README):

  • 可拖動:抓住導航標題或內容區標題,把窗口移到任意位置。
  • 八向縮放:上、下、左、右四條邊與四個角均可拖;對邊保持錨定。
  • 聊天保持可用:去掉深色遮罩, overlay 不再吞指針事件,浮窗後的對話可見且可點擊。
  • 記住幾何:位置與尺寸按瀏覽器 profile 寫入 localStorage(鍵名:dsh.settings-float.pos.v1、dsh.settings-float.size.v1)。
  • 重置快捷:雙擊標題恢復默認位置(右側、垂直居中);雙擊縮放手柄恢復配置的默認尺寸。
  • 可配置:默認寬高、最小尺寸、總開關、可選「點外側關閉」等,通過 DSH 插件配置卡片暴露。

隱私方面:無網絡請求、無 host 側改動、無遙測;僅上述兩個 localStorage 鍵。

安裝與啓用

1、在指定 profile 下安裝(命令以 README 爲準):

dsh plugin --profile <your-profile> add dsh-plugin-settings-float

2、確認 profile 的 package.json 裏 bundles 已包含該包(從 GUI 插件頁安裝時通常會自動寫入):

"dsh": {
  "profile": {
    "bundles": [ "...", "dsh-plugin-settings-float" ]
  }
}

3、重啓 DSH host。客戶端 bundle 在啓動時組裝,僅刷新頁面不夠。

插件聲明需要 web 能力表面(dsh.client platform web),引擎要求 DSH >=0.2.0-rc.2;README 寫明在 DSH 0.2.1-rc.3(桌面與 web profile 共用同一設置外殼)上驗證過。

典型用法

打開設置後,操作與原生關閉方式(Esc、關閉按鈕)不變,額外支持:

操作 效果
拖動導航標題 / 內容標題 移動窗口
拖動任一邊或角 縮放(受最小尺寸與視口限制)
雙擊標題 位置恢復默認
雙擊縮放手柄 尺寸恢復爲配置的默認值
Esc / ✕ 關閉設置(與原生一致)

配置可在 Settings → Plugins → Settings Float 中改,或在 profile patch 裏寫:

- id: settings-float
  name: dsh-plugin-settings-float
  config:
    enabled: true
    defaultWidth: 760
    defaultHeight: 720
    minWidth: 480
    minHeight: 320
    closeOnOutsideClick: false
配置項 默認 含義
enabled true 爲 false 時使用原生居中模態
defaultWidth / defaultHeight 760 / 720 初始尺寸(用戶改過大小後以個人記錄爲準)
minWidth / minHeight 480 / 320 可拖到的最小寬高
closeOnOutsideClick false 爲 true 時點擊浮窗後的聊天區域會觸發 Escape 關閉設置

適用場景與注意

適合誰:經常在 DSH 裏一邊看對話一邊改設置、調插件配置的開發者或重度用戶;需要 web 客戶端場景。

使用前請知悉:

  • 插件與當前 DSH 進程權限一致,安裝前建議自行查看 源碼與 LICENSE,確認符合你的安全與合規要求。
  • 實現依賴 role="dialog" 及設置頁子結構識別;上游 DOM 大改時可能靜默失效,不會破壞原生設置頁。
  • SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,本文介紹的是社區維護的客戶端增強,非官方應用商店條目。

結尾

dsh-plugin-settings-float 把設置從全屏遮罩模態改成可拖、可縮的浮窗,並用本地存儲記住佈局,適合需要「設置與聊天同屏」的 DSH 使用方式。進一步瞭解實現與開發測試命令見 GitHub README;安裝入口也可從 SkillHub 目錄頁 跳轉倉庫。

羽毛球分组比赛记分
小程序二维码

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

小夜