前言¶
在 DeepSeek Harness (DSH) 的開發實踐中,ask_user_question 工具通常只能處理扁平的 1-3 個問題。當需要收集跨多個交互維度的期望、驗收標準或範圍界定時,這種簡單的線性提問無法滿足需求。我們需要的是具備路徑分支、深度選項和快速決策能力的系統。
dsh-rich-questions 插件提供了這種能力。它擴展了 DSH Web GUI 中的 ask_survey 工具,允許智能體從對話上下文中實時構建問卷,並在聊天界面直接渲染和作答。
這是什麼¶
這是一個由 svgop 維護的 DSH 客戶端插件。它是一個 MIT 許可證的開源項目,零運行時依賴。該插件爲 Web GUI 增加了富分支問卷系統,支持基於圖的分支邏輯、延遲懸停洞察、Mermaid 流程圖、快速模式以及 reroll/push/discuss 等操作。
核心功能¶
該插件提供了以下能力:
- 分支路徑:基於圖的分支邏輯,每個選項定義了下一題(
next),選擇選項 C 會觸發不同於選項 A 的後續問題。 - 每選項智能:每個選項攜帶洞察、來源和引用,以及緊湊的 Mermaid 圖。通過點擊展開披露(
?文本,分支圖標圖表),提供信息而非懸停突襲。 - 內聯理由:選中選項後可獲得鉛筆圖標,允許在提交前用一行字解釋選擇原因(Justify),這些理由會隨答案一起傳遞給智能體。
- 快速模式:提供 a-f 六個整體問卷決策模板,點擊即可應用完整的、連貫的答案映射並提交。例如,“像 Vercel/Railway 那樣交付:優先打磨 + DX”。
- 銀行 & 繼續:支持每步提交。在長問卷中,當前答案會自動保存在主機端,存活於刷新,並可在任意瀏覽器中繼續。
- 持久化進度:問卷草稿會自動保存。刷新頁面或切換標籤後返回,進度、問題和答案保持不變。
- 預飛行引導:在第一題之前提供 Reroll(重寫並升級)、Push(生成可複用研究產物)和 Discuss(切換到討論模式)操作。
- 語言跟隨:問卷語言根據聊天語言自動切換(英語/中文)。
- 主機權威:待定問卷狀態保存在主機端,關閉瀏覽器或標籤頁不會丟失狀態,重新連接時會自動恢復。
安裝與啓用¶
使用 DSH CLI 進行安裝:
dsh plugin --profile web add dsh-rich-questions
安裝完成後,重啓 dsh web 進程並刷新瀏覽器標籤頁。ask_survey 工具將出現在所有智能體預設中。
如果是通過 Fork 安裝:
dsh plugin --profile web add file:/path/to/dsh-rich-questions
典型用法¶
Agent 可以根據對話上下文動態生成問卷。問卷渲染在 composer 座位中,每頁顯示一個問題,並展示當前路徑的進度。Agent 可以使用 JSON 定義問卷結構,例如:
{
"survey": {
"title": "Expectation alignment",
"intro": "Short markdown preamble — the first page.",
"entry": "q1",
"questions": {
"q1": {
"prompt": "Which direction fits this release?",
"options": {
"a": { "label": "Stability", "next": "q2" },
"b": { "label": "Speed", "next": "q3" }
}
}
}
}
}
Agent 響應後,用戶在聊天輸入框區域直接進行作答。支持多選、自由文本、跳過邏輯等操作。
適用場景與注意¶
該插件適合處理需要分支邏輯、深度選項和快速決策的複雜工作流,如範圍界定、驗收標準收集等。
注意:
* 需要安裝 DSH >= 0.1.2-alpha.1。
* 需要運行 Node >= 20。
* 插件以當前 DSH 進程的權限運行。
* 安裝前應檢查源碼與許可證。
結語¶
dsh-rich-questions 將問卷系統無縫集成到 DSH 的對話流中,解決了傳統表單工具在智能體交互中的割裂感。它通過主機權威的狀態管理和銀行功能,確保了長流程問卷的可用性。