前言¶
DSH Web GUI 的聊天顯示區寬度由 CSS 變量 --dsh-chat-content-width 決定,出廠值硬編碼爲 748px。聊天列、輸入框、提問卡片都消費這個變量;在寬屏窗口下,內容區會顯得偏窄。
LessXi/dsh-fluid-width 針對這個問題,把該變量覆蓋爲 min(100%, 2000px):顯示區隨窗口流動,默認保留 2000px 封頂,也可以改成完全流式。
這是什麼¶
LessXi/dsh-fluid-width 是面向 DSH Web GUI 的佈局插件,由 LessXi 維護,許可證爲 MIT。
它運行在 dsh web 的 client 半區,調整聊天顯示區寬度;插件沒有 host 職責。
核心功能¶
- 將 CSS 變量
--dsh-chat-content-width覆蓋爲min(100%, 2000px)。 - 聊天列、輸入框、提問卡片自動跟隨寬度。
- 側邊欄和右側面板寬度不受影響。
- 靜態覆蓋與
MutationObserver版本無關重寫互爲兜底。 - 零依賴且無
prepare構建腳本。 - 可自定義
MAX_WIDTH_PX,也可改爲100%以完全流式。
安裝與啓用¶
執行:
dsh plugin --profile web add github:LessXi/dsh-fluid-width
該插件零依賴且無 prepare 構建腳本,安裝後不需要手動構建。啓用步驟:
1、重啓 dsh web。
2、刷新瀏覽器頁面。
3、打開任意會話,縮小/拉寬瀏覽器窗口,聊天內容應隨窗口伸縮。
典型用法¶
默認使用¶
安裝後默認寬度約束爲 min(100%, 2000px):窗口變寬時內容區擴大,超過 2000px 時保留封頂。
調整寬度上限¶
編輯 lib/client.js 頂部的常量:
const MAX_WIDTH_PX = 2000;
可按需要調整:
- 改成
100%(連同上面的拼接)可完全流式,無任何封頂。 - 改小(如
1200)可讓內容重新收斂。
卸載¶
執行:
dsh plugin --profile web remove dsh-fluid-width
然後重啓 dsh web。
適用場景與注意¶
適合使用 dsh web、希望聊天顯示區更貼合窗口寬度的用戶。
需要注意:
- 靜態覆蓋依賴當前版本 conversation 根節點的 CSS class(
.hlCKXq_root)。 - 若 DSH 升級後該 class 變化,且官方樣式改用非
px字面量定義,兩條路徑都失效時,把ROOT_CLASS更新爲新的 class 即可。 - 本倉庫按 DSH bundle 契約分發(
dsh.bundle.patch→cordis.patch.yml),無需手動編輯 profile 的cordis.patch.yml。 - 插件以當前
dsh進程權限運行,安裝前應檢查源碼與許可證。
結尾¶
LessXi/dsh-fluid-width 的價值,是把 DSH Web GUI 的聊天顯示區從固定寬度改爲自適應寬度:默認 min(100%, 2000px),可按需改爲完全流式或更小上限。
- DSH 社區目錄頁:按名稱
dsh-fluid-width檢索(獨立站點,非官方應用商店) - GitHub:https://github.com/LessXi/dsh-fluid-width