@adamcjm/dsh-genui-bugfix:修復 DeepSeek Harness 表格渲染

在使用 DeepSeek Harness 或處理 dsh-ui 表格時,經常會遇到渲染問題:長內容的內聯代碼塊會溢出到下一列,或者爲了容納長文本,表格被迫變寬,導致必須橫向滾動才能查看。adamcjm/dsh-genui-bugfix 插件旨在修復這些特定的渲染問題,使表格佈局更符合預期。

核心功能

該插件是一個客戶端插件,主要用於修復 dsh-ui 的表格渲染缺陷:

  1. 修復渲染問題:解決 dsh-ui 表格渲染異常。
  2. 防止文字溢出:阻止包含內聯代碼的單元格文字溢出到下一列。
  3. 自動換行:讓長內容在單元格內自動換行,而不是強制表格變寬並要求橫向滾動。

安裝與啓用

該插件是 DSH 的一個普通 bundle,需要手動配置 profile 的依賴和 bundle 列表。

  1. 編輯 ~/.dsh/profiles/<profile>/package.json,在 dependencies 中添加該包:
    {
      "dependencies": {
        "@adamcjm/dsh-genui-bugfix": "^0.1.0"
      },
      "dsh": {
        "profile": {
          "bundles": ["…", "@adamcjm/dsh-genui-bugfix"]
        }
      }
    }
  1. 安裝依賴:
    cd ~/.dsh/profiles/<profile> && pnpm install
  1. 重啓 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-genui 0.11.x 版本,且不需要等待上游發佈即可使用。

插件目錄 | GitHub 倉庫

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

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

小夜