前言¶
在 DeepSeek Harness(DSH)的 Web 端,提問卡、計劃審閱與審批卡會接管 Composer 區域。這類面板選項多、需要逐項確認時,純鼠標操作效率偏低。Claude Code 一類環境裏常見的「方向鍵走位 + 空格選中 + 回車提交」習慣,在默認 DSH Web 面板裏並不完整:例如問題卡在選項上按 Enter 時,宿主往往按整批提交處理,前面仍有未答題目時會報 incomplete。
下面介紹社區客戶端插件 dsh-keynav(維護者 quoc187),爲上述面板補齊鍵盤導航,且不改動宿主 React 狀態、不 fork 原生組件。
這是什麼¶
dsh-keynav 是純客戶端插件:監聽面板上的 data-* 鉤子(如 data-question-key、data-option-row、data-plan-review-key、data-approval-key),維護焦點並通過真實 click 驅動已有按鈕。分類爲客戶端;當前 GitHub 星標爲 0。許可證 MIT,package 版本 0.1.0。
若未來 DSH 重命名這些鉤子,插件會靜默失效而不是破壞 Composer——這是有意爲之的容錯策略。
核心功能¶
問題卡(Question card)¶
| 按鍵 | 行爲 |
|---|---|
↑ ↓ |
沿選項環行走,再進入自由文本框;兩端可循環 |
← → |
上一題 / 下一題(不循環);在文本框內僅當光標已在邊緣時生效 |
Space |
多選切換;單選則選中當前項 |
Enter |
先提交當前高亮單選項,再點卡片自帶的 Next/Submit |
1–9 |
激活對應編號選項 |
焦點規則(卡片出現或回到某題時):
- 若已有選中項,聚焦第一個已選選項;
- 否則若自由文本框是唯一答案,聚焦文本框;
- 否則聚焦第一個選項。
插件會攔截選項上的 Enter:避免宿主一次性提交整批導致 incomplete,改爲先提交高亮選項再點 Next/Submit。
計劃審閱 / 審批卡(Plan review / approval)¶
| 按鍵 | 行爲 |
|---|---|
↑ ↓ ← → |
在決策按鈕之間移動焦點 |
Space / Enter |
激活當前聚焦按鈕 |
兩類卡片默認聚焦主按鈕。當前聚焦行使用卡片自帶 hover 背景 + 細 accent 內描邊,與卡片的「已選中」狀態(背景 + 淡邊框)區分開,避免鍵盤光標被誤認爲選中態。
安裝與啓用¶
插件在 web profile 下安裝;bundle 列表在進程啓動時讀取,僅刷新頁面不會加載新插件,安裝後須重啓 profile。
從 GitHub 安裝¶
dsh plugin --profile web add github:quoc187/dsh-keynav
node install.mjs --bundle-only # adds "dsh-keynav" to dsh.profile.bundles
本地 checkout(非 git clone 場景下的開發鏈接)¶
若你已有本地源碼目錄,可用倉庫提供的鏈接方式:
node install.mjs # link the package and register the bundle
dsh plugin --profile web install # materialise the link
輔助命令:
node install.mjs --check # is the profile pointing here?
node install.mjs --revert # restore the pre-install package.json
指定 profile 目錄:
DSH_PROFILE_DIR=/path/to/profile node install.mjs
安裝後重啓 DSH web profile,再在提問 / 計劃審閱 / 審批面板中試用方向鍵與 Enter。
典型用法¶
在已啓用插件的 Web Composer 中:
- 出現提問卡時,用
↑↓在選項與文本框間移動;單選用Space或Enter,多選用Space切換。 - 需跳題時用
←→(不繞回)。 - 計劃審閱或審批卡出現時,用方向鍵在按鈕間切換,
Space或Enter確認。
調試時可在瀏覽器控制台開啓日誌:
localStorage.setItem('dsh-keynav:debug', '1');
會輸出每次焦點決策與主按鈕點擊,便於對照面板 DOM 鉤子是否仍與當前 DSH 版本一致。
適用場景與注意¶
適合誰:長期在 DSH Web 端處理多步提問、計劃審閱與審批、希望少移鼠標、習慣鍵盤流的操作者。
權限與安全:客戶端插件隨當前 DSH 進程在瀏覽器側運行,安裝前建議閱讀 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的環境策略。
生態說明:DSH 奉行「一切皆插件」;社區目錄 skillhub.cn 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
測試(倉庫維護者自測方式,供覈對行爲):
npm install --no-save jsdom
node test/keynav.test.mjs
結尾¶
dsh-keynav 在不侵入宿主組件的前提下,爲 DSH Web 提問、計劃審閱與審批面板補齊方向鍵、空格、回車與數字鍵操作,並單獨處理問題卡 Enter 以避免整批 premature 提交。需要時可從目錄頁或 GitHub 獲取安裝說明並重啓 web profile 後使用。
- 目錄頁:https://www.skillhub.cn/plugins/quoc187/dsh-keynav
- GitHub:https://github.com/quoc187/dsh-keynav