DSH(DeepSeek Harness)在處理審批卡片時存在一個交互痛點:當卡片(@deepseek-ai/dsh-client-ui-approval)出現時,瀏覽器會隱藏原始輸入框(display:none),導致焦點丟失。默認情況下,Enter 和 Esc 鍵僅在焦點位於卡片內時生效。這意味着用戶必須先手動點擊卡片文本,才能使用快捷鍵。dsh-approval-autofocus 修復了這個斷層。
這是什麼¶
這是一個 DeepSeek Harness 的客戶端插件,由 chupeter854-lang 維護。它監聽 DOM,當檢測到審批卡片出現且當前焦點處於空閒狀態(如 <body> 或被隱藏的 composer)時,自動將焦點移入卡片的詳情區域。這允許用戶直接通過鍵盤快捷鍵進行操作。
核心功能¶
- 自動聚焦:卡片出現且無其他焦點佔用時,自動進入詳情區域。
- 鍵盤綁定:
Enter觸發批准,Esc觸發拒絕。 - 焦點保護:不會干擾終端、對話框或輸入框中的焦點。
- 兼容性回退:基於
data-approval-scroll屬性和[tabindex="0"]選擇器(排除按鈕)進行兼容。
安裝與啓用¶
1. 從歸檔安裝(推薦)¶
- 將插件文件夾解壓到固定目錄,例如
~/plugins/dsh-approval-autofocus。 - 在 DSH 側邊欄點擊 Plugins -> Add plugin。
- 粘貼該文件夾的絕對路徑。
- 點擊 Enable now。如果頁面提示,重啓 DSH。
2. 從 Git 倉庫¶
在添加插件對話框中粘貼倉庫 URL。目前沒有託管倉庫,該歸檔即爲最終形式。
3. 手動配置¶
編輯 ~/.dsh/profiles/<profile>/package.json,在 dsh.profile.bundles 中添加包名;或者在 ~/.dsh/profiles/<profile>/cordis.patch.yml 中插入一行配置。
- insert:
- id: approval-autofocus
name: dsh-approval-autofocus
典型用法¶
- 當審批卡片出現時,焦點會自動進入卡片,直接按
Enter批准,按Esc拒絕。 - 在終端或輸入框中打字時,插件不會搶佔焦點。
注意事項與限制¶
- 安全提示:插件僅移動焦點,不模擬按鍵。但如果模型輸出試圖誘導你按下 Enter,由於焦點已被預置在卡片上,可能會導致意外批准。建議在需要確認時點擊遠離卡片,或禁用插件。
- 兼容性:基於 DSH 0.2.0-rc.2 構建。如果 DSH 重新調整卡片結構,插件可能靜默失效。
- 非官方:這是社區維護的插件,非 DeepSeek 官方組件。
結語¶
該插件通過自動管理焦點,讓審批流程更符合鍵盤操作習慣。更多細節可參考 GitHub 倉庫。