前言¶
在 DeepSeek Harness(DSH)裏,模型有時需要通過工具向用戶發問並等待答覆,工作流才能繼續。默認界面若把長說明和選項擠在一起,閱讀和點選成本都會上去。社區插件 dsh-question 只做一件事:在 Web / 桌面客戶端裏把這類提問渲染成一張卡片,選項保留要點、詳情懸停展開,支持單選、多選和自由輸入,並在你提交前保持等待,把答案回傳給模型。
下面按定位、能力、安裝和注意事項說明,便於同行判斷是否接入自己的 profile。
這是什麼¶
dsh-question(npm 包名與倉庫名一致)是 DSH 的客戶端提問卡片插件,維護者爲 1234ab484。它負責卡片的呈現與交互,不改變模型側可見的工具約定。
- 目錄頁:SkillHub 上的 dsh-question
- 源碼與說明:github.com/1234ab484/dsh-question
- 當前 npm 版本(資料):
0.1.3 - 許可證:MIT
核心功能¶
資料中列出的能力如下,均可對照倉庫 README 覈對。
- 選項只顯示重點 —— 每個選項行只保留簡短 label,最多兩行,超出省略。
- 懸停看詳細說明 —— 鼠標懸停或鍵盤聚焦時,浮層展示完整說明;label 被截斷時,浮層第一行補全 label。
- 自由輸入 —— 自定義答案行顯示「其他:」/
Other:並直接提供輸入框。 - 單選與多選 —— 單選爲 26px 圓形單選框,多選保留原生方框。
- 鍵盤操作 ——
1–9選擇或勾選;Enter觸發主按鈕(提交或下一題);←/→(或PageUp/PageDown)在同一批問題間切換;Esc收起卡片且不會放棄整組問題。 - 多題可來回切換 —— 一批問題一次顯示一題,底部翻頁或方向鍵切換,已選草稿不丟。
- 等你作答 —— 未提交前保持等待;倒計時、跳過、翻頁等行爲照常。
- 中英文界面 —— 跟隨 DSH 界面語言,自定義答案行前綴在中文與 English 間自動切換。
安裝與啓用¶
安裝前請自行閱讀倉庫源碼與 LICENSE,插件隨當前 DSH profile 與進程權限運行,與官方 DeepSeek / 幻方無從屬關係;社區目錄 SkillHub 爲獨立站點。
將 <profile> 換成你實際使用的 profile 名稱。
從 npm 安裝(推薦)¶
dsh plugin --profile <profile> add dsh-question
從 GitHub 安裝¶
dsh plugin --profile <profile> add github:1234ab484/dsh-question
手動安裝¶
- 在 profile 的
package.json依賴裏添加"dsh-question": "<npm 版本 | GitHub spec | link:<路徑>>"; - 把
dsh-question追加到dsh.profile.bundles; - 在 profile 目錄執行
pnpm install。
卸載:
dsh plugin --profile <profile> remove dsh-question
包內通過 dsh.bundle.patch(cordis.patch.yml,插入 question-card 的 Loader 條目)和 dsh.client(platform: "web",將 ./client 指向 lib/client.js)接入 DSH。啓用了客戶端 HMR 的 profile 會在線生效。
典型用法¶
插件本身不定義新的 CLI 子命令;用法是:安裝並加入 bundle 後,在符合環境要求的 DSH 客戶端中,當模型發起提問流程時,界面會按上述規則展示卡片。你完成選擇或輸入並提交後,答案回傳,模型繼續執行。
界面語言與自定義行前綴對應關係:
| DSH 界面語言 | 自定義答案行前綴 |
|---|---|
| 中文 | 其他: |
| English | Other: |
問題、選項與說明文案來自模型,按原樣展示。
開發者在倉庫中可用 dev/preview.html 脫離 DSH 預覽卡片 DOM(懸停選項可看浮層);構建與檢查命令爲 npm run build、npm run check、npm test(見 README「開發」一節)。
環境與限制¶
環境要求(README):
- DSH 0.2.1-rc.x 的 Web / 桌面客戶端;
- 僅在自己構建 bundle 時需要 Node.js ≥ 20(發佈 bundle 爲純 JavaScript)。
已知限制(README):
- 自定義答案行前綴僅覆蓋中文與英文,其它語言回退到英文;
- 浮層內容來自提問方的
description;無 description 時,僅 label 被截斷纔會在浮層中補全 label; plan-review(exit_plan_mode)卡片不在改動範圍內;- 實現依賴 DSH 內部的類名後綴與
data-question-key;若卡片 DOM 大改,需更新插件選擇器。
實現要點(選讀)¶
資料中的實現分層便於排錯:
- 樣式層(
lib/dsh-question.css)—— 作用域在[data-question-key],處理 label 截斷、圓形單選、「其他/Other」前綴與浮層樣式。 - 交互層(
lib/client.js)—— 懸停/聚焦浮層、鍵盤處理、通過MutationObserver跟隨<html lang>。 - HMR ——
apply()會先銷燬上一代實例(window.__DSH_QUESTION_CARD__),避免熱重載疊加監聽器。
結尾¶
若你的工作流裏模型需要反覆向用戶確認選項或補充自由文本,dsh-question 把等待作答這件事收束到一張可鍵盤操作的卡片上,且與 DSH 中英文界面一致。安裝命令以 README 爲準;細節與截圖見 GitHub 倉庫,分類與索引見 SkillHub 目錄頁。