Better Right-Click:DSH 会话中的文件右键菜单插件

前言

在 DeepSeek Harness(DSH)的 Web 会话正文中,文件引用通常以 Markdown 链接、@文件 引用或工具行的文件卡片形式出现。手动复制路径、在资源管理器中定位或用默认程序打开这些文件,需要多次点击和切换窗口。dsh-better-right-click 为这三类文件引用增加了右键菜单,提供「复制绝对路径」「在资源管理器中显示」「用默认应用打开」三项操作。

插件定位

dsh-better-right-click 是一个针对 Windows 平台的 DSH 插件,由维护者 xmmtr 开发。它通过在文件引用节点上拦截右键事件,扩展系统原生菜单,让用户可以直接在对话正文中完成文件路径操作。插件以组合包 patch 的方式声明依赖(dsh.bundle.patch = ./cordis.patch.yml),由 DSH 插件管理器统一安装与卸载。

核心功能

右键菜单三项操作

对文件引用点右键,会弹出三项菜单:

  • 复制绝对路径:将规范化后的绝对路径写入剪贴板。
  • 在资源管理器中显示:Windows 使用 explorer.exe /select,<path> 打开并选中文件;macOS 使用 open -R;Linux 使用 xdg-open 打开父目录。
  • 用默认应用打开:Windows 通过 PowerShell Start-Process -FilePath 打开文件;macOS 使用 open;Linux 使用 xdg-open。

命中的节点类型

  • 正文 Markdown 链接(蓝色文件名)
  • @文件 引用
  • 工具行里的文件卡片

对正文空白、输入框、代码块、按钮点右键,插件不拦截,保持系统原生菜单。

菜单可配置

右键菜单底部提供「菜单设置…」入口,可勾选要显示的项:

  • 复制绝对路径
  • 复制相对路径
  • 用默认应用打开
  • 打开方式列表
  • 在资源管理器中显示

默认全开。配置保存在 ~/.dsh/better-right-click/config.json,修改后立即生效,无需重启。

文件管理器模式

在菜单设置中可设置文件管理器行为:

  • auto:自动检测当前系统默认文件夹打开程序(如 Directory Opus、XYplorer、Total Commander、Files 等),在菜单中添加「用 XXX 打开所在位置」。
  • explorer:始终使用 Windows 资源管理器。
  • custom:使用自定义命令,%1 代表文件路径。

打开方式锁定

右键菜单顶部可显示「用 X 打开(已锁定)」的固定项。锁定按扩展名生效,只影响本插件菜单,不会修改 Windows 的双击默认程序。锁定规则保存在配置文件的 pins 字段中,可直接编辑。

其他程序选择

右键菜单末尾提供「其他程序…」入口,弹起 Windows 原生文件选择框,可指定任意 .exe 程序(包括便携版或免安装软件)。选中后 Windows 会记住该程序,下次自动出现在列表中。

安装与启用

插件声明了 dsh.bundle.patch,因此是标准的组合包 patch 型插件,由 DSH 插件管理器安装与卸载。

从 npm 安装:

& 'D:\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd' plugin --profile <profile> add dsh-better-right-click

从本地 tgz 安装:

& 'D:\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd' plugin --profile <profile> add "C:\path\to\dsh-better-right-click-0.6.6.tgz"

在 DSH Web「插件」页中搜索或粘贴插件信息也可完成安装。

卸载:

dsh plugin --profile <profile> remove dsh-better-right-click

卸载后需重启 DSH,file-menu 配置行会随包一起移除。

配置文件预置

团队可预先配置 cordis.patch.yml,在插件安装时自动应用设置:

# cordis.patch.yml
- id: file-menu
  name: dsh-better-right-click
  config:
    items: [copy-absolute, copy-relative, reveal, open-default, open-with]
    fileManager:
      mode: auto          # auto | explorer | custom
      command: ''         # mode=custom 时生效,%1 代表文件路径

items 可选值为:copy-absolute、copy-relative、reveal、open-default、open-with。非法项会被忽略,items 为空时回落全开。

典型用法

  1. 在 DSH 会话正文中找到文件引用(例如 Markdown 链接、@README.md、工具行的文件卡片)。
  2. 在该引用上点击右键,弹出扩展菜单。
  3. 点击「复制绝对路径」,路径自动写入剪贴板,可直接粘贴到其他应用。
  4. 点击「在资源管理器中显示」,Windows 资源管理器打开并选中该文件。
  5. 点击「用默认应用打开」,用系统关联的应用启动文件。

如需固定某个扩展名的打开方式,可在「菜单设置…」中点击「锁定打开方式」,选择程序后保存。以后该类型的文件都会优先显示固定项。

适用场景与注意

适用场景

  • 需要在对话正文中快速复制文件路径并粘贴到编辑器或命令行。
  • 需要在不离开 DSH 界面的情况下定位或打开文件。
  • 团队协作中,需要统一文件引用的右键菜单行为。

注意事项

  • 平台限制:插件仅支持 Windows 10 / 11,依赖系统自带的 PowerShell 5.1。macOS 和 Linux 不支持资源管理器定位、已注册程序列表、文件管理器检测等功能,只有「复制绝对路径 / 复制相对路径」可用。
  • 版本要求:适配 DSH 版本 >=0.2.1-rc.2 <0.3.0。插件声明了 "dsh": ">=0.2.1-rc.2 <0.3.0",安装前需确认宿主版本。
  • 权限与安全:插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。
  • 路径识别:相对路径依赖活动会话工作区,客户端从 DSH sessions 服务读取 cwd,拿不到时退回进程工作目录。只对真正的文件引用生效,正文中的普通文本路径必须为单个 token(不含空白)、含路径分隔符、末段带扩展名。
  • 代码块与输入区:插件不拦截代码块(pre)、输入区和 contenteditable 内部的右键事件,保持系统原生行为。

短结尾

dsh-better-right-click 通过在 DSH 会话正文的文件引用上提供右键菜单,减少了在多个窗口间切换的操作成本。它支持复制路径、资源管理器定位、默认应用打开等基础功能,并提供菜单配置、打开方式锁定、自定义文件管理器等高级选项。插件以组合包 patch 的形式声明依赖,由 DSH 插件管理器统一管理安装与卸载,适合需要在对话正文中频繁操作文件的用户。

目录页:https://www.skillhub.cn/plugins/xmmtr/dsh-better-right-click
GitHub:https://github.com/xmmtr/dsh-better-right-click

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

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

Xiaoye