前言¶
在 DeepSeek Harness (DSH) Web 中,當 agent 發起 ask_user 或 plan 審批等提問時,提問面板會直接佔據對話框底部的一大塊區域。這會擠壓對話歷史可視的垂直空間,影響操作體驗。
townrain/dsh-question-panel-collapse 插件解決了這一問題。它通過在提問面板的 header 內部增加一個摺疊按鈕,將面板收縮爲一條緊湊的小條,釋放對話區域的佔用空間。
插件信息¶
- 插件名:
townrain/dsh-question-panel-collapse - 維護者:Townrain
- 許可:MIT
- 核心價值:將問答面板摺疊爲緊湊條,展開時保留未提交的草稿內容。
核心功能¶
- 摺疊(⌄):點擊面板 header 左側的 chevron 圖標,面板收縮成一條緊湊小條。此時左上角保留問題標題(13px 單行省略),右側保留取消按鈕與 chevron 按鈕。
- 展開(⌃):點擊摺疊條內的 chevron 按鈕,面板恢復完整內容(問題、選項、提交區)。摺疊僅通過 CSS 隱藏內容區,面板組件與草稿狀態始終存活在 composer chain 中,展開後原樣恢復。
- 狀態持久化:摺疊狀態自動保存到
localStorage。刷新頁面或切換工作區後,摺疊狀態依然保留。 - 覆蓋範圍:覆蓋
QuestionFlow(選擇題/填空)與PlanReviewPanel(plan 審批)兩種面板形態。 - 語言支持:中英文雙語 tooltip,跟隨 DSH 的
locale服務。 - 純前端實現:無 host 命令、無 LLM 調用、不進會話日誌,僅修改前端展示邏輯。
安裝與啓用¶
使用官方安裝命令添加插件:
dsh plugin --profile web add ./dsh-question-panel-collapse
或者通過 GitHub 安裝:
dsh plugin --profile web add "github:Townrain/dsh-question-panel-collapse#main"
安裝完成後重啓 DSH Web。當下次 agent 提問時,面板右上角“取消”按鈕左邊會出現 chevron 按鈕。
典型用法¶
- 摺疊面板:在提問面板的 header 左側點擊 chevron 圖標,面板收縮爲緊湊條。
- 展開面板:點擊摺疊條內的 chevron 按鈕,面板恢復完整內容,之前輸入的回答草稿原樣保留。
- 狀態保留:刷新頁面或切換工作區,摺疊狀態會自動恢復。
適用場景與注意¶
- 適用場景:適合需要在提問時保持對話歷史可見性的開發者。
- 技術依賴:插件硬依賴
inject = ['slots', 'locale'],需確保官方 harness 客戶端服務可用。 - 安全提示:插件爲純前端實現,無後端交互。安裝前建議檢查源碼與許可證(MIT)。
結語¶
該插件通過簡單的摺疊交互,優化了 DSH Web 中的屏幕空間利用,讓對話與審批流程更加緊湊高效。