dsh-sidebar-row-menu:爲 DSH 側邊欄工作區與會話行補全右鍵菜單

前言

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
羽毛球分组比赛记分
小程序二维码

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

小夜