前言¶
在 DSH(DeepSeek Harness)Web 客户端里,会话顶栏往往同时挤着原生操作按钮和工具入口。窗口变窄时,同一行里的控件会互相挤压,顺序虽还在,可读性和点击区域都会变差。若你只想调整布局、不新增工具、不改按钮行为,一个只做客户端样式注入的插件比 fork UI 或手写主题更合适。
下面介绍社区维护的客户端插件 dsh-two-row-header(仓库 MeirinRuan/dsh-two-row-header),它用扩展点给顶栏加分行布局,并在空间仍不足时允许继续换行。
这是什么¶
dsh-two-row-header 由 MeirinRuan 维护,当前包版本为 0.1.1,许可证为 MIT。插件分类为客户端:通过 DSH 扩展点挂载样式,不添加工具、模型提示词、外部请求或会话记录;禁用后随 bundle 卸载,不残留额外能力。
一句话定位:把会话顶栏上的原生操作区与工具区分到两行展示,控件保持原有顺序与行为;视口更窄或按钮很多时,仍可继续换行(正常多为两行)。
核心功能¶
依据仓库 README 与 package.json 中的声明,可核对的能力如下。
- 双行顶栏:通过现有
header-utilities插槽挂载样式,用网格布局把操作区放在工具区及角落控件上方。 - 不篡改控件逻辑:不重建、不搬移按钮;原生顶栏没有匹配控件时,不强行多出额外一行。
- 窄屏换行:控件顺序与交互与原生一致;空间受限时可超过两行显示。
- 轻量边界:仅客户端 Web 注入(
client-v2.js,immediately: true),补丁文件为cordis.patch.yml,依赖注入目标包含@deepseek-ai/dsh-client-ui-conversation。
安装与启用¶
插件在 package.json 中精确声明支持的 DSH 版本为 0.2.2-rc.1。文档说明其他版本需自行验证,因为实现依赖 DSH 页面结构。
从 Release 安装¶
官方建议从 GitHub Releases 获取预构建的 dsh-two-row-header.tgz,在 DSH 插件管理器中安装,或将下载路径替换为本地绝对路径后执行:
dsh plugin --profile web add <absolute-path-to-downloaded.tgz>
将 web 换成你实际使用的 profile 名称。若使用桌面版 CLI,需先打开一次 Desktop 以初始化 profile,再完全退出 Desktop 后执行插件命令。
与本地包冲突¶
不要同时启用公开包与 @local/dsh-two-row-header,两者提供相同样式。启用本插件前,应先禁用或移除旧的本地 bundle。
卸载¶
从示例 profile 卸载:
dsh plugin --profile web remove dsh-two-row-header
典型用法¶
本插件没有配置项。安装并启用后,打开 Web 客户端会话页即可看到双行顶栏;不需要改 dsh.toml 或额外开关。
需要恢复原生单行布局时,在插件管理器中禁用该 bundle,或执行上文 remove 命令。
适用场景与注意¶
适合谁¶
- 长期在窄屏或小窗口下使用 DSH Web 会话界面,希望操作与工具分区更清晰。
- 只想改顶栏排版、且能接受锁定在
0.2.2-rc.1或自行验证其它 DSH 版本的行为。
兼容性与隐私(文档原文要点)¶
- 样式选择器使用
:has()、公开 data 属性及顶栏 DOM 结构;第三方顶栏替换方案可能无法匹配。 - 样式继承原生字体与颜色;插件不收集或发送工作区名称、路径或会话内容。
- 布局可在 Chromium 代表性页面上检查,但不保证覆盖所有在线 DSH 页面或第三方插件组合。
权限与安全¶
DSH 插件随当前 DSH 进程权限运行。安装前建议阅读仓库源码与 MIT 许可证,确认仅有样式注入与补丁逻辑,再决定是否在常用 profile 中启用。
社区目录 SkillHub 插件页 与 GitHub 仓库相互独立收录渠道;目录站点为社区维护,并非 DeepSeek / 幻方官方应用商店。在 DSH「一切皆插件」的生态里,此类纯 UI 客户端插件适合作为可开关的布局增强,而非业务逻辑扩展。
结尾¶
dsh-two-row-header 解决的是会话顶栏拥挤问题:操作与工具分行、顺序与行为不变,窄宽度下继续换行。无配置、禁用即还原,适合需要最小侵入改布局的场景。