dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
给 DSH(DeepSeek Harness)网页版右侧栏的标签页右键菜单加批量关闭:在官方自带的「关闭」之外,增加
guide 占位页作为唯一停靠标签时不可关闭,批量关闭会自动跳过它closeIn 通道,因此插件注册的关闭钩子(资源清理等)照常执行dsh plugin --profile web add github:felixpu/dsh-sidebar-tab-actions
装完后刷新页面即可生效(客户端插件,无需重启宿主)。
也可从 npm 安装:
dsh plugin --profile web add dsh-sidebar-tab-actions
在右侧栏标签页上点右键,菜单底部多出一组分隔线之后的四个动作:
| 菜单项 | 行为 |
|---|---|
| 关闭其他 | 关闭该窗格内除右键那个标签页之外的全部标签 |
| 关闭左侧 | 关闭该标签页左侧的、同一窗格内的全部标签 |
| 关闭右侧 | 关闭该标签页右侧的、同一窗格内的全部标签 |
| 关闭全部 | 关闭该窗格内的全部标签(含右键的那个) |
| 场景 | 表现 |
|---|---|
| 窗格只有一个标签 | 不显示本插件的菜单项(官方「关闭」已覆盖) |
| 右键的是第一个标签 | 「关闭左侧」置灰 |
| 右键的是最后一个标签 | 「关闭右侧」置灰 |
| 窗格里只有右键的那个标签可关 | 「关闭其他」置灰 |
窗格里有 guide 占位页且它是唯一停靠标签 | 相关项跳过它,不会被关闭 |
| 窗格被拆分成多个 pane | 只操作右键所在 pane,不跨 pane |
| 浮动(float)窗口 | 浮动窗口只有一个标签且没有标签条,不参与本插件 |
纯客户端插件,宿主半身是空的 apply()。
sidebar.right.tab.menu.item(@deepseek-ai/dsh-client-ui-sidebar-right 拥有的 list 槽),
每个条目收到 { tab, dismiss } 外加标准 session 注入(sessionId、t 等)。button[role="menuitem"],
并在动作执行前调用 dismiss()。sidebarRight 控制器按会话持有的 layout(pane.tabs 数组);
公开的 tabsIn() 会把所有窗格的标签拍平、且按对象键序排列,拿不到条带顺序。sidebarRight.closeIn(sessionId, tabId):它先跑该标签类型的清理钩子再提交删除,
并且平台在每次动作后会自动收掉被关空的窗格、必要时补一个默认页 —— 所以逐条关闭是安全的。dsta- 前缀,颜色只用 --dsw-alias-* 主题 token,随明暗主题切换;
不 require 任何 Harness Client 包(官方规范禁止),改为复制平台菜单项的样式规则。slots、locale、sidebarRight(不存在时静默降级为「菜单里没有额外项」)MIT