修复设置导航滚动、标签间距与对话拖拽调宽
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add jipika/dsh-ui-fixes该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 35 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 取源不可用(Error: github tarball HTTP 404 @ https:
- · api.github.com
- · repos
- · jipika
- · dsh-ui-fixes
- · tarball)
扫描于 2026/11/1(0 天前)
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 设置导航可滚动
- 标签间距更紧凑
- 恢复拖拽调宽手柄
DSH 网页界面三处 CSS 修复:设置导航可滚动、会话头部标签更紧凑、对话宽度拖拽手柄恢复可用。
README
由 DeepSeek 最新模型翻译生成dsh-ui-fixes
DSH Web GUI 的三个纯 CSS 修复:可滚动的设置导航、紧凑的会话 header 标签,以及可用的对话宽度拖拽手柄。
DSH Web GUI 的三个纯 CSS 修复:设置弹窗左侧导航可滚动、会话 header 标签恢复紧凑间距、恢复对话流拖拽调宽。
license
拥有:4 条官方 CSS 缺陷修复(设置导航可滚 / header 标签间距 / 对话列拖拽调宽 / 设置页多余线条)。
冲突时:修复 ③ 反向覆盖 dsh-ui-harmonizer 写在 div[data-phase] 上的 --dsh-chat-content-width —— 两者在「对话内容宽度」上互斥,本插件优先(官方拖拽调宽是被覆盖的那个);想恢复 harmonizer 的滑块就删掉「修复 3」那 3 行。
回滚:从 dsh.profile.bundles 去掉 dsh-ui-fixes + 重启应用。
展开完整文档(README 剩余 1 节)
dsh-ui-fixes
DSH Web GUI 的三个纯 CSS 修复:可滚动的设置导航、紧凑的会话 header 标签,以及可用的对话宽度拖拽手柄。
DSH Web GUI 的三个纯 CSS 修复:设置弹窗左侧导航可滚动、会话 header 标签恢复紧凑间距、恢复对话流拖拽调宽。
license
拥有:4 条官方 CSS 缺陷修复(设置导航可滚 / header 标签间距 / 对话列拖拽调宽 / 设置页多余线条)。
冲突时:修复 ③ 反向覆盖 dsh-ui-harmonizer 写在 div[data-phase] 上的 --dsh-chat-content-width —— 两者在「对话内容宽度」上互斥,本插件优先(官方拖拽调宽是被覆盖的那个);想恢复 harmonizer 的滑块就删掉「修复 3」那 3 行。
回滚:从 dsh.profile.bundles 去掉 dsh-ui-fixes + 重启应用。
它修什么
| # | 症状 | 根因 | 修法 |
| ① | 设置弹窗左侧导航滚不动,设置项一多就被裁掉 | 官方 _panel 固定 height:800px + overflow:hidden;右侧 _options 有 overflow-y:auto 能滚,左侧 _navList 却是 overflow:visible | 约束 _nav,让 _navList 自己滚 |
| ② | 会话 header 标签间距36px 太远 | 官方 .X_tabs{gap:36px} 与 [class$="_tabs"]{gap:8px} 特异度相同(都是 0,1,0),官方加载在后 → 36px 生效 | !important 落实 8px,作用域限定在会话 header |
| ③ | 中间对话流不能拖拽调宽(拖了没反应) | 某个 UI 协调插件在同一个元素上覆盖了官方变量定义,把动态公式换成固定 748px,而拖拽写入的是 --dsh-chat-user-width | 还原官方表达式(⚠️ 不能用 unset) |
| ④ | 设置页(插件页)tab 组下方有多余线条:一条横贯整行 + 一条纯黑 2px 贴在选中胶囊底下 | 容器 .X_tabs{border-bottom:.5px solid …} + 选中 tab 的 ::after{height:2px;background:rgb(20,20,19)};而选中态已经是橙色实心胶囊 | 两条都去掉(aria-selected 精确定位,限定在 [class$="_section"] 内) |
① 设置弹窗左侧导航滚不动
_panel 是固定 height:800px + overflow:hidden;右侧内容区能滚,左侧导航却是 overflow:visible。
装了较多插件的环境(设置里多出「桌面设置」「手机连接」「Token Saver」「记忆」等页面)就会撑爆。
实测(Chromium,人为制造溢出):
| 状态 | navList client/scroll | 滚轮结果 |
| 不溢出(15 个设置页) | 656 / 656 | 看不出问题 |
| 人为造溢出 | 736 / 920 | scrollTop 恒 0(滚不动) |
| 加上本插件 | 736 / 920 | scrollTop = 184 ✓ |
② 会话 header 标签间距 36px 太远
两条同特异度的规则打架,官方那条赢:
[class$="_tabs"] { gap: 8px } /* 插件想要紧凑 /
.X_tabs { gap: 36px } / 官方,加载在后 → 生效 /
本插件用 !important 落实 8px,作用域限定在 [data-slot="conversation.session.header"],不影响其它 _tabs。实测 gap 36px → 8px,四个按钮间距 [8, 8, 8]。
③ 对话流不能拖拽调宽
官方在会话根元素(div[data-phase])上定义:
._0cyzDW_root {
--dsh-chat-content-width: var(--dsh-chat-user-width,
clamp(680px, calc(var(--dsh-conversation-column-width,0px) * .64), 920px));
}
拖拽写入的就是 --dsh-chat-user-width。而 UI 协调插件(如 dsh-ui-harmonizer)在同一个元素上写:
div[data-phase] { --dsh-chat-content-width: var(--enhancer-content-width) } /* 固定 748px /
整条定义被替换 → 拖拽写得再对,宽度永远是 748px → 纹丝不动。
本插件还原官方表达式。实测:
| | 被覆盖时 | 本插件 |
| 对话列 | x=517, w=748, margin 0 205px | x=497, w=788, margin 0px 184.766px(官方基准值)|
| 拖 +100px | 748 → 748 ✗ | 788 → 640 ✓ |
| 拖 −200px | 748 → 748 ✗ | 640 → 1040 ✓ |
| --dsh-chat-user-width | 空 | 640px ✓ |
⚠️ 不能用 unset 偷懒:实测 --dsh-chat-content-width: unset 会把官方的默认公式一起丢掉,列宽变成撑满 1158px、margin 归零。必须原样还原官方表达式。
④ 设置页 tab 组的多余线条
.X_tabs { border-bottom: .5px solid var(--dsw-alias-border-l2) } / 横贯 556px /
.X_tab[aria-selected=true]::after { height: 2px; background: rgb(20,20,19) } / 纯黑,贴在胶囊下 /
选中态本来就是橙色实心胶囊,这两条线纯属多余(尤其那条纯黑的)。本插件去掉两者,
实测修复后 border-bottom-width = 0px、::after display: none,且选择器命中数唯一
(allSelectedTabs: 1),不影响会话 header 的同名 _tabs。
安装
① npm(快,走 registry)
dsh plugin --profile add dsh-ui-fixes
② GitHub(源码直装,跟随 main 分支)
dsh plugin --profile add github:jipika/dsh-ui-fixes
本插件自带 dsh.bundle 补丁层(见 cordis.patch.yml),上面的命令会自动把 dsh-ui-fixes 加进 profile 的 bundles 列表并插入组合树*,不需要手工编辑 profile 的 cordis.patch.yml(实测:dsh plugin add 后 bundles 自动多出该项,无 warning)。
desktop profile 被 Electron 独占(CLI 子命令会被拒),此时手改 package.json —— dependencies 加一项、bundles 加一项 —— 再 pnpm install:两处都要加,只加依赖不会激活(dsh.bundle 声明本身不会自动挂载)。
改 client 半边必须重启应用(client bundle 在 host 启动时读进内存,刷新页面无效)。
实现
dsh-ui-fixes
├─ lib/index.js host 半边:空 apply(),只为让 cordis 行能挂载 client bundle └─ lib/client.js 浏览器半边:__ModuleLoader__.load → 注入一个
client 半边 inject = [],不注册任何 slot、不碰官方 DOM、不做任何 JS 改造 —— 只追加一个元素,注入是幂等的(已存在就直接返回)。删掉 cordis 行即完全恢复。
已知限制
- 依赖官方 CSS Modules 的类名后缀(_navList / _tabs / _nav):哈希前缀随前端构建变化,
后缀恒定,所以按 [class$="..."] 匹配。官方前端大改即可能失效。
- ③ 的副作用:dsh-ui-harmonizer 设置里的「对话内容宽度」滑块不再影响布局(拖拽优先)。
想恢复滑块,删掉 lib/client.js 里「修复 3」那 3 行即可。
- 属于版本敏感型补丁,建议随 DSH 升级回归验证一次。
License
MIT © 2026 jipika预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
jipika/dsh-ui-fixes
修复设置导航滚动、标签间距与对话拖拽调宽
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,798已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,327已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,021已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 150,724已汉化DSH
71.1