@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 仓库

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

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

小夜