better-er/dsh-mobile-drawer:窄屏下的側欄優化

前言

DeepSeek Harness (DSH) 的插件化架構允許針對特定場景定製行爲。在移動端或窄屏瀏覽器中使用 DSH Web 界面時,默認的側欄會佔用寶貴的顯示空間,且切換會話時的自動聚焦會觸發軟鍵盤,導致頁面被頂起,遮擋對話內容。better-er/dsh-mobile-drawer 針對這一場景進行了調整,將側欄在窄屏下收起爲懸浮方塊,並壓制自動聚焦行爲。

插件介紹

這是一個客戶端插件,由 betterer 維護,採用 MIT 許可證。它的核心價值在於將 DSH Web 界面的側欄在窄屏下重構爲覆蓋式抽屜,通過自動收起和聚焦壓制,提升移動端瀏覽體驗。

核心功能

插件僅在視口寬度小於 1024 像素時生效,寬屏下完全不會介入。

  1. 懸浮方塊與覆蓋抽屜

    • 收起態:側欄被壓縮爲零寬,中央區域佔據整幅寬度,左上角出現一個 44 像素的懸浮方塊。
    • 展開態:點擊方塊展開側欄,此時側欄變爲 280 像素寬的覆蓋式抽屜,覆蓋在對話之上,右側有遮罩層。
  2. 自動收起與聚焦壓制

    • 自動收起:在抽屜中點擊任意會話行,側欄會自動收起,把屏幕還給對話。點擊行內的更多按鈕不觸發此行爲。
    • 聚焦壓制:插件會壓制緊隨會話點擊後的自動聚焦行爲,持續約 1.5 秒,防止軟鍵盤彈出頂起頁面。如果用戶主動點擊輸入框,壓制立即解除。
  3. 移動端按鍵增強
    在輸入框右上角提供了一排手機鍵盤上沒有的按鍵,目前包括 Shift、Ctrl 與 Tab。

    • Tab:在輸入 / 或 @ 時觸發菜單補全,否則在光標處插入製表符。
    • Shift / Ctrl:爲粘滯修飾鍵。點擊一下鎖定、再點取消。鎖定狀態下按回車分別執行換行與發送。

安裝

使用官方安裝命令添加插件:

dsh plugin --profile web add github:better-er/dsh-mobile-drawer

也可以從 npm 安裝(包含構建產物,無需現場構建):

dsh plugin --profile web add dsh-mobile-drawer

安裝後重啓 DSH Web 即可生效,無需手工編輯文件。

典型用法

  1. 使用 Edge 或手機瀏覽器打開 DSH Web。
  2. 將窗口寬度縮至 1024 像素以下(或在手機上訪問),左上角會出現懸浮方塊。
  3. 點擊方塊展開抽屜,點擊任一會話,側欄自動收起。
  4. 在輸入框右上角可以看到新增的 Shift、Ctrl、Tab 按鍵。

注意事項

  • 生效條件:所有行爲僅對視口寬度小於 1024 像素的設備生效。
  • 無原生修改:插件爲純瀏覽器端插件,不修改任何原生界面與內置樣式。
  • 圖標依賴:懸浮方塊圖標直接克隆內置收起欄的鯨魚標記,若無法獲取內置圖標,方塊將不顯示,收起態的佈局副作用也會一併跳過。

總結

該插件通過 DOM 副作用而非修改原生樣式,解決了窄屏下側欄遮擋和軟鍵盤頂起頁面的問題。對於需要在移動端頻繁查看對話內容的用戶,這是一個實用的工具。

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

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

小夜