在使用 DSH Web 開發聊天界面時,輸入框周邊往往堆疊着大量插件控件。手動管理這些控件不僅佔用屏幕空間,還容易導致佈局錯亂。dsh-composer-dynamic-island 插件通過一種緊湊的“向上擴展島”模式,將選定的控件摺疊起來,在不移動 DOM 節點或更改宿主 React 樹的前提下,保持界面整潔。
這是什麼¶
這是一個由 says693 維護的 DSH 客戶端插件。它爲 DSH Web 提供了一個兼容 Community v0.15 的宿主面,並附帶一個可選的 Web 適配器。插件的核心功能是將選定的控件自動摺疊進一個向上擴展的島中,而不是將其移出原位。
核心功能¶
- 摺疊與展開:將選定的控件摺疊成向上擴展的島。
- 節點無侵入:不移動 DOM 節點,也不改變宿主的 React 樹結構。
- 自動發現:自動檢測活躍的 DSH 輸入或作曲家表面中的原生控件和貢獻。
- 手動選擇:支持通過工具欄手動選擇加入(Opt-in)控件。
- 持久化配置:配置存儲在瀏覽器的本地存儲中。
安裝與啓用¶
使用官方安裝命令添加插件:
dsh plugin add github:says693/dsh-composer-dynamic-island
安裝後,插件將自動嘗試發現並摺疊界面上的控件。
典型用法¶
- 更改檢測到的控件:打開 DSH 設置,選擇
輸入靈動島菜單項,在彈出的列表中選擇需要摺疊的控件。 - 交互操作:
- 打開:鼠標懸停或聚焦島頂部的三點手柄。
- 固定:在觸摸設備上點擊島可將其固定。
- 關閉:鼠標移開或按下
Escape鍵可關閉島並恢復焦點。
選擇操作會立即生效,並且配置會保留在瀏覽器的本地存儲中。
適用場景與注意¶
該插件適合希望簡化 DSH Web 界面、減少視覺雜亂的場景。
- 權限與隱私:插件聲明權限爲
none,不發起網絡請求,也不訪問文件系統。它僅讀取瀏覽器本地存儲中的配置狀態和控件標識符,不讀取對話內容、模型提供商設置、API 密鑰或任何憑據。 - 兼容性說明:Community v0.15 的元數據是社區草稿兼容性聲明,並非官方 DSH 認證。可選的 Web 適配器必須在每個支持的 DSH Web 主機上單獨測試。
- 功能限制:插件不提供拖放功能、座標存儲或任何用戶可見的按鈕位置編輯器。面板位置是根據其固定的作曲家觸發器計算的。
如果需要卸載,請從配置文件中移除 dsh-composer-dynamic-island,然後重啓 DSH。瀏覽器中的配置數據默認會被保留,除非手動刪除本地存儲鍵 dsh-composer-dynamic-island-config-v1。
短結尾¶
該插件提供了一種輕量級的方式來管理 DSH Web 界面控件,通過摺疊和配置存儲,實現了界面佈局的簡化。更多細節與源碼可參考 GitHub 倉庫。