前言¶
在 DeepSeek Harness(DSH)桌面客户端里,右侧栏常同时开着多个面板标签——预览、工具页、文档等。默认情况下,Ctrl+W(macOS 为 ⌘W)的语义是「关窗口优先级最高」:焦点在右侧栏面板内时会关掉当前标签,但焦点在中间的会话区时往往会直接关掉整个窗口,标签页却还在。只想关掉正在看的那个标签时,操作反直觉,也更容易误关窗口。下面介绍社区维护者 Aily-DSH 的客户端插件 dsh-sidebar-tab-close,它调整快捷键优先级,并补上双击标签关闭的鼠标操作。
这是什么¶
dsh-sidebar-tab-close 是纯客户端插件:不写配置文件、不占端口、不改 app.asar,运行时通过官方 ctx.sidebarRight 服务打补丁;禁用或卸载后即恢复 DSH 原生行为。仓库:GitHub - Aily-DSH/dsh-sidebar-tab-close;社区目录页:skillhub.cn。当前 package 版本为 0.1.1,许可证 MIT。
它解决什么问题¶
DSH 原生逻辑可以概括为:
- 焦点在右侧栏面板内 → 关闭该标签页
- 焦点在会话区 → 直接关闭整个窗口,标签页不动
本插件把优先级倒过来:只要右侧栏展开且存在可关闭的标签页,Ctrl+W 就关闭当前活动标签;没有可关标签时才退回关窗口。同时支持 双击右侧栏标签页 直接关闭。与原生一致:canCloseTarget 判定不可关的标签(例如唯一的引导页)仍然不可关。
核心功能¶
Ctrl+W(macOS⌘W)优先关闭右侧栏当前标签页- 双击右侧栏标签页关闭该页;双击标签内的关闭按钮等控件不会误触发
- 异常时吞掉错误并退回 DSH 原生行为,不拖垮界面
- 附带影响:焦点在会话区时,
page.close之外的page.*(如Ctrl+R/page.refresh)会解析到当前标签页目标,原本可能被忽略的操作最多变为刷新当前标签,README 说明不会造成新的破坏
环境要求¶
- DeepSeek Harness >= 0.2.1-rc.5(需带 dockkit 右侧标签栏的 Web GUI)
- 仅在 桌面客户端 中
Ctrl+W语义由 DSH 处理;Web 页面里由浏览器自行处理快捷键 - 分类:客户端;无宿主逻辑、无配置文件
安装与启用¶
Windows 示例(路径按本机 DSH 安装位置调整):
cd "/d/Program Files/DeepSeek Harness/resources/runtime/cli/bin"
./dsh.cmd plugin --profile desktop add "git+https://github.com/Aily-DSH/dsh-sidebar-tab-close.git"
本地开发可改用 file: 指向克隆目录(安装命令以 README 为准,勿凭插件名拼接错误 URL):
dsh plugin --profile desktop add "file:/D:/path/to/dsh-sidebar-tab-close"
装完后必须重启一次 DeepSeek Harness 客户端:客户端插件的 injections 在宿主启动时计算一次,不重启不会加载。
典型用法与验证¶
经过上面的安装与重启,可按 README 步骤自测:
- 打开会话,让右侧栏出现至少两个标签页
- 把焦点点回会话区(中间),按
Ctrl+W→ 当前标签页关闭,窗口仍在 - 关到只剩一个不可关的标签,再按
Ctrl+W→ 恢复原生行为(关窗口) - 双击任意标签页本体 → 直接关闭
行为对照表(摘自官方文档):
| 场景 | 行为 |
|---|---|
| 侧栏展开、有可关标签、焦点在会话区 | 关闭当前活动标签页 |
| 侧栏展开、焦点在面板内 | 关闭当前活动标签页(与原生一致) |
| 侧栏展开、唯一标签不可关 | 退回关窗口 |
| 侧栏收起 | 退回关窗口 |
| 双击标签页本体 | 关闭该标签页 |
适用场景与注意¶
适合经常在 DSH 桌面端开多个右侧栏标签、希望用 Ctrl+W 和双击快速关页、又不想改客户端安装包的用户。插件与 DSH 进程同权限运行,安装前建议浏览仓库源码并确认 MIT 许可证是否满足你的合规要求。
已知限制(资料原文):
- 仅作用于右侧栏(dockkit 标签条);左侧工作区、底部面板不在范围内
- 双击关闭依赖标签元素的
data-dockkit-tab/data-sidebar-right-tab;若 DSH 改动 DOM 标记,双击可能静默失效,Ctrl+W仍走服务层 - 与其它同样包装
focusedTarget的插件叠加时,后加载者生效
卸载:
dsh plugin --profile desktop remove dsh-sidebar-tab-close
重启客户端后恢复原生 Ctrl+W 行为。
结尾¶
dsh-sidebar-tab-close 用最小侵入的方式,把「关标签」放在「关窗口」之前,并补上双击关标签,适合日常在右侧栏多开面板的 DSH 桌面用户。详情与 issue 见 GitHub 仓库,目录索引见 SkillHub 插件页。