dsh-approval-hotkeys:DSH 交互面板的 Enter / Esc 快捷鍵

前言

在 DeepSeek Harness(DSH)裏,審批、工具提問、計劃審查等交互面板都會出現確認和取消按鈕。dsh-approval-hotkeys 用來減少反覆點擊:Enter 按確認按鈕,Esc 按取消按鈕。它把 Claude Code 中常見的確認 / 拒絕習慣帶到 DSH 面板上,只處理 DSH 渲染出來的帶按鈕交互面板。

定位

  • 插件名:dsh-approval-hotkeys
  • 維護者:SiriLee
  • 類型:DeepSeek Harness 客戶端插件
  • 許可:MIT
  • 作用:爲審批面板、問題 / 選擇面板、計劃審查面板提供統一的 Enter / Esc 快捷鍵

核心功能

下面按面板類型介紹快捷鍵行爲。

面板 Enter Esc
審批面板 Allow once Reject
問題 / 選擇面板 Submit / Next Discard the group
計劃審查面板 Approve Decline;若面板沒有 Decline,則按 Discuss

這些快捷鍵適用於 DSH 渲染的帶按鈕交互面板,包括編輯審批、權限提升、工具問題和計劃審查。插件沒有配置項,也沒有設置頁。

安裝與啓用

先安裝插件:

dsh plugin --profile web add dsh-approval-hotkeys

這條命令把插件安裝到 web profile。安裝後,重啓 dsh web;如果宿主側沒有變化,由於該插件是純瀏覽器端插件,也可以直接刷新頁面。經過上面的步驟,面板出現後即可使用 Enter 和 Esc。

典型用法

面板出現後,按鍵規則如下:

Enter → 面板的主按鈕 / confirm action
Esc   → 面板的取消按鈕 / cancel action

具體到面板:

1、審批面板:Enter 按 Allow once,Esc 按 Reject。
2、問題 / 選擇面板:Enter 按 Submit / Next,Esc 按 Discard the group。
3、計劃審查面板:Enter 按 Approve,Esc 按 Decline;如果面板沒有 Decline 動作,則按 Discuss。

工作機制

該插件是純瀏覽器端插件,宿主側是一個 no-op stub。所有行爲來自一個 document 級 keydown 監聽器,負責找到當前面板並點擊對應按鈕。

按鈕解析基於位置,而不是穩定語義屬性:確認按鈕取面板動作行中的主按鈕,取消按鈕取對應的 Reject、Discard、Decline(或 Discuss)。因此它會依賴 DSH 面板的佈局約定。

爲了避免誤觸發,插件會跳過以下情況:

  • 在 input、textarea、select 或 contentEditable 中按鍵;
  • Enter 時焦點已經在按鈕上,避免重複觸發;
  • Ctrl / Meta / Alt 組合鍵和長按重複鍵;
  • 沒有面板時按 Esc。

沒有面板時,Esc 會被原樣留給瀏覽器或 DSH 自身處理。插件不會停止或暫停 agent。

與其他插件的邊界

如果其他插件往交互面板裏注入非動作按鈕(例如裝飾性控件、摺疊按鈕),建議給該按鈕標記:

<button data-hotkey="none">Collapse diff</button>

dsh-approval-hotkeys 在解析確認 / 取消按鈕時會跳過標記爲 data-hotkey="none" 的按鈕。這是一個協作式的 opt-out 約定,不是硬保證:如果其他插件沒有標記,或注入真正可點擊的動作按鈕,或 DSH 面板佈局發生變化,快捷鍵仍可能受按鈕順序影響。

開發者安裝注意

從本地 checkout 或固定 commit 安裝時,可以使用:

dsh plugin --profile web add /path/to/dsh-approval-hotkeys

或:

dsh plugin --profile web add github:SiriLee/dsh-approval-hotkeys#<sha>

某些 git 安裝方式在首次運行前,需要在當前 profile 的 pnpm-workspace.yaml 中增加 allowBuilds 鍵。配置完成後再按上面的安裝命令啓用插件。

適用場景與注意

適合希望減少在審批、問題選擇和計劃審查面板中鼠標點擊的 DSH 使用者。它是純瀏覽器端插件,宿主側爲空 stub,行爲限於瀏覽器側的 keydown 監聽和點擊現有面板按鈕;不發起網絡請求,不訪問文件,不讀取憑據。

不過,插件仍以當前 dsh 進程所啓動的 web 客戶端上下文運行,並依賴該頁面上下文的 DOM 訪問能力。安裝前應檢查源碼與 MIT 許可證,確認當前 DSH 環境、profile 和依賴版本符合預期。

結尾

dsh-approval-hotkeys 的價值在於把 DSH 交互面板的確認與取消動作固定爲 Enter / Esc,讓審批、選擇和計劃審查更貼近鍵盤操作習慣。

  • GitHub:https://github.com/SiriLee/dsh-approval-hotkeys
  • DSH 社區目錄:可按插件名 dsh-approval-hotkeys 搜索
羽毛球分组比赛记分
小程序二维码

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

小夜