DeepSeek Harness 的 Web UI 在窄視口下通常需要特定的適配。此插件提供了一套標準的窄視口行爲,包括抽屜側邊欄、手勢控制和自定義瀏覽器標籤頁標題。它替代了手動修補 dsh-client-ui-layout 編譯包的做法,該做法在每次依賴更新後都需要重新應用,且容易在上游構建更改哈希類名時靜默失效。
核心功能¶
- 抽屜側邊欄:當視口寬度低於閾值時,網格佈局收縮爲單列,側邊欄浮動在對話上方,而不是擠壓內容。背景帶有遮罩層,左上角有漢堡菜單按鈕。
- 方向感知滑動手勢:向右滑動打開側邊欄,向左滑動關閉。此行爲替代了舊補丁中任一方向均可切換的行爲。
- 瀏覽器標籤頁標題自定義:標籤頁標題讀取爲
DSH · <hostname>,以便在標籤欄中區分不同的部署。它通過MutationObserver監聽<title>元素,以保持與 Shell 自身會話標題投影的一致性。 - 組與葉子節點的交互:點擊可展開的組會保持抽屜打開;點擊葉子節點則會像正常導航一樣關閉抽屜。
安裝¶
該插件暫未發佈在 npm 上,直接從 GitHub 安裝。
dsh plugin --profile web add github:ghbhiee/dsh-plugin-mobile-shell
配置¶
在插件配置中指定窄視口閾值和標題模板。
- id: mobile-shell
config:
narrowMaxWidth: 1440 # 當幀寬等於或低於此值時,抽屜接管佈局
documentTitle: 'WB · {host}' # 留空則保留 Shell 自身的會話標題
客戶端條目無法直接讀取行配置,因此瀏覽器端通過小型 Host 路由請求這些配置。如果無法獲取,則使用默認值(1023px / DSH · {host})。
行爲說明¶
- 全局手勢監聽:滑動手勢監聽整個文檔,因此在可滾動區域內進行水平拖動仍然可能移動抽屜。
- 已移除的調整:“回收垂直內邊距”的調整已被移除,因爲舊補丁依賴於編譯後的 CSS-Module 類名,這些類名在當前構建中有多個變體,且可能在下次上游發佈時失效。中心列現在獲得頂部內邊距,以防止漢堡菜單覆蓋內容。
此插件通過標準化行爲並消除對脆弱的手動補丁的依賴,簡化了 DeepSeek Harness Web UI 的移動端體驗。
GitHub 倉庫:ghbhiee/dsh-plugin-mobile-shell
插件目錄:SkillHub