前言¶
DeepSeek Harness (DSH) 的插件化架構允許針對特定場景定製行爲。在移動端或窄屏瀏覽器中使用 DSH Web 界面時,默認的側欄會佔用寶貴的顯示空間,且切換會話時的自動聚焦會觸發軟鍵盤,導致頁面被頂起,遮擋對話內容。better-er/dsh-mobile-drawer 針對這一場景進行了調整,將側欄在窄屏下收起爲懸浮方塊,並壓制自動聚焦行爲。
插件介紹¶
這是一個客戶端插件,由 betterer 維護,採用 MIT 許可證。它的核心價值在於將 DSH Web 界面的側欄在窄屏下重構爲覆蓋式抽屜,通過自動收起和聚焦壓制,提升移動端瀏覽體驗。
核心功能¶
插件僅在視口寬度小於 1024 像素時生效,寬屏下完全不會介入。
-
懸浮方塊與覆蓋抽屜
- 收起態:側欄被壓縮爲零寬,中央區域佔據整幅寬度,左上角出現一個 44 像素的懸浮方塊。
- 展開態:點擊方塊展開側欄,此時側欄變爲 280 像素寬的覆蓋式抽屜,覆蓋在對話之上,右側有遮罩層。
-
自動收起與聚焦壓制
- 自動收起:在抽屜中點擊任意會話行,側欄會自動收起,把屏幕還給對話。點擊行內的更多按鈕不觸發此行爲。
- 聚焦壓制:插件會壓制緊隨會話點擊後的自動聚焦行爲,持續約 1.5 秒,防止軟鍵盤彈出頂起頁面。如果用戶主動點擊輸入框,壓制立即解除。
-
移動端按鍵增強
在輸入框右上角提供了一排手機鍵盤上沒有的按鍵,目前包括 Shift、Ctrl 與 Tab。- Tab:在輸入
/或@時觸發菜單補全,否則在光標處插入製表符。 - Shift / Ctrl:爲粘滯修飾鍵。點擊一下鎖定、再點取消。鎖定狀態下按回車分別執行換行與發送。
- Tab:在輸入
安裝¶
使用官方安裝命令添加插件:
dsh plugin --profile web add github:better-er/dsh-mobile-drawer
也可以從 npm 安裝(包含構建產物,無需現場構建):
dsh plugin --profile web add dsh-mobile-drawer
安裝後重啓 DSH Web 即可生效,無需手工編輯文件。
典型用法¶
- 使用 Edge 或手機瀏覽器打開 DSH Web。
- 將窗口寬度縮至 1024 像素以下(或在手機上訪問),左上角會出現懸浮方塊。
- 點擊方塊展開抽屜,點擊任一會話,側欄自動收起。
- 在輸入框右上角可以看到新增的 Shift、Ctrl、Tab 按鍵。
注意事項¶
- 生效條件:所有行爲僅對視口寬度小於 1024 像素的設備生效。
- 無原生修改:插件爲純瀏覽器端插件,不修改任何原生界面與內置樣式。
- 圖標依賴:懸浮方塊圖標直接克隆內置收起欄的鯨魚標記,若無法獲取內置圖標,方塊將不顯示,收起態的佈局副作用也會一併跳過。
總結¶
該插件通過 DOM 副作用而非修改原生樣式,解決了窄屏下側欄遮擋和軟鍵盤頂起頁面的問題。對於需要在移動端頻繁查看對話內容的用戶,這是一個實用的工具。