dsh-sidebar-launcher:右侧边栏悬浮启动器

前言

在 DSH Web 外壳里开发或调试智能体时,右侧边栏往往堆着多个页签:指南、插件面板、会话工具等。原生入口分散在列头的 + 菜单和页签条上,右列收起后切换成本更高。若你已经在用 DSH 的 @deepseek-ai/dsh-client-ui-sidebar-right,又希望用一块固定可拖的控件快速打开页签、分栏,并在需要时批量清空停靠或浮动内容,下面介绍社区插件 dsh-sidebar-launcher(维护者 shuing)的做法。

这是什么

dsh-sidebar-launcher 是一个 Web 客户端插件(platform: "web"),在 DSH 右侧边栏浮层里挂一块 36×36、可拖动 的直角方块(非圆角「球」)。它不依赖其他侧边栏插件,只通过宿主公开 API 与 bundle-patch 挂载。

插件等待 sidebarRight / sidebarRightTabs 就绪后才激活;若环境没有右侧边栏,方块不会出现。

核心功能

悬浮方块与位置

首次运行时时,方块贴在右列自身开关按钮下方;边栏尚未渲染时落在视口右下角。仅 主键 可拖动;位移小于 4px 视为点击,≥4px 视为拖动。位置跨刷新记忆(本地键 dsh-sidebar-launcher:position),并钳制在视口内。颜色跟随宿主 --dsw-alias-* 令牌,界面文案经 locale 与页签类型标题读取。

悬停 / 点击:页签菜单

悬停或点击方块会弹出下拉卡片,条目与右列 + 菜单 相同、同序。最近激活的三个页签固定在离方块最近的一端(球在上半屏时卡片向下开,最近项在卡片顶部;球在下半屏时相反),与全量列表之间有一条分隔线。

  • 左键点某一行:在宿主定义的 左格 打开该页签。
  • 右键点某一行:在 右格 打开;尚无右格且宿主允许分栏时,先拆出右格再打开。无法分栏时行为与宿主分栏按钮一致(静默落在当前格)。右列整体收起时,左右键都会先把侧边栏以单栏形式打开。

点击行 不会 关闭菜单;只有指针离开「方块 + 卡片」区域才关闭。菜单打开期间行序冻结,便于连续点选。

最近三项优先来自宿主页签条的激活记录;若会话已挂载却从未见过页签条,会降级为「从本启动器打开过的页签」,并在菜单中 明确提示 降级(不会因右列收起而悄悄降级)。

右键方块:侧边栏操作菜单

右键方块弹出 第二张 卡片(与页签菜单互斥,不会同时出现)。六项操作如下:

菜单项 行为
清空标签页(保留浮动) 关闭全部 停靠 页签,随后收起侧边栏;浮动面板不动
清空全部标签页(含浮动) 关闭全部页签(停靠 + 浮动),随后收起侧边栏
清空左分栏 关闭最左停靠格里的页签;仅一格时置灰
清空右分栏 关闭最右停靠格里的页签;仅一格时置灰
清除所有浮动面板 关闭全部浮动面板;无浮动时置灰
重置悬浮球位置 方块回到锚点,并清除已保存位置

需要知道的几条规则(与 README 一致):

  • 当 guide 是唯一的停靠页签时,「清空标签页」类操作会 始终留下指南页(宿主与插件均遵守 soleDockedTab 规则);浮动面板里的指南页不受此保护。
  • 清空一格不一定会拆掉分栏结构(root pane 清空后分栏可能保留)。
  • 置灰状态在 开菜单时 按实时 DOM 与 API 计算,不缓存。

跨宿主兼容

插件面向以下 DSH Web 宿主之一,不经修改即可运行:

  • 0.1.5-rc.2(旧式 flex,如 Tavern 桌面版所用)
  • 0.1.7-rc.2、0.2.0-rc.2、0.2.1-alpha.2(现代 grid)

实现上通过 能力探测(如是否存在 MenuItemButton、sidebarRight.tabsIn、mounted 是否为 observable 等)选择分支,而不是比对版本字符串。

安装与启用

前置条件:DSH Web 为上述版本之一,且已挂载右侧边栏(dsh-web-app 默认会挂载 @deepseek-ai/dsh-client-ui-sidebar-right)。

README 给出的安装方式分两步:

1、在官方左侧栏添加插件仓库地址(资料原文为下列一行,按你当前 DSH 界面指引操作):

https://github.com/shuing/dsh-sidebar-launcher

2、若已下载到本地并解压缩,用 profile web 添加包路径:

dsh plugin --profile web add <文件地址>

若要在 profile-web-node module 下存放,可使用 file: 前缀:

dsh plugin --profile web add file:<文件地址>

插件以 当前 dsh 进程权限 运行;安装前请自行查看仓库源码与 MIT 许可证,确认注入项与 patch 符合你的环境策略。

典型用法

下面步骤可在 README 描述的行为上直接复现(宿主示例为 0.2.0-rc.2 一类现代 grid 环境)。

1、确认右侧边栏已就绪,视口右侧出现琥珀色小方块(首次可能在列开关下方或右下角)。

2、悬停或点击方块,在卡片中选一个页签:左键 在左格打开,右键 在右格打开(需要时会自动分栏)。

3、连续打开多个页签后,最近激活的三项会出现在卡片靠近方块的一端,便于再次聚焦。

4、需要清理布局时,右键方块(不是右键菜单行),选择例如「清空标签页(保留浮动)」或「清除所有浮动面板」;仅一格时分栏相关项会置灰。

5、方块拖出视野或位置不顺手时,在操作菜单选「重置悬浮球位置」。

适用场景与注意

适合:长期在 DSH Web 里切换右侧页签、使用分栏对照多个面板,又希望减少找 + 菜单和页签条的时间;同时在 Tavern 等仍基于 0.1.5-rc.2 的桌面壳上也需要同一套启动器行为。

注意:

  • 社区目录 SkillHub 是独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,安装来源需自行甄别。
  • 插件菜单样式刻意取两代宿主度量的中间值,并与原生菜单不完全一致;在无背景模糊的宿主上,卡片为不透明填充而非毛玻璃。
  • 「左格 / 右格」由宿主 dockkit 的 data-dockkit-column 或几何兜底决定,不是 DOM 文档顺序;与 README「如何读取侧边栏的形状」一节描述一致。

结尾

dsh-sidebar-launcher 用一块可记忆的悬浮方块,把右侧边栏的页签指南和六项批量操作收到同一条交互路径里,并在四代宿主上通过能力探测保持同一套逻辑。若要查看截图、18.7 秒演示视频与跨宿主细节,请阅读 GitHub README;安装与分类信息见 SkillHub 目录页:https://www.skillhub.cn/plugins/shuing/dsh-sidebar-launcher,源码:https://github.com/shuing/dsh-sidebar-launcher。

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

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

Xiaoye