前言¶
在 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搜索