dsh-chat-width:DSH Web GUI 自適應聊天寬度插件

前言

在 DSH Web GUI 中,當側邊欄摺疊時,中間聊天列的寬度被硬編碼爲 748px (--dsh-chat-content-width: 748px)。這導致在大屏幕上出現不必要的空白邊距。此外,歷史消息氣泡和統計行也有固定的寬度限制(525px 和 620px)。dsh-chat-width 插件通過注入覆蓋這些 CSS 變量的 CSS 解決了這個問題。

插件介紹

這是一個 DSH Web GUI 插件,由 AnakinCao 維護。它使聊天內容列適應屏幕分辨率,解決了側邊欄摺疊時寬度保持固定的痛點。

功能特性

  • 屏幕自適應:使聊天內容列適應屏幕分辨率(從 748px 變寬)。
  • 側邊欄摺疊處理:當側邊欄摺疊時,擴展中間區域。
  • CSS 變量覆蓋:覆蓋 CSS 變量 --dsh-chat-content-width。
  • 佈局擴展:覆蓋歷史消息氣泡固定寬度限制(525px)和統計行固定寬度限制(620px)。
  • 動態調整規則:默認規則爲 max width = min(100%, clamp(900px, 72vw, 2560px))。

安裝

推薦使用以下命令安裝:

dsh plugin --profile web add https://github.com/AnakinCao/dsh-chat-width.git

安裝後請重啓 dsh web。

如果需要不重啓的方式,可以手動掛載:
1. 在 ~/.dsh/profiles/web/cordis.patch.yml 中追加以下內容:

- insert:
    - id: dsh-chat-width
      name: 'dsh-chat-width'
  1. 將倉庫內容放置在 ~/.dsh/profiles/web/node_modules/dsh-chat-width/ 下。

請選擇一種安裝方法,不要重複掛載。

使用方法

插件提供了兩種調整寬度的方式。

代碼調整

編輯 lib/client.js 頂部的三個常量。DSH 客戶端 HMR 會熱更新更改(約 0.5 秒),無需重啓:

  • ADAPTIVE_RATIO(默認 0.72)——視口寬度的比例
  • MIN_WIDTH(默認 "900px")——下限
  • MAX_CAP(默認 "2560px")——上限(4K+ 可提高此值)

控制台調整

也可以從瀏覽器控制台強制設置固定寬度(刷新後生效):

localStorage.setItem('dsh-chat-width.max', '1920px') // 固定 1920px
localStorage.removeItem('dsh-chat-width.max')        // 恢復自適應

頁面加載時,控制台會打印當前視口和寬度規則。

注意事項

  • 依賴環境:需要 DSH 0.1.0-rc.6 web profile client plugin system。
  • 選擇器兼容性:使用 [data-phase] 選擇器以確保在對話包更新(哈希類名變更)後依然有效。
  • 入口文件:主入口 lib/index.js 是一個佔位符,由加載器掛載。
  • 許可證:MIT。
  • 生態說明:本插件與 DeepSeek 或幻方無官方從屬關係,僅作爲社區目錄中的獨立項目存在。

總結

該插件解決了 DSH Web GUI 在大屏幕下佈局不緊湊的問題,通過動態計算寬度,讓界面在不同分辨率下都能獲得更好的利用率。

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

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

小夜