dsh-mobile-layout

DeepSeek Harness (DSH) 的插件化架構允許在運行時擴展功能。dsh-mobile-layout 是一個客戶端插件,專注於解決 DSH Web 在移動設備上的體驗問題。桌面端佈局在手機上往往顯得擁擠或難以使用,該插件通過一套機制修復了這些問題。

該插件由用戶 crwsr124 維護,提供移動端閱讀佈局、極光玻璃換膚、文件瀏覽器頁籤以及歷史加載 abort 錯誤自愈能力。它是一個零依賴插件,安裝後即可在手機上提升 DSH Web 的可用性。

移動端閱讀佈局

當屏幕寬度小於 1024px 時自動生效。側欄變爲抽屜模式,會話區佔滿全寬。正文與標題的字體密度收縮,表格支持橫向觸摸滾動,長詞自動換行。輸入框在閱讀態上滑時會自動收起,點擊消息文字即可顯示並聚焦;設置面板在手機上改爲橫排佈局,內容區獨立滾動。

換膚

提供玻璃/半透明模式,表面不透明度可調。內置極光背景,包含藍紫、暖陽、青綠和墨色四套預設,配合彩色光斑與電影顆粒質感。支持自定義背景圖片或相冊選圖。文字顏色會根據背景明暗自動切換深淺主題,確保對比度。氣泡、代碼塊和滾動條支持透明化效果。

文件瀏覽器

文件根目錄自動跟隨當前會話所屬的工作區。同一工作區內切換會話時,列表和滾動位置會被緩存保留,不會刷新。支持 md、代碼、圖片和 PDF 預覽。下載走獨立流式端點,不受預覽大小限制。客戶端只傳遞 sessionId,路徑解析在服務端完成,拒絕跨工作區逃逸。

上傳文件

側邊欄底部新增上傳按鈕,支持多選。文件上傳到當前工作區的 <workspace>/upload 目錄。文件名禁止路徑穿越,同名文件會自動追加序號。默認單文件上限爲 500MB,可通過配置調整。上傳過程中有實時狀態卡顯示進度與結果。

穩定性增強

歷史加載時若發生 abort 錯誤,系統會自動重試癒合。在移動端新建空白會話時,會強制恢復輸入框顯示,防止因 body 級收起狀態導致的輸入區殘留。

安裝與啓用

安裝命令如下:

dsh plugin --profile <name> add github:crwsr124/dsh-mobile-layout

首次安裝後需要重啓一次 dsh web 進程。

配置

上傳文件的大小限制可通過配置修改:

- id: dsh-mobile-layout
  config:
    uploadMaxBytes: 524288000

注意事項

  • 會話軌跡在手機上無法打開,這是 app shell 框架的限制,CSS 無法干預。
  • 上傳路由沒有內置認證,若公網部署,需配合 nginx basic auth 等外部防護。
  • 在老內核瀏覽器上,毛玻璃模糊效果不可用,但透明與背景仍能正常顯示。
  • 若使用反向代理(如 nginx)部署,上傳大文件需要在網關側放開 client_max_body_size 限制。

這是一個輕量級的客戶端增強方案,適合需要在手機上頻繁使用 DSH 的開發者。更多細節與源碼可參考 GitHub 倉庫。

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

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

小夜