dsh-turn-fold:把 DSH 的 Think 與工具調用摺疊成步驟和回合欄

前言

在 DSH(DeepSeek Harness)的 Web 界面裏,一輪智能體回覆可能同時包含 Think、工具調用、文件讀取和命令輸出。內容一多,界面會被過程節點佔滿,最終總結反而不容易快速定位。

dsh-turn-fold 是一個 DSH 純插件,只負責“摺疊”:把步驟過程收成步驟摺疊欄,把整輪迴復收成回合摺疊欄,同時保留手動展開/收起能力。它由 Winter-And-You-Gone 維護,使用 MIT 許可證,不修改任何 @deepseek-ai/dsh-* 源碼。

DSH 插件生態屬於社區擴展方式;相關目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不應理解爲官方應用商店。

這是什麼

  • 插件名:dsh-turn-fold
  • npm 包名:@winteries/dsh-turn-fold
  • 倉庫:https://github.com/Winter-And-You-Gone/dsh-turn-fold
  • 許可證:MIT
  • 運行要求:Node >=20.3,DSH Web profile
  • 核心作用:步驟分組自動摺疊、運行中回合摺疊欄、整回合摺疊、手動展開/收起

核心功能

步驟分組自動摺疊

兩個 text 之間的工具調用和 Think(含純 Think 段)會收成一個步驟摺疊欄,默認摺疊。

運行中,步驟摺疊欄會動態顯示當前動作,例如正在運行的工具名、參數摘要,或正在思考的 Think 內容;文字帶 shimmer 動效。

段閉合後,摺疊欄按工具類型分組顯示標題,例如:

  • 運行了pwsh
  • 讀取了client.js
  • 編輯了index.js [ +12 -3 ]
  • 搜索了2次
  • 思考了N次

組內命令執行失敗時,標題會標紅並追加失敗數。

運行中回合摺疊欄

發送消息後,回合摺疊欄即出現。它會即時顯示:

  • 耗時
  • 首字
  • 消耗 token
  • tok/s
  • 緩存命中率
  • 待摺疊步數

右側顯示輪次,例如 第x輪。

回合結束後,指標會切換爲官方權威值:turn-tail 的 tok/s、turn/end 的精確耗時。

整回合摺疊

一輪迴復完成後,整個回合同樣會收成回合摺疊欄。展開時可以看到本回合內的過程內容;最終總結只顯示正文。

摺疊作用域不越過用戶消息,不會摺疊用戶消息上方的內容。

手動與界面

  • 手動展開/收起摺疊欄。
  • 每個新版本首次加載時彈出一次更新說明。
  • 複用官方 DisclosureRow 樣式,摺疊欄下方有常駐分隔線,行距保持緊湊。
  • 展開/收起有過渡動畫;系統開啓“減少動態效果”時自動退化或禁用。
  • 界面文案跟隨 DSH 界面語言即時切換,支持簡體中文/英語。
  • 摺疊欄帶 aria-label / aria-expanded,鍵盤可操作。
  • 前導圖標可自定義,內置動態撲克牌。
  • 適配 DSH 新舊版本。

安裝與啓用

npm 安裝

先確認本機 Node 滿足 >=20.3,然後在 DSH Web profile 下執行:

dsh plugin --profile web add @winteries/dsh-turn-fold

也可以從 GitHub 源碼安裝:

dsh plugin --profile web add github:Winter-And-You-Gone/dsh-turn-fold

dsh plugin 會把包加入 profile 的 pnpm 依賴,並自動追加到組合包層 dsh.profile.bundles。

驗證配置

執行:

dsh --profile web --dump-config

確認輸出中能看到 @winteries/dsh-turn-fold 層。

重啓 DSH

安裝完成後,完全退出 DSH 進程並重啓,再打開 Web 界面驗證摺疊欄效果。

手工安裝

如果已有本地插件目錄,可以使用 PowerShell 腳本:

.\install.ps1 -PluginSource "<你的插件目錄>"

腳本會:

1、在 ~/.dsh/profiles/node_modules/@winteries/dsh-turn-fold 建立 Junction;
2、在 ~/.dsh/profiles/web/cordis.patch.yml 追加 insert 註冊;
3、完成後同樣需要完全退出 DSH 進程並重啓。

典型用法

1、啓動 DSH Web profile。
2、發送一條會觸發 Think 或工具調用的消息。
3、消息發出後查看運行中回合摺疊欄,觀察耗時、首字、token、tok/s、緩存命中率等指標。
4、等待本輪迴復完成,查看最終總結正文是否保留、過程內容是否已收成回合摺疊欄。
5、點擊摺疊欄展開/收起,檢查步驟標題、失敗標紅、圖標和分隔線顯示。

如果你要在本地跑測試:

npm install
npm test

npm test 使用 node --test 運行 tests/ 下的全部測試。

適用場景與注意

適合:

  • 在 DSH Web 界面中使用長回合智能體回覆。
  • 希望減少 Think、工具調用、命令輸出佔據可視區域的場景。
  • 希望保留最終總結正文,同時仍可按需展開過程節點。

注意:

  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
  • 新安裝請使用 @winteries/dsh-turn-fold;舊包名 dsh-turn-fold 仍會隨每次發佈同步更新。
  • 手工安裝會修改 profile 的註冊文件,卸載或回滾前確認來源。
  • 卸載 npm 安裝的插件:
dsh plugin --profile web remove @winteries/dsh-turn-fold

結尾

dsh-turn-fold 的價值很具體:把 DSH 運行過程中的 Think、工具調用和回合指標摺疊成可展開/收起的欄位,最終總結正文保持可見。它不修改 DSH 核心包,適合作爲 DSH Web 界面的摺疊增強插件。

插件線索目錄頁:https://www.skillhub.cn/plugins/Winter-And-You-Gone/dsh-turn-fold
GitHub:https://github.com/Winter-And-You-Gone/dsh-turn-fold

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

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

小夜