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

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

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

小夜