前言¶
DSH 的 Web GUI 通常運行在瀏覽器標籤頁裏。做本地開發時,一邊查看運行狀態,一邊在編輯器裏改代碼,經常要來回切換標籤頁。dsh-pip 針對這個場景:它提供一個浮動按鈕,把當前 Web UI 從標籤頁移到一個始終置頂的 Document Picture-in-Picture 窗口,再一鍵移回標籤頁。
下面介紹它的定位、安裝方式、配置項和使用邊界。
這是什麼¶
dsh-pip 是由 extension-hunter 維護的 DSH 插件,許可證爲 MIT。它安裝在 web profile 上,依賴該 profile 通過 @deepseek-ai/dsh-host-webserver 提供的 webServer 服務。點擊“獨立窗口”後,插件會把應用根節點 #root 連同樣式和主題移入新窗口,而不是生成截圖。
核心功能¶
- 一條命令安裝:安裝命令是
dsh plugin --profile web add dsh-pip;包內帶 bundle patch,並自動掛載插件行。 - 零配置:重啓
dsh web後,Web UI 中出現浮動的“獨立窗口”按鈕。 - 分離整個應用:點擊按鈕後,當前活動應用
#root與樣式、主題一起移動到 always-on-top 窗口。 - 默認窗口尺寸:窗口默認按當前標籤頁的 viewport 尺寸打開;也可以在配置中固定
width和height。 - 返回標籤頁:關閉窗口,或點擊窗口中的“返回標籤頁”,應用會回到原瀏覽器標籤頁。
- 瀏覽器限制:要求 Chromium 116+,例如 Chrome 或 Edge;Safari 和 Firefox 不顯示按鈕。
安裝與啓用¶
先安裝插件:
dsh plugin --profile web add dsh-pip
然後重啓 dsh web。打開 Web UI 後,會出現“獨立窗口”按鈕。
如果需要安裝本地未發佈路徑,可以用:
dsh plugin --profile web add file:/path/to/dsh-pip
更新和移除分別使用:
dsh plugin --profile web update dsh-pip
dsh plugin --profile web remove dsh-pip
典型用法¶
1、打開已重啓的 dsh web 頁面。
2、點擊浮動的“獨立窗口”按鈕。
3、應用進入 always-on-top 窗口,可放在編輯器旁邊查看。
4、關閉窗口,或點擊窗口中的“返回標籤頁”。
5、應用回到原瀏覽器標籤頁。
配置¶
默認 enabled 爲 true,不配置 width 和 height 時,窗口尺寸跟隨當前標籤頁 viewport。
如需覆蓋,修改 profile 配置文件:
~/.dsh/profiles/web/cordis.patch.yml
- id: pip
config:
enabled: true
width: 1280
height: 800
width 和 height 是提示值;Chromium 會把窗口限制在可用屏幕範圍內,因此瀏覽器處於最大化狀態時,分離窗口可能略小。
如需關閉插件:
- id: pip
disabled: true
適用場景與注意¶
適合已經運行 dsh web、只希望在瀏覽器標籤頁之外查看 Web UI 的場景。它不改變現有服務生命週期,只增加一個分離窗口按鈕。
使用前注意:
- 插件以當前
dsh進程權限運行。安裝前應檢查源碼和許可證。 - 僅支持 Chromium 116+;Safari 和 Firefox 中不會出現按鈕。
- Portal 渲染的界面元素,例如菜單、模態框、toast、hover card,會留在原標籤頁;分離期間可能不可見。
- 原標籤頁中的全局
window/document監聽器仍會在原標籤頁觸發。 - 依賴
webprofile 提供的webServer服務,具體由@deepseek-ai/dsh-host-webserver提供。
結尾¶
dsh-pip 的價值在於改動面小:保留現有 dsh web 環境和配置,只增加一個可分離、可返回的 Web UI 窗口。項目源碼見 GitHub:https://github.com/extension-hunter/dsh-pip