dsh-approval-enter:用鍵盤審批 DSH 權限請求

前言

DeepSeek Harness(DSH)的權限審批卡片本身支持 Enter 和 Escape,但只有在鍵盤焦點位於卡片上時才生效。當請求到來時,卡片會替換編輯器,焦點自動回到 body,導致按 Enter 不起作用。這迫使開發者不得不把鼠標點回卡片,破壞了鍵盤流。dsh-approval-enter 解決這個問題,讓審批過程完全通過鍵盤完成。

是什麼

這是一個爲 DeepSeek Harness(DSH)客戶端設計的插件,由維護者 wood007924 開發。它的核心價值是:當權限請求的審批卡片出現時,插件自動將焦點引導至卡片區域,並捕獲鍵盤事件,讓 Enter 對應「允許一次」,Escape 對應「拒絕」。插件不自動審批、不靜默超時,審批邏輯仍走 DSH 原生的鎖機制、IME 守衛和重複鍵守衛。

核心功能

  • 自動聚焦:當審批卡片出現時,插件將焦點移到卡片的 tabindex=0 區域。
  • 捕獲階段監聽:如果焦點不在卡片上,插件在捕獲階段攔截 Enter / Escape,先聚焦卡片,再把按鍵事件重新觸發到卡片,使其內置的審批邏輯生效。
  • 不干擾其他輸入:插件不會從文本字段搶走焦點,也不會處理除 Enter / Escape 以外的按鍵。
  • 依賴 DSH 原生邏輯:審批結果仍由 DSH 的 pending-request 鎖、IME 守衛和重複鍵守衛控制,不會繞過這些安全機制。

安裝與啓用

從 npm 安裝(需插件已發佈):

dsh plugin --profile <profile> add dsh-approval-enter

從本地 checkout 安裝(開發調試):

dsh plugin --profile <profile> add link:/absolute/path/to/dsh-approval-enter

或手動方式:把包放入 <DSH_HOME>/profiles/<profile>/plugins/,鏈接到該 profile 的 node_modules,並在 profile 的 package.json 中添加 dsh.profile.bundles 條目。

安裝後需要重啓 DeepSeek Harness,插件纔會生效。

典型用法

  1. 打開 DSH,進入插件管理頁面,確認「Enter to approve」插件已啓用。
  2. 觸發一個需要審批的操作(權限模式下才會出現審批卡片)。
  3. 不要使用鼠標,直接按 Enter,請求應立即被允許。
  4. 再觸發一次,按 Escape,請求應被拒絕。

注意:只有權限模式會彈出審批卡片。在「完全訪問」模式下 DSH 不會詢問,因此沒有卡片可確認,這是預期行爲。

適用場景與注意

適合習慣鍵盤流、希望減少鼠標操作的 DSH 用戶。插件運行在 DSH 進程的權限上下文中,應確保來源可信、查看許可證後再安裝。當前版本兼容 DSH 0.2.1-rc.2(桌面、Web UI)。插件依賴 @deepseek-ai/dsh-client-ui-approval 暴露的 [data-approval-key](卡片根)和 [data-approval-scroll](可聚焦區域)兩個屬性,若未來 DSH 更改這些屬性,需要更新 client.js 中的選擇器。

結尾

dsh-approval-enter 讓審批流程迴歸鍵盤,減少鼠標操作,提升操作連貫性。如需更多信息或提交問題,可訪問插件目錄或 GitHub 倉庫。

  • 插件目錄:https://www.skillhub.cn/plugins/wood007924/dsh-approval-enter
  • GitHub:https://github.com/wood007924/dsh-approval-enter
羽毛球分组比赛记分
小程序二维码

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

小夜