前言¶
DeepSeek Harness (DSH) 的插件系統允許對客戶端進行擴展。在 Web 配置文件下,編寫器底部的統計行(StatsLine)默認受到 CSS 模塊規則的寬度限制。當在寬屏設備上使用時,較長的統計信息會被截斷,僅顯示部分內容,這影響了信息的完整展示。
dsh-wide-stats-footer 插件旨在解決這一顯示問題,它通過運行時動態發現 CSS 模塊哈希,並應用精確的 CSS 覆蓋規則,移除了統計頁腳的寬度限制,使其能夠跨越完整的編寫器寬度並居中顯示。
插件簡介¶
- 名稱:dsh-wide-stats-footer
- 所有者:thomasvvugt
- 類別:客戶端
- 許可證:MIT
該插件的核心功能包括:
1. 移除編寫器統計頁腳的寬度限制。
2. 使統計行跨越完整的編寫器寬度並居中顯示。
3. 解決寬屏上長統計行被截斷的問題。
4. 通過 CSS 覆蓋精確調整寬度限制和水平內邊距。
5. 運行時動態發現 CSS 模塊哈希以適應 DSH 構建。
6. 降級爲靜默無操作以防破壞 UI。
7. 零 npm 依賴且無安裝腳本。
安裝與啓用¶
安裝此插件需要使用 DSH 的 CLI 工具。
- 執行以下命令安裝插件:
dsh plugin --profile web add github:thomasvvugt/dsh-wide-stats-footer
-
安裝完成後重啓
dsh web。 -
確認插件已加載,運行配置轉儲命令並查找
dsh-wide-stats-footer層:
dsh --profile web --dump-config
- 若需固定版本(例如 v0.1.0),可指定版本號:
dsh plugin --profile web add github:thomasvvugt/dsh-wide-stats-footer#v0.1.0
工作原理¶
DSH 使用 CSS 模塊機制生成帶有哈希前綴的類名(例如 .{hash}_root)。由於構建過程中哈希會發生變化,硬編碼 CSS 選擇器是不可行的。
插件在運行時通過以下方式動態定位目標元素:
1. 掃描 document.styleSheets,查找統計行分隔符規則(通常包含 .{hash}_sep)。
2. 驗證其兄弟元素 .{hash}_root 是否聲明瞭 max-width: var(--dsh-chat-content-width) 限制。
3. 通過 MutationObserver 監聽 DOM 和 <style> 標籤的變化,在 DSH 重新構建或切換主題時重新執行發現邏輯。
一旦發現目標,插件會注入一條 CSS 規則:
.{hash}_root.{hash}_root { max-width: none; padding-left: 0; padding-right: 0; }
該規則使用了雙類選擇器,將特異性提升至 (0,2,0),從而覆蓋 DSH 原始規則 (0,1,0) 的限制。同時保留 text-align: center 和 width: 100%,確保頁腳在容器內居中。
如果未來 DSH 的標記或結構發生改變導致發現失敗,插件會自動降級爲靜默無操作,確保不會破壞原有 UI。
診斷與故障排查¶
插件提供全局診斷對象 window.__WIDE_STATS_FOOTER__ 供開發者檢查狀態。在瀏覽器開發者工具控制台中查看該對象:
{ appliedAt, styleHash, domHash, overrideChars, inlineFixed, lastSyncAt }
常見問題排查:
-
頁腳仍被截斷:
- 檢查
styleHash和domHash。如果兩者均爲null,說明哈希發現失敗,可能是 DSH 版本更新導致標記結構變化,插件已降級爲靜默無操作。 - 檢查
overrideChars。如果爲 0,說明覆蓋規則未生效。 - 檢查
appliedAt。如果爲null,說明插件未運行,請確認已重啓dsh web且dsh --dump-config中包含該層。
- 檢查
-
更新後失效:
- 如果僅在 DSH 更新後失效,通常是 CSS 模塊哈希旋轉。插件支持運行時重新發現,但若標記結構改變,則需降級。
注意事項¶
- 客戶端插件:該插件僅作用於客戶端,無主機端行爲或配置項。
- 版本兼容:基於 DSH 0.1.1-rc.2 構建。
- 性能影響:插件不會減慢應用速度。發現邏輯僅在啓動時運行,且 MutationObserver 僅在 DOM/Style 變化時觸發,無輪詢。
- 主題兼容性:插件使用雙類特異性 (0,2,0),可覆蓋 DSH 原始規則。若自定義主題使用了同等或更高的特異性覆蓋該樣式,則主題優先,這是符合預期的行爲。
結語¶
dsh-wide-stats-footer 爲開發者提供了一種低成本的方式來修復 DSH 客戶端在寬屏下的統計信息顯示問題。通過動態 CSS 發現機制,它保證了在 DSH 版本更新下的兼容性。
該插件可在 SkillHub 插件目錄 查看,源碼位於 GitHub。