dsh-inline-view-tabs:把会话视图标签并入 DeepSeek Harness 顶栏一行

前言

DeepSeek Harness(DSH)Web 界面里,「对话」「轨迹」等会话视图标签默认单独占顶栏下面一行。会话区纵向空间被吃掉一行,标题与工具区之间还多一层视觉分隔。若你主要在同一窗口里切换 Chat / Trajectory,更希望顶栏只保留一行,可以把视图标签挪到标题右侧、右侧工具图标左侧。下面介绍社区插件 dsh-inline-view-tabs 的定位与安装方式。

这是什么

shellexy/dsh-inline-view-tabs 是 DSH 的客户端 Web 插件(npm 包名 dsh-inline-view-tabs,当前版本 0.1.1,MIT 许可证,维护者 Shellexy)。它不改变 Host 逻辑:浏览器侧 client.js 向页面追加样式表,Host 侧 apply() 为空。

作用一句话:把顶栏里单独一行的会话视图标签(「对话」「轨迹」,以及其它插件注册的视图)并入顶栏同一行,顺序为「标题 → 视图标签 → 工具图标 → 右侧栏开关」,从而省下一行高度。

之前:                              之后:
┌──────────────────────────────┐   ┌──────────────────────────────────────┐
│ 标题              ⚙  ◧        │   │ 标题       对话  轨迹  ⚙  ◧           │
│ 对话  轨迹                    │   └──────────────────────────────────────┘
└──────────────────────────────┘

效果示意见仓库文档:screenshot.webp。

核心功能

插件通过 CSS 调整顶栏布局,选择器只依赖 DSH shell 公开的 DOM 锚点:header[data-window-drag]、[data-conversation-header-corner]、[data-conversation-tabs]、[role="tab"],不依赖编译后的哈希类名。

实现要点(来自 README):

  1. 标题行设为 display: contents,其内部的标题、工具图标、右侧栏开关成为顶栏 flex 子项,再用 order 排成「标题 → 视图标签 → 工具图标 → 右侧栏开关」。
  2. 标签行预留 288px 测量宽度:顶栏按 floor((行宽 - 48) / 120) 决定显示几个标签,其余折叠进「⋯」。预留宽度主要影响标题可用宽度;「对话」「轨迹」在常规宽度下会一直显示。

安装与启用

在 DSH 的插件页安装 bundle dsh-inline-view-tabs(npm 包)。安装完成后刷新一次页面即可生效。

可先确认 npm 上是否存在该包:

npm view dsh-inline-view-tabs

package.json 中还声明了 tarball / zip / git 等安装来源;也可将本仓库目录作为本地 bundle 安装,具体以 DSH 插件页与仓库说明为准。

插件在 Web 客户端 immediately: true 加载,无需额外配置字段(资料中未列出可编辑配置项)。

典型用法

安装并刷新后,界面行为由样式自动完成,没有单独的 CLI 或 API 调用步骤。

  1. 在顶栏同一行点击「对话」「轨迹」等标签,切换会话视图(与原生标签行为一致,只是位置并入顶栏)。
  2. 若注册了更多视图标签,较窄时多余项会进入「⋯」,与原生折叠规则一致。

适用场景与注意

适合谁: 希望 Web 顶栏更紧凑、减少一行标签栏高度的 DSH 用户;依赖默认 conversation.session.header 且顶栏仍渲染视图标签行的场景。

边界与副作用(README 已说明):

  • 规则以顶栏仍存在 [data-conversation-tabs] 为前提(:has([data-conversation-tabs]))。只有 1 个视图、空白新会话、或被其它插件替换过的 conversation.session.header 时,插件规则不生效,界面保持原样。
  • 顶栏高度由约 76px 降到约 48px;窗口很窄时标签仍按原生规则折叠,不会盖住标题。
  • 标题行不再作为尺寸容器(container-type);窗口窄到约 540px 以下时,标题旁的 agent 预设标签可能不再自动隐藏文字。
  • 依赖 DSH 顶栏 DOM 结构;上游改动锚点后样式可能失效,界面退回两行布局,一般不会破坏其它功能。

安全与权限: 插件随当前 DSH 进程在浏览器中运行,安装前建议阅读 GitHub 源码 与 MIT 许可证。社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

README 记载测试环境为 dsh 0.2.1-rc.5(Web / WebKitGTK)。Node 引擎要求 >=22.19(见 package.json)。

结尾

dsh-inline-view-tabs 用一行顶栏布局换出一行纵向空间,实现上只动客户端样式、锚定公开 DOM。需要安装或 issue 时,可访问插件目录页 skillhub.cn/plugins/shellexy/dsh-inline-view-tabs 与仓库 github.com/shellexy/dsh-inline-view-tabs。

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

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

小夜