在 DeepSeek Harness 中,官方的智能體循環默認每次處理一條排隊消息。如果智能體正在執行任務,而你同時排入了多條後續消息,系統會逐一處理:先執行一條,發現不妥重做,再執行下一條,再次修正。這種“拼湊式”重做容易打斷上下文,消耗更多 token。
dsh-queue-merge 插件解決了這個問題。它提供了一種第三種隊列消費策略:合併。當滿足條件時,插件將多條排隊消息合併爲一條正式提示詞,供智能體在下一輪統一處理,避免逐條重做的繁瑣過程。
插件簡介¶
dsh-queue-merge 是一個由 keyiadiannao 維護的工作流插件。它的核心價值在於將排隊中的多條後續消息整合成一條正式提示詞,供智能體在下一輪統一處理,而不是讓智能體反覆修正每一條消息。
核心功能¶
下面介紹該插件的主要功能。
- 合併後續消息:插件會將排隊中的多條後續消息重寫爲一條正式的提示詞,智能體只需處理一次。
- 事務性零損耗:合併操作是事務性的,只有在合併成功後纔會進行拼接。如果合併失敗,排隊消息會保留,智能體自動回退到官方的逐條處理循環。
- 保護附件與系統消息:插件不會合並圖片、文件或系統消息。如果隊列中包含非文本內容,合併會被跳過。
- 隊列身份守衛:在拼接前,插件會檢查消息隊列是否被用戶修改。如果檢測到變更,合併操作會被中止,防止錯誤的拼接。
- 語言跟隨 UI:合併後的提示詞語言會跟隨當前 UI 的語言設置(簡體中文或英文)。
- 原始消息溯源:合併後的消息旁會顯示一個溯源徽章,允許你查看原始消息,保留意圖的可追溯性。
安裝與啓用¶
使用以下命令將插件添加到 Web 配置文件中:
dsh plugin --profile web add "github:keyiadiannao/dsh-queue-merge#master"
安裝後,需要在配置文件中指定默認策略。在 DSH 的配置文件中添加如下內容:
- id: dsh-queue-merge
config:
defaultMode: merge
這裏的 defaultMode: merge 表示啓用批量合併策略。
注意事項¶
- 觸發條件:插件僅在有 2 條或更多消息排隊時纔會激活。
- 有損重寫:合併本質上是模型重寫文本的過程,原始文本會被替換。但無論重寫結果如何,隊列本身在失敗時不會丟失。
- 權限邊界:插件不會擴大智能體的權限,它只是重寫文本,不會憑空創造智能體未曾獲得的操作許可。
總結¶
dsh-queue-merge 通過合併排隊消息,減少了智能體在多輪交互中的反覆重做,提高了處理效率。你可以通過 技能中心目錄 查看更多詳情,或在 GitHub 上查看源碼。