前言¶
在 DSH Web 環境中,官方輸入框在達到 336px 後會停止擴展並開始內部滾動,且不提供摺疊控制。當閱讀 AI 回覆並同時編輯長草稿時,展開的輸入框會遮擋大部分聊天內容。本插件修改此行爲,同時保留官方的內容自適應機制,僅收緊 max-height 天花板。
插件介紹¶
dsh-composer-collapse 是一個純客戶端補丁插件,用於管理 DSH Web 編寫器輸入框的高度。它不修改主機文件,僅通過客戶端腳本生效。插件所有者爲 483218131,採用 MIT 許可證。
核心功能¶
插件提供三種高度模式,通過右上角按鈕或鍵盤快捷鍵切換,狀態保存在本地存儲中。
- 自動模式(默認):失焦時摺疊至 72px(3 行),聚焦時展開至 192px(8 行),閱讀時自動摺疊,編輯時自動展開。
- 常駐展開模式:固定高度爲 336px(14 行),與官方默認行爲一致,不自動摺疊。
- 常駐摺疊模式:固定高度爲 72px(3 行),即使聚焦也不展開。
安裝與啓用¶
使用以下命令安裝插件:
dsh plugin --profile web add github:483218131/dsh-composer-collapse
安裝後刷新 Web 頁面以應用更改。
使用方法¶
- 切換模式:點擊輸入框卡片右上角的小箭頭按鈕,循環切換模式(自動 → 常駐展開 → 常駐摺疊 → 自動)。或使用快捷鍵
Alt+Shift+C。 - 本地調參:對於本地
link:安裝,編輯client/client.js頂部的常量(CAP_COLLAPSED、CAP_FOCUSED、CAP_OPEN、TEXT_INSET_RIGHT)以調整高度或佈局參數。
注意事項¶
- 瀏覽器兼容性:焦點判定依賴 CSS
:has()僞類,需要 Chromium 105+ 瀏覽器(Edge/Chrome 2022 及以上)。 - 副作用註冊:所有副作用(樣式注入、DOM 節點、監聽器)必須註冊在
ctx.effect(...)內,否則會被內核回收。 - 佈局重疊:已知在頂部通知欄或附件縮略圖可見時,切換按鈕可能短暫覆蓋其右上角,但雙方點擊均不受影響。
- 鉤子機制:插件使用官方
data-*屬性(如data-composer-card、data-input-scroll)進行定位,不使用 hash 類。
後續¶
該插件通過控制輸入框高度,爲長對話場景提供了更緊湊的閱讀體驗。所有功能均基於本地存儲實現,無跨域或服務端依賴。
GitHub 倉庫:https://github.com/483218131/dsh-composer-collapse