dsh-sidebar-tab-close:讓 Ctrl+W 優先關閉右側欄標籤頁

前言

在 DeepSeek Harness(DSH)桌面客戶端裏,右側欄常同時開着多個面板標籤——預覽、工具頁、文檔等。默認情況下,Ctrl+W(macOS 爲 ⌘W)的語義是「關窗口優先級最高」:焦點在右側欄面板內時會關掉當前標籤,但焦點在中間的會話區時往往會直接關掉整個窗口,標籤頁卻還在。只想關掉正在看的那個標籤時,操作反直覺,也更容易誤關窗口。下面介紹社區維護者 Aily-DSH 的客戶端插件 dsh-sidebar-tab-close,它調整快捷鍵優先級,並補上雙擊標籤關閉的鼠標操作。

這是什麼

dsh-sidebar-tab-close 是純客戶端插件:不寫配置文件、不佔端口、不改 app.asar,運行時通過官方 ctx.sidebarRight 服務打補丁;禁用或卸載後即恢復 DSH 原生行爲。倉庫:GitHub - Aily-DSH/dsh-sidebar-tab-close;社區目錄頁:skillhub.cn。當前 package 版本爲 0.1.1,許可證 MIT。

它解決什麼問題

DSH 原生邏輯可以概括爲:

  • 焦點在右側欄面板內 → 關閉該標籤頁
  • 焦點在會話區 → 直接關閉整個窗口,標籤頁不動

本插件把優先級倒過來:只要右側欄展開且存在可關閉的標籤頁,Ctrl+W 就關閉當前活動標籤;沒有可關標籤時才退回關窗口。同時支持 雙擊右側欄標籤頁 直接關閉。與原生一致:canCloseTarget 判定不可關的標籤(例如唯一的引導頁)仍然不可關。

核心功能

  • Ctrl+W(macOS ⌘W)優先關閉右側欄當前標籤頁
  • 雙擊右側欄標籤頁關閉該頁;雙擊標籤內的關閉按鈕等控件不會誤觸發
  • 異常時吞掉錯誤並退回 DSH 原生行爲,不拖垮界面
  • 附帶影響:焦點在會話區時,page.close 之外的 page.*(如 Ctrl+R / page.refresh)會解析到當前標籤頁目標,原本可能被忽略的操作最多變爲刷新當前標籤,README 說明不會造成新的破壞

環境要求

  • DeepSeek Harness >= 0.2.1-rc.5(需帶 dockkit 右側標籤欄的 Web GUI)
  • 僅在 桌面客戶端 中 Ctrl+W 語義由 DSH 處理;Web 頁面裏由瀏覽器自行處理快捷鍵
  • 分類:客戶端;無宿主邏輯、無配置文件

安裝與啓用

Windows 示例(路徑按本機 DSH 安裝位置調整):

cd "/d/Program Files/DeepSeek Harness/resources/runtime/cli/bin"
./dsh.cmd plugin --profile desktop add "git+https://github.com/Aily-DSH/dsh-sidebar-tab-close.git"

本地開發可改用 file: 指向克隆目錄(安裝命令以 README 爲準,勿憑插件名拼接錯誤 URL):

dsh plugin --profile desktop add "file:/D:/path/to/dsh-sidebar-tab-close"

裝完後必須重啓一次 DeepSeek Harness 客戶端:客戶端插件的 injections 在宿主啓動時計算一次,不重啓不會加載。

典型用法與驗證

經過上面的安裝與重啓,可按 README 步驟自測:

  1. 打開會話,讓右側欄出現至少兩個標籤頁
  2. 把焦點點回會話區(中間),按 Ctrl+W → 當前標籤頁關閉,窗口仍在
  3. 關到只剩一個不可關的標籤,再按 Ctrl+W → 恢復原生行爲(關窗口)
  4. 雙擊任意標籤頁本體 → 直接關閉

行爲對照表(摘自官方文檔):

場景 行爲
側欄展開、有可關標籤、焦點在會話區 關閉當前活動標籤頁
側欄展開、焦點在面板內 關閉當前活動標籤頁(與原生一致)
側欄展開、唯一標籤不可關 退回關窗口
側欄收起 退回關窗口
雙擊標籤頁本體 關閉該標籤頁

適用場景與注意

適合經常在 DSH 桌面端開多個右側欄標籤、希望用 Ctrl+W 和雙擊快速關頁、又不想改客戶端安裝包的用戶。插件與 DSH 進程同權限運行,安裝前建議瀏覽倉庫源碼並確認 MIT 許可證是否滿足你的合規要求。

已知限制(資料原文):

  • 僅作用於右側欄(dockkit 標籤條);左側工作區、底部面板不在範圍內
  • 雙擊關閉依賴標籤元素的 data-dockkit-tab / data-sidebar-right-tab;若 DSH 改動 DOM 標記,雙擊可能靜默失效,Ctrl+W 仍走服務層
  • 與其它同樣包裝 focusedTarget 的插件疊加時,後加載者生效

卸載:

dsh plugin --profile desktop remove dsh-sidebar-tab-close

重啓客戶端後恢復原生 Ctrl+W 行爲。

結尾

dsh-sidebar-tab-close 用最小侵入的方式,把「關標籤」放在「關窗口」之前,並補上雙擊關標籤,適合日常在右側欄多開面板的 DSH 桌面用戶。詳情與 issue 見 GitHub 倉庫,目錄索引見 SkillHub 插件頁。

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

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

小夜