dsh-sidebar-row-menu: Adds Right-Click Menus to DSH Sidebar Workspace and Session Rows

前言

DeepSeek Harness(DSH)左侧边栏里,工作区和会话是日常切换上下文的主入口。行尾「+」「…」能完成一部分操作,但缺少像文件管理器那样「在指针处右键」的习惯路径;会话相关的「打开方式」、归档清理等能力,也往往要依赖其他插件或多次点击。若你已经在用 DSH 桌面版或 dsh web,又希望在不改 DSH 本体的前提下,给工作区行和会话行补上右键菜单,下面介绍社区插件 dsh-sidebar-row-menu 的定位与用法。

这是什么

dsh-sidebar-row-menu 由 TLEWA 维护,分类为客户端插件。它给 DSH 左侧边栏两类行增加右键交互:

  • 工作区行:右键弹出自绘菜单(能力上复刻 dsh-sidebar-context-menu 一类需求);
  • 工作区下的会话行:右键在指针处展开该行内置的「…」菜单,并在同一菜单里追加本插件条目。

工作区菜单使用 DSH 官方的 MenuSurface 与 MenuItemButton 自绘(官方 Menu 不支持子菜单),视觉与键盘行为与内置菜单一致。会话侧不复制内置动作,只通过 sidebar.workspaces.session.menu.item slot 追加条目;点行尾「…」看到的菜单默认保持 DSH 原样,本插件条目主要在右键时出现。右键展开的菜单不会因鼠标移出而关闭,与工作区右键一致,需点击外部、选中条目或按 Esc 关闭。

目录页:skillhub.cn/plugins/TLEWA/dsh-sidebar-row-menu
源码与说明:github.com/TLEWA/dsh-sidebar-row-menu(GitHub 星标:1)

核心功能

工作区行右键

菜单项 行为
新会话 展开该工作区并新建会话(等价于行尾 +)
重命名 打开官方「重命名工作区」对话框
置顶的打开方式 置顶的外部应用显示在一级菜单,用该应用打开工作区目录
打开方式 二级菜单列出宿主提供的外部应用;与会话菜单共用应用列表、置顶与开关
复制工作区路径 复制目录路径到剪贴板
在新标签中打开 仅当已安装 dsh-project-tabs(暴露 openWorkspaceInTab)时出现
删除工作区 官方删除确认;只删工作区登记,会话保留并归入「未分组」
删除工作区及所有会话 先永久删除该工作区下各会话及日志,全部成功后再删工作区登记;任一会话失败则保留工作区

工作区目录本身不会被上述删除流程删掉。

会话行右键

右键不会另起一套菜单,而是展开该行自己的「…」菜单:DSH 内置项(重命名、分叉、置顶、归档、复制 Session ID 等)、其他插件注册进 slot 的项,以及本插件追加的项。

本插件追加项包括:

菜单项 行为
打开方式 / 置顶打开方式 应用列表来自 DSH 内置 open-in-app 路由;用会话 cwd 打开,取不到时退回所属工作区目录
永久删除会话 默认仅在已归档会话的右键菜单出现;设置中可允许未归档会话也显示
删除所有已归档会话 仅在已归档会话的右键菜单出现;确认后永久删除全部已归档会话及日志

删除由插件宿主路由完成,默认不删未归档会话;不会级联删除 fork 子会话。

草稿会话(尚无消息)没有内置「…」菜单,本插件同样不接管。非工作区 / 非会话行(如「显示更多」)也不会被拦截。

设置

在 DSH 设置 →「行菜单」 中可逐项开关:打开方式、各应用的显示与置顶、永久删除与会话批量删除、以及是否把条目同时放进行尾「…」菜单(工作区 / 会话分开配置)。开关保存在浏览器 localStorage(键名如 dsh.sidebar-row-menu.items.v1 等),改完立即生效,无需重启。

若同时安装 dsh-session-menu,本插件会检测对方已注册的同名能力并自动隐藏自己的对应条目,设置页开关置灰并提示,无需对方适配。

安装与启用

安装前请确认:

  • DSH 桌面版或 dsh web 至少启动过一次,profile 目录已存在;
  • Windows 环境需 PowerShell 5.1+(README 中的脚本与部分说明面向 Windows);
  • 与 DSH 客户端内置包 0.2.1-rc.5 同代的行组件(详见仓库「兼容性」章节)。

插件以当前 DSH 进程权限运行;安装前建议阅读仓库源码与 MIT 许可证(当前发布版本 1.4.2)。

从 npm 安装(推荐)

  1. 打开侧边栏 插件 页 → 安装插件;
  2. 输入包名并确认:
dsh-sidebar-row-menu

固定版本示例:

dsh-sidebar-row-menu@1.4.2

命令行等价写法:

dsh plugin --profile desktop add dsh-sidebar-row-menu@1.4.2
  1. 安装完成后硬刷新(Ctrl+Shift+R);宿主半边未生效时重启桌面端。

从 GitHub 安装

在 安装插件 中粘贴仓库地址:

https://github.com/TLEWA/dsh-sidebar-row-menu

固定版本可在地址后加标签,例如:

https://github.com/TLEWA/dsh-sidebar-row-menu#v1.4.2

或安装 Release 压缩包:

https://github.com/TLEWA/dsh-sidebar-row-menu/releases/download/v1.4.2/dsh-sidebar-row-menu-1.4.2.tgz

命令行等价写法(跟随仓库文档原文):

dsh plugin --profile desktop add github:TLEWA/dsh-sidebar-row-menu

仓库 lib/ 为可直接运行的产物,经 GitHub 安装时不需要本地构建。收录进社区目录前,README 建议仍用上述 GitHub 或 npm 方式安装。

典型用法

经过上面的安装与硬刷新后,在侧边栏分别右键一个工作区行和其下的会话行:菜单应贴近鼠标弹出,样式与内置「…」菜单一致;Esc 或点击空白处应能关闭。

若需在行尾「…」里也能看到本插件条目,进入 设置 →「行菜单」→「同时放进「…」菜单」,按工作区 / 会话分项开启;开启任意工作区项后,行尾「…」会由本插件用同一套菜单展示官方重命名 / 删除与工作区项。全部关闭时「…」与 DSH 完全一致。

常用配置路径:

  1. 设置 →「行菜单」:关闭不需要的删除项或「打开方式」;
  2. 打开方式 → 应用:隐藏个别应用,或用「置顶」把常用编辑器放到一级菜单;
  3. 需要在外部 IDE 打开当前会话目录时:会话行右键 →「打开方式」或已置顶的应用项。

宿主侧自检(文档示例,应返回 400 bad-target):

curl.exe -X POST http://127.0.0.1:10102/dsh-sidebar-row-menu/open `
  -H 'content-type: application/json' -d '{"target":"nope","path":"x"}'

客户端控制台出现 [dsh-sidebar-row-menu] installed 表示宿主半边已装载;若右键无反应,可再重启桌面应用。

适用场景与注意

适合谁: 长期在 DSH 侧边栏管理工作区与会话、习惯右键操作、需要「用 VS Code / 终端 / 文件管理器打开当前目录」、或需要可控的归档会话清理入口的开发者。

注意:

  • 本插件依赖 DSH 官方 UI 与 open-in-app 等能力;DSH 大版本升级后若行组件不兼容,需对照仓库「兼容性」说明。
  • 永久删除会话与批量删除已归档会话不可恢复,使用前确认设置中的「允许删除未归档会话」是否符合你的安全预期。
  • 社区插件目录(如 skillhub.cn)与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,选用插件时应自行审阅源码与权限边界。

若曾用仓库内的 scripts/install.ps1 做开发安装,再改用 npm / GitHub 的 pnpm 安装,Windows 上可能因 node_modules 目录联接冲突报错;README 要求先执行脚本的 -Uninstall 再重试,勿用 dsh plugin add link:<绝对路径> 跨盘 link。

结尾

dsh-sidebar-row-menu 把 DSH 侧边栏工作区与会话行的右键菜单补全:工作区侧自绘官方风格菜单,会话侧扩展原生 slot 菜单,并统一「打开方式」与可选的归档清理。按需安装 npm 包或 GitHub 发布物,在设置里裁剪菜单项即可。

  • 目录页:https://www.skillhub.cn/plugins/TLEWA/dsh-sidebar-row-menu
  • GitHub:https://github.com/TLEWA/dsh-sidebar-row-menu
羽毛球分组比赛记分
小程序二维码

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

Xiaoye