修复表格单元格文字重叠并让长内容自动换行
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/11 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add adamcjm/dsh-genui-bugfix该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 24 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 修复单元格文字重叠
- 长内容自动换行
- 消除横向滚动条
DeepSeek Harness 插件:修复 dsh-ui 表格单元格文字压到下一列,并让长单元格自动换行,不再强制出现横向滚动条。
README
由 DeepSeek 最新模型翻译生成@adamcjm/dsh-genui-bugfix
一个 DeepSeek Harness 插件,修掉 dsh-ui 表格的两个渲染问题:
- 单元格文字不再压到相邻列——就是那串行内代码把文字顶过列边界的问题;
- 超长单元格换行,而不是把表格撑到必须横向滚动。
直接作用于线上发布的 @changfenhuang/dsh-genui 0.11.x,不必等上游发版。上游自己修好之后,本插件仍然无害,卸载即可。
它修的是什么
dsh-ui 表格的单元格默认 white-space: nowrap(插件「数据列不折行」的设计)。而宿主外壳把消息正文渲染在 .markdown 子树里,那张表的两条规则会落到 dsh-ui 的输出上,因为组件渲染在同一个子树内:
.markdown { overflow-wrap: anywhere; } /* 被每个单元格继承 /
.markdown :not(pre) > code { display: inline-flex; } / 每个 chip 变成原子 inline 盒 /
再叠加插件自己的 .inlineCode { white-space: pre-wrap },chip 的自动最小尺寸就会塌缩:列宽可以被算到内容之下,而单元格的 nowrap 又让文字不断行——于是直接画到下一列上。
只有含行内代码的格子会中招。
展开完整文档(README 剩余 1 节)
@adamcjm/dsh-genui-bugfix
一个 DeepSeek Harness 插件,修掉 dsh-ui 表格的两个渲染问题:
- 单元格文字不再压到相邻列——就是那串行内代码把文字顶过列边界的问题;
- 超长单元格换行,而不是把表格撑到必须横向滚动。
直接作用于线上发布的 @changfenhuang/dsh-genui 0.11.x,不必等上游发版。上游自己修好之后,本插件仍然无害,卸载即可。
它修的是什么
dsh-ui 表格的单元格默认 white-space: nowrap(插件「数据列不折行」的设计)。而宿主外壳把消息正文渲染在 .markdown 子树里,那张表的两条规则会落到 dsh-ui 的输出上,因为组件渲染在同一个子树内:
.markdown { overflow-wrap: anywhere; } /* 被每个单元格继承 /
.markdown :not(pre) > code { display: inline-flex; } / 每个 chip 变成原子 inline 盒 /
再叠加插件自己的 .inlineCode { white-space: pre-wrap },chip 的自动最小尺寸就会塌缩:列宽可以被算到内容之下,而单元格的 nowrap 又让文字不断行——于是直接画到下一列上。
只有含行内代码的格子会中招。纯文本格在 nowrap 下 min-content 就等于内容宽度,列宽不可能被算小。
在运行中的 DSH 桌面端页面实测(7 张表格):0.11.4 下 4 张表格、12 个单元格溢出,单格最大 704px。
注入的两条规则
/ 1) 表格里的 chip 不再重新开启断行 —— 这是重叠的根因 / [class="tableWrap"] table [class="inlineCode"] { white-space: pre !important; }
/ 2) 单行数据格改为可换行 —— 长内容不再撑出横向滚动条 / [class="tableWrap"] table td:not([class="tdMultiline"]):not([class="tdCode"]), [class="tableWrap"] table th:not([class="tdMultiline"]):not([class*="tdCode"]) { white-space: normal !important; overflow-wrap: anywhere; }
选择器只用 CSS Modules 的类名前缀(tableWrap / inlineCode / tdMultiline / tdCode),不依赖构建时的哈希,所以插件升级换代也不会失效。
第 2 条是偏好项:删掉 lib/client.js 里那一段,表格就回到上游「更宽 + 横向滚动」的行为。
几何验证
同一套浏览器夹具,801px 容器下:
| 样式 | 表格宽度 | 横向滚动 | 跨列重叠 |
| 上游 0.11.4(未修复) | 1471px | 有 | 4 处,最大 306px |
| 上游 main(#282 修复) | 1777px | 有 | 无 |
| 本插件 | 799px | 无 | 无 |
也就是说:上游的修法让表格更宽、要求你横向滚动;本插件让长内容换行,表格正好贴合对话列宽。
安装
这个插件就是普通的 DSH bundle:在 profile 里加一条依赖,再把它加进该 profile 的 bundle 列表。
从 npm 安装
1. 在 ~/.dsh/profiles/<profile>/package.json 里加上:
{
"dependencies": {
"@adamcjm/dsh-genui-bugfix": "^0.1.0"
},
"dsh": {
"profile": {
"bundles": ["…", "@adamcjm/dsh-genui-bugfix"]
}
}
}
2. 安装:
cd ~/.dsh/profiles/<profile> && pnpm install
3. 重启 DSH 应用。host 侧的插件树是在进程启动时组装的,跑着的实例不会自动认识新的 bundle。
如果 pnpm 因为「最小发布时限」策略拒绝刚发布的版本,把包名加进该 profile 的 pnpm-workspace.yaml 里的 minimumReleaseAgeExclude。
从本地目录安装(开发用)
把版本号换成 link: 路径,例如 "@adamcjm/dsh-genui-bugfix": "link:/path/to/dsh-genui-bugfix",后面两步相同。
验证
重启后,渲染端会多一个样式元素:
document.getElementById('dsh-genui-bugfix/table-overflow') // 非 null 即已加载
肉眼验证:含长行内代码的表格不再有文字压到下一列,且表格宽度贴合对话列宽,而不是出现横向滚动。
不启动 DSH 也能核对两半是否符合 loader 约定:
cd <插件目录> && npm test
卸载
1. 从 profile 的 dependencies 与 bundles 里删掉 @adamcjm/dsh-genui-bugfix;
2. pnpm install;
3. 重启 DSH。
与上游修复的关系
- 上游 main 已经修了重叠本身(PR #282,尚未发版)。本插件的第 1 条规则与它效果一致、可以共存——都让 chip 保持 white-space: pre。
- 上游的浏览器夹具抓不到这个回归:它的跨列断言恒真,因为夹具把表格渲染在宿主 .markdown 级联之外。相关缺口见 issue #285 与 PR #286。
结构
@adamcjm/dsh-genui-bugfix/
├── package.json # dsh.bundle.patch + dsh.client 声明 ├── cordis.patch.yml # 往 profile 里 insert 一行插件 ├── lib/ │ ├── index.js # host 半侧:node ESM,导出 name/apply/inject,无行为 │ └── client.js # 浏览器半侧:window.__ModuleLoader__.load({ id, factory }) ├── test/verify.mjs # 零依赖自检(loader 约定) └── README.md
两半的产物形态与已安装插件保持一致:
- host(lib/index.js)是普通 node ESM,导出 name / apply / inject——与 dsh-window-drag-probe 的 host 半侧同形(同样没有 host 行为);
- client(lib/client.js)必须是 DSH 直接服务的预打包形态 window.__ModuleLoader__.load({ id, factory }),factory 返回带 apply 的 exports——与 @changfenhuang/dsh-genui、dsh-boot-animation 的 client 产物同形。写成裸 ESM 的 export function apply 不会被装载,而且是静默失效,不会报错。本插件零运行时依赖,所以 factory 里不需要 require 任何东西。
许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
adamcjm/dsh-genui-bugfix
修复表格单元格文字重叠并让长内容自动换行
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目