在 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 上查看源码。