在使用 DeepSeek Harness 或處理 dsh-ui 表格時,經常會遇到渲染問題:長內容的內聯代碼塊會溢出到下一列,或者爲了容納長文本,表格被迫變寬,導致必須橫向滾動才能查看。adamcjm/dsh-genui-bugfix 插件旨在修復這些特定的渲染問題,使表格佈局更符合預期。
核心功能¶
該插件是一個客戶端插件,主要用於修復 dsh-ui 的表格渲染缺陷:
- 修復渲染問題:解決
dsh-ui表格渲染異常。 - 防止文字溢出:阻止包含內聯代碼的單元格文字溢出到下一列。
- 自動換行:讓長內容在單元格內自動換行,而不是強制表格變寬並要求橫向滾動。
安裝與啓用¶
該插件是 DSH 的一個普通 bundle,需要手動配置 profile 的依賴和 bundle 列表。
- 編輯
~/.dsh/profiles/<profile>/package.json,在dependencies中添加該包:
{
"dependencies": {
"@adamcjm/dsh-genui-bugfix": "^0.1.0"
},
"dsh": {
"profile": {
"bundles": ["…", "@adamcjm/dsh-genui-bugfix"]
}
}
}
- 安裝依賴:
cd ~/.dsh/profiles/<profile> && pnpm install
- 重啓 DSH 應用。DSH 在啓動時加載插件樹,運行中的實例不會自動感知新安裝的 bundle。
技術原理¶
插件通過注入 CSS 規則來覆蓋上游默認行爲。它針對特定的 CSS Modules 類名前綴(如 tableWrap, inlineCode)進行操作,確保在插件升級後規則依然有效。
- 針對內聯代碼:強制使用
white-space: pre !important,防止代碼塊換行導致佈局錯位。 - 針對普通單元格:強制使用
white-space: normal !important和overflow-wrap: anywhere,使內容自動換行。
驗證與注意事項¶
- 驗證:重啓 DSH 後,在瀏覽器控制台檢查:
document.getElementById('dsh-genui-bugfix/table-overflow')
如果返回非空元素,說明插件已生效。
- 注意事項:
- 該插件僅影響包含內聯代碼的單元格,純文本單元格不受影響。
- 插件包含兩條規則,其中“允許單元格換行”的規則(Rule 2)是可選的。如果你更傾向於上游行爲(表格變寬並允許滾動),可以在
lib/client.js中移除相關的 CSS 規則。 - 插件適用於
@changfenhuang/dsh-genui0.11.x 版本,且不需要等待上游發佈即可使用。