前言¶
在 DSH WebUI 中,一次回答往往不是隻有一段最終文本。模型過程中會出現 thinking、notes、commands 和 tool calls,也可能帶有 context injection。隨着 turn 變長,這些 Agent activity 會擠佔對話空間,也讓最終答覆不容易快速定位。
dsh-turn-fold 要解決的是這個界面層面的問題:它把已完成 turn 的 Agent activity 摺疊成摘要欄,並讓最終答覆保持可見。
這是什麼¶
@ch4acko3/dsh-turn-fold 是一個 DSH WebUI 插件,由 CH4ACKO3 維護,分類爲 ui,許可證爲 MIT。
它的核心價值是:爲 DSH WebUI 對話添加 Codex-Desktop 風格的 turn 摺疊,將每個已完成 turn 的 Agent activity 摺疊成摘要欄,最終答覆保持可見。
核心功能¶
下面介紹已覈實的能力:
- 爲 DSH WebUI 對話添加 Codex-Desktop 風格的 turn 摺疊。
- 摺疊期間摘要欄保持可見,原生 thinking、notes、commands 和 tool calls 繼續流式顯示。
- 將已知 Agent activity,包括 context injection,移入最終答覆前的一個 disclosure。
- 最終答覆通過
turn-tail.closing.finalNode定位,而不是finish_reason或 DOM position。 - 對 completed、stopped 和 interrupted turns 摺疊,並顯示不同狀態標籤。
- 在 DSH 標記 closing branch unavailable、closing answer 後有節點、焦點/文本選擇內、failed、max-token、closing-less 或 open 時保持展開。
- 展開時複用原始終生節點渲染器,保留 tool details、copy 和 file links。
- 通過 DSH 原生 locale service 註冊英文和中文詞典。
- 以內存中 Source Patches 運行,不修改已安裝 DSH 文件。
- 可配置指標默認爲 wall time、tool-call count 和 input/output tokens。
安裝與啓用¶
先安裝插件,再檢查補丁狀態。
dsh plugin --profile web add github:CH4ACKO3/dsh-turn-fold
dsh harmony status --profile web # all three patches must be `bound`
第一條命令將插件添加到 web profile;第二條命令用於確認相關 Source Patches 已綁定。看到三個 patches 都爲 bound 時,說明插件已按預期啓用。
典型用法¶
1、在 DSH WebUI 中完成一個 turn,查看已完成 turn 的摘要欄。
2、需要複查過程時展開 disclosure,查看摺疊前的 Agent activity。
3、本地倉庫中運行測試:
node test/run.cjs
經過上面的步驟,可以分別查看摺疊、展開、狀態標籤和本地化表現。
適用場景與注意¶
- 適合使用 DSH WebUI,並希望壓縮已完成 turn 中過程性信息的開發者。
- 適用於
@deepseek-ai/dsh-client-ui-conversation從0.1.0-rc.8到0.2.0prerelease line,不包括0.2.0。 - Node 要求爲
^22.22.3 || >=24.11.1。 - 插件以當前
dsh進程權限運行,安裝前建議檢查源碼和許可證;本項目許可證爲 MIT。 - 它以內存中 Source Patches 運行,不修改已安裝 DSH 文件。
- 選擇器必須恰好匹配一次;不兼容編譯形態會 fail closed。
- 發佈通過 Trusted Publishing (OIDC),不使用長期 npm token。
結尾¶
dsh-turn-fold 的價值在於把已完成 turn 的 Agent activity 收進摘要欄,同時保留最終答覆、原生流式內容和展開後的原始渲染細節。它適合關注 DSH WebUI 對話體驗的場景,也適合作爲 DSH 插件生態中的 UI 類插件使用。
目錄頁鏈接未包含在已覈實資料中。GitHub 地址:https://github.com/CH4ACKO3/dsh-turn-fold