dsh-conversation-folding:DSH 對話流渲染增強插件

在 DSH(DeepSeek Harness)的開發與使用中,對話流的渲染效率直接影響調試與交互體驗。當思考鏈、工具調用等中間過程混在正文中間時,對話流會變得冗長且難以閱讀。dsh-conversation-folding 插件旨在解決這一問題,通過摺疊機制優化 UI 展示,而不改變底層內容邏輯。

這是一個純 UI 增強插件,由 TheHeartFickle 維護。它將思考過程和工具調用等中間步驟摺疊起來,同時保持用戶輸入和 LLM 輸出使用原生渲染樣式,不改變內容本身。

核心功能

  1. 整輪摺疊(默認)
    用戶輸入保持原生樣式。思考/工具調用過程被摺疊爲一個獨立的摺疊欄。尚未生成正文時,摺疊欄下方保留最近一次過程預覽;開始生成正文後,過程自動隱藏,只顯示正文。點擊“展開過程”可以查看完整過程。

  2. Tool call 分組摺疊
    連續的 tool-call 步驟會摺疊成組,默認只顯示最新一個,減少對話流中的重複工具調用刷屏。

  3. 思維鏈增強
    Think 塊默認展開爲可滾動子框。生成過程中自動跟隨底部,方便實時閱讀。新出現時,只摺疊緊鄰的前一個,保持上下文連續。

  4. 摺疊的步驟類型可按類型配置
    設置 →「對話摺疊」獨立標籤頁:18 個步驟類型分別開關是否摺疊(bash / think / read / write / edit / glob / grep / web / skill / 子代理 / 後臺任務 / goal / 任務清單 / 提問 / ralph / workflow / 上下文注入 / 系統提示詞)。默認不折疊:上下文注入、skill、系統提示詞;其餘類型摺疊。

安裝與啓用

前置條件:已安裝 DSH,且 dsh web 可以正常運行。環境要求 Node.js ≥ 20,DSH ≥ 0.1.2-rc.1。

通過 DSH CLI 安裝:

dsh plugin --profile web add @the-heart-fickle/dsh-conversation-folding@latest

安裝後,重啓 DSH 並刷新瀏覽器頁面。

典型用法

  1. 發送一條消息。
  2. 觀察:思考/工具調用過程被摺疊爲獨立摺疊欄;正文開始輸出後,過程自動隱藏。
  3. 點擊“展開過程”可查看完整過程。
  4. 想回到官方渲染時,在設置中把「對話顯示」切換爲 Normal / Compact 即可。

配置

全部配置在瀏覽器端「設置」內完成,經 host 設置系統持久化到 ~/.dsh/settings.yaml(dsh-conversation-folding: 命名空間),跨端/重載恢復。

  • 對話顯示(設置 → 對話顯示):Normal / Compact / Fold。僅「Fold」由本插件接管過程摺疊,摺疊行爲只有一種:整輪摺疊,正文永不折疊。
  • 對話摺疊(獨立標籤頁):各步驟類型的「是否摺疊」開關。工具調用按 host 工具註冊表的字面註冊名經匹配表精確匹配(如 pwsh→Shell 命令、str_replace_editor→編輯文件、todo_write→任務清單、ask_user_question→提問);未列入匹配表的工具類型始終摺疊。默認不折疊:上下文注入、skill、系統提示詞。瀏覽器 localStorage 不存任何配置。

注意:0.1.x 曾支持 profile cordis.patch.yml 下發 foldMode / auxVisible;自本版本起配置全部移到瀏覽器設置,host 不再持有配置。

適用場景與注意

適合需要頻繁查看工具調用細節,但又不希望被大量中間過程刷屏的開發者與用戶。

注意:插件以當前 DSH 進程權限運行,安裝前請檢查源碼與許可證(MIT)。

總結

該插件通過摺疊機制提升了長對話的閱讀體驗。更多細節與源碼,可參考:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜