dsh-pref-kit:在 DSH 流式輸出源頭合併相鄰文本增量

前言

DSH 的插件機制允許把不同能力掛到同一運行流程中。對模型流式輸出來說,一個常見問題是相鄰文本增量會形成較多小事件;長會話、多 agent 併發時,這些事件會進入會話日誌、推送和前端處理鏈路。

dsh-pref-kit 是一個 DSH 性能插件,它在數據流源頭把同一文本塊內的相鄰 text / reasoning 增量合併後再寫入會話日誌與推送,從而減少會話事件量,緩解長會話與多 agent 併發下的卡頓和資源佔用。插件不改任何接口與協議。

這是什麼

gameswu/dsh-pref-kit 由 gameswu 維護,許可證爲 MIT,當前版本爲 0.2.1,運行要求 node >= 20

它面向 DSH 的 web profile,默認提供流式合併能力,並在 Settings → Plugins 中提供配置卡片。實驗開關默認全部關閉。

核心功能

  • 流式合併(默認開啓):把同一文本塊內的相鄰 text / reasoning 增量合併後,再寫入會話日誌與推送。
  • 完全透傳模式:windowMs = 0 時關閉合並,逐 token 透傳,與未裝插件的逐事件行爲等價。
  • 配置卡片:Settings → Plugins 提供 dsh-pref-kit 配置卡片,修改保存後即時生效、跨重啓保留。
  • 實驗開關(默認全關):包括替換軌跡視圖、聊天區渲染提示、運行時行管理。
  • 運行時行管理:可按白名單禁用或啓用官方插件行,Host 即時生效並持久化,客戶端需刷新頁面。
  • 兼容邊界:不改任何接口與協議。

安裝與啓用

安裝前,先在本地拿到 dsh-pref-kit 源碼目錄。構建完成後,使用 file: 方式裝入目標 profile。

cd dsh-pref-kit
npm run build
dsh plugin --profile web add "file:$(pwd)"

第一條命令進入插件源碼目錄,第二條命令構建插件,第三條命令把當前目錄作爲本地插件裝入 web profile。

裝入後需要重啓 DSH 纔會生效。啓動日誌出現下面內容,表示流式合併器已激活:

[dsh-pref-kit] llm/stream coalescer active

更新插件時,先重新構建,再移除舊插件並重新裝入:

npm run build
dsh plugin --profile web remove dsh-pref-kit
dsh plugin --profile web add "file:$(pwd)"

卸載時使用:

dsh plugin --profile web remove dsh-pref-kit

典型用法

默認情況下,插件開啓流式合併。合併窗口由 windowMs 控制,默認值爲 30 ms。

windowMs = 30
windowMs = 0

windowMs = 30 表示按 30 ms 窗口合併相鄰文本增量;windowMs = 0 表示關閉合並,逐 token 透傳。窗口越大,事件削減越多,但首個字延遲約等於窗口。

實驗項默認關閉,可通過 Settings → Plugins → dsh-pref-kit 卡片配置:

  • 替換軌跡視圖:用於接管官方軌跡入口,需先禁用官方 ui-trajectory 行。
  • 聊天區渲染提示:畫面不變,讓瀏覽器減少視口外內容的繪製。
  • 運行時行管理:按白名單禁用或啓用官方插件行,Host 即時生效並持久化,客戶端需刷新頁面。

離線基準顯示,在 30 ms 合併窗口下,事件量下降 11–56%;其中短回覆 −45.6%、長回覆 −53.5%、6 併發 −55.6%、複雜長會話 −11%。

適用場景與注意

適合長會話、多 agent 併發、流式事件較多的 DSH 使用場景。若希望減少會話日誌、推送和前端處理壓力,可保留默認流式合併;若需要逐 token 延遲最低,可將 windowMs 設爲 0 恢復逐事件透傳。

使用實驗項前,需要確認對應官方行是否已被禁用或啓用。例如,替換軌跡視圖需要先禁用官方 ui-trajectory 行;運行時行管理在 Host 即時生效並持久化,客戶端刷新頁面後才能看到最終狀態。

插件以當前 DSH 進程權限運行。安裝前應檢查源碼、MIT 許可證,以及它要修改的插件行和運行時行爲,確認符合你的環境要求。

參考

dsh-pref-kit 的價值在於不改接口與協議的前提下,把流式輸出的相鄰文本增量合併,降低會話事件量,同時保留關閉合並與實驗開關的控制。

目錄頁(來自插件線索):https://www.skillhub.cn/plugins/gameswu/dsh-pref-kit
GitHub:https://github.com/gameswu/dsh-pref-kit

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

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

小夜