dsh-auto-continue
回答因达到单次输出 token 上限被截断时自动发送"继续"续写,无需手动操作;面向自部署 Ollama 等小输出上限场景。
会话消息
dsh-auto-continue
回答被输出上限截断时自动续写——为自部署 Ollama 用户打造。
当模型达到单次请求的输出 token 上限(max-tokens)时,DeepSeek Harness 会结束这一轮并提示"发送'继续'可让模型接着输出"。本插件监听该事件并自动发送续写指令——不用手动打字,不用守着长回答。
🦙 这个插件是给谁的? 自部署 Ollama 的用户。本地模型跑在消费级硬件上,通常刻意把输出上限设得很小(4K–8K)以保证硬件稳定——于是长回答频繁被截断。本插件就是让截断不再痛苦的"创可贴",不需要调高上限。任何 provider 都能用,但它是为 Ollama 设计的。
功能
- 🔁 自动续写:检测到
max-tokens截断时,自动通过agent.followup()队列一条"继续",模型在新一轮接着输出。 - 🛡️ 防死循环:同一会话连续截断最多自动继续 5 次(默认),任何正常结束的轮次都会重置计数。
- 🙅 不抢输入:你已有排队消息时自动跳过,不与手动输入打架。
- 📝 审计日志:每次自动继续都有记录可查。
安装
▼sh复制代码dsh plugin --profile web add github:zhou1736948757-cpu/dsh-auto-continue
或在设置里的 dsh-market 插件市场中浏览安装。
工作原理
- 监听每个 agent 会话的
session/event事件流,识别turn/end且reason.kind === "max-tokens"。 - 短暂延迟(等 turn/end 落盘)后,通过
agent.followup()队列一条用户消息(默认文本继续,带source.kind = "auto-continue"标记)。 - 截断的输出保留在对话中,模型从断点接着输出——和你手动发"继续"完全一样,只是自动化了。
配置
在 settings.yaml 中添加(或直接用默认值):
▼yaml复制代码dsh-auto-continue: maxAutoContinues: 5 # 同一会话连续截断最多自动继续次数(1-20) continueText: 继续 # 续写指令文本 delayMs: 300 # 检测到截断后延迟发送(ms),等 turn/end 落盘 logFile: '' # 日志路径,默认 $DSH_HOME/super-injector/dsh-auto-continue.log
日志
每次自动继续都会写入 $DSH_HOME/super-injector/dsh-auto-continue.log(默认路径)。如果某次回答没续上,看日志就知道是"达到上限停止"还是"发送失败"。
说明
- 这是兜底方案,不是治本。如果硬件允许,调大模型
maxTokens(设置 → 模型)或降低reasoningEffort能减少截断本身。 - 推理强度为
max时,截断可能发生在正文出现之前(额度被思考耗尽)。插件照常续写,模型会继续思考直到出正文。 - 每次续写就是一次普通请求,对硬件的压力与你手动发"继续"完全一样。
许可证
BSD-3-Clause
会话消息










