DeepSeek Harness (DSH) 支持通過插件擴展功能。瀏覽器原生的 contextmenu 手勢通用但功能單一,難以滿足在樹狀視圖中快速執行特定操作的需求。@nacocx/dsh-ui-context-menu 是一個客戶端插件,它用 DSH 自身的功能策略替代了瀏覽器默認的右鍵菜單,爲工作區、會話、文本區域提供定製化的交互入口。
核心功能¶
插件通過監聽右鍵事件,根據指針位置和上下文內容分發不同的操作菜單:
-
工作區行
針對真實 Workspace 行,提供文件管理器打開、重命名和刪除操作。重命名與刪除通過插件對話框確認,並提交到宿主 API。 -
會話行
針對非空白 Session 行,提供重命名、分叉(Fork)和歸檔操作。分叉會復刻標題遞增邏輯並打開子會話。 -
空白處
在無選區、無控件的空白處右鍵,喚起應用菜單:創建新會話、創建新工作區或打開設置。 -
選中文本
針對選中的文本,提供複製、剪切、搜索(填入搜索框)以及瀏覽器搜索。 -
文本框
在輸入框內右鍵,提供以粘貼優先的編輯菜單(複製、剪切、粘貼、全選)。
安裝¶
通過官方插件註冊表安裝:
dsh plugin --profile web add @nacocx/dsh-ui-context-menu
安裝後需重啓 DSH 進程(dsh --profile web)以加載插件。該插件聲明瞭 dsh.bundle,會自動將 cordis.patch.yml 層加入 profile。
配置與使用¶
插件的所有功能都可以獨立開關。進入 設置 → 插件,找到「右鍵菜單」卡片,即可爲每個區域(工作區行、會話行、空白處、文本框、選中文本)配置開關。
關閉某個區域的開關,該區域將恢復瀏覽器原生右鍵菜單,效果等同於插件未安裝。配置策略保存在瀏覽器本地存儲中。
注意事項¶
- 菜單錨點位置:工作區行和會話行的菜單錨定在行自帶的省略號按鈕上,而非指針的精確座標。只有覆蓋層(如空白處菜單、文本搜索菜單)會錨定在指針處。
- 權限依賴:粘貼操作和瀏覽器搜索功能依賴瀏覽器或 WebView 的剪貼板權限。如果權限被拒絕,操作可能無效。
- 回退機制:瀏覽器搜索和文件管理器打開功能僅在宿主機提供原生打開器時有效。對於非迴環客戶端,這些功能可能會回退到默認行爲(如錨點點擊)。
- 配置同步:配置保存在瀏覽器本地存儲,不跨瀏覽器同步。清除瀏覽器數據會導致配置重置。
- 依賴範圍:插件依賴
@deepseek-ai/dsh-client-ui-workspace範圍(版本要求見文檔),以確保 UI 結構兼容。
總結¶
該插件通過攔截右鍵事件,將分散的操作集中到統一的上下文菜單中,減少了切換工具和尋找菜單的步驟。作爲客戶端插件,它僅通過 GUI 同源的 /api 網關與宿主交互,不涉及密鑰或敏感數據的讀寫。適合希望增強 DeepSeek Harness 日常交互效率的用戶。