← 返回列表
需源码安装
DeepSeek Harness 的「自动继续」插件:当一回话因为模型重试耗尽、供应商报错、
暂不能直接安装(需源码编译或环境不满足):仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/9/19 · 已提供中文文档
DeepSeek Harness plugin: auto-send 继续 when a turn is interrupted by an exhausted model retry, provider error, or truncated output. Adds 开启/关闭 switches to the composer + menu.
综合分
30.7
GitHub 分
30.7
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ZFXing-lite/dsh-auto-continue仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 2 天前真实安装成功
- 是什么
- dsh 原生插件 · chat
- 装得上吗
- 本站已真实安装成功(非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 6 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/24
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-auto-continue(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
仓库 package.json 标记 private,未发布到 npm,需从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/20 20:44:48
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-settings@deepseek-ai/schemastery用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-auto-continue
DeepSeek Harness 的「自动继续」插件:当一回话因为模型重试耗尽、供应商报错、
请求超时、或输出撞上长度上限而异常结束时,自动发送「继续」,让工作接着跑。
在聊天框「+」菜单里提供一行 「自动继续」+ 滑动开关(默认靠左「关」,点击滑至右侧「开」,
滑块上带「开 / 关」字样视觉反馈)。
English · 设计大纲 · 部署文档
它解决什么问题
长任务跑到一半,常常因为一些「非用户意愿」的因素断掉:
- 模型供应商临时 5xx / 限流,重试几次都没救回来;
- 请求超时、网络抖动;
- 单次输出太长,撞上 max-tokens 天花板,话没说完就停了;
- 其他把一回话以错误结束的情况。
这些在 DeepSeek Harness 里最终都收敛成同一条事实:一回话(turn)异常结束,
会话日志里写一条 turn/end + 结构化的结束原因。本插件只盯这一条事实:
回合异常结束 → 等一个小的冷却时间 → 用 DSH 自己的公开 API
(agent.followup(),和「目标续跑」走的是同一条路)投递一条「继续」,
让对话继续。
为什么是这样做(而不是别的)
| 方案 | 评价 |
| --- | --- |
| 自己接管 agent/request-error 做重试 | ❌ 会和 llm-retry 抢同一个瀑布;重试策略该由 provider 配置决定 |
| 包一层 LLM 中间件重发请求 | ❌ 只能救「单次请求」,救不了「回合已经失败结束、但工作没做完」这个真正的场景 |
| 观察 turn/end + agent.followup('继续')(本插件) | ✅ 用 DSH 自己的稳定事件与公开 API;对所有导致回合异常结束的因素统一生效 |
关键点:它不关心是哪种中断。模型重试、超时、供应商报错、输出截断——
这些在 DSH 里最终都变成一条 turn/end + 结构化原因。插件只对这一条事实做判断,
因此天然覆盖「等其他因素」。
功能一览
- 聊天框「+」菜单里多出一行:自动继续 + 右侧滑动开关,默认靠左「关」,
点击滑至右侧「开」,滑块上显示「开 / 关」字样。
- 开关走 DSH 自己的 settings 通道,持久化、刷新/重启后保持。
- 回合失败 / 输出截断后,自动发送「继续」,在对话流里显示为一条可展开的上下文行
(不冒充用户消息,来源标注为 plugin: auto-continue)。
- 安全围栏(详见 设计文档 §5):
- 用户按「停止」永不自动续跑;
- 人类插话即让路;
- 只在真空闲时发,不打断正在跑的回合;
- 连续续跑次数封顶(maxStreak,默认 12),防死循环烧钱;
- 默认只管根 agent,不干扰子 agent 编排;
- 不做「卡住看门狗」(长命令本就会长时间静默,那种看门狗必然误伤)。
配置项
通过 Settings → Plugins → auto-continue,或直接编辑 cordis.patch.yml 的 config:
| 字段 | 默认 | 说明 |
| --- | --- | --- |
| enabled | false | 总开关(「+」菜单的滑动开关写的就是它;默认关) |
| prompt | 继续 | 自动发送的正文 |
| delayMs | 1500 | 回合结束后等多久再发(留出结算时间) |
| maxStreak | 12 | 连续自动续跑上限,只被真实人类消息清零 |
| onError | true | 回合失败后续跑 |
| onMaxTokens | true | 输出截断后续跑 |
| onAborted | false | 非用户原因中止后续跑(用户停止不受此项影响,永不续跑) |
| onBlocked | false | 被阻断后续跑 |
| includeSubagents | false | 是否也管子 agent |
| announce | true | 预留:是否把续跑记录进会话日志 |
快速安装
详见 部署文档。最简步骤:
1. 把本目录放进你的 DSH 插件目录(例:/root/普通目录/dsh-auto-continue)
2. 在 web profile 里登记
dsh plugin --profile web add /root/普通目录/dsh-auto-continue
3. 把插件加入 bundle 列表(见部署文档),然后重启 dsh
systemctl restart dsh.service # 或你的等价方式
重启后刷新页面,点聊天框的「+」,即可看到「开启自动继续 / 关闭自动继续」。
验证
本仓库带三层测试,从单元到真实主机端到端:
node test/engine.test.mjs # 决策引擎:13 个用例
node test/e2e.test.mjs http://127.0.0.1:3098 /path/to/work # 真实失败回合 → 自动继续 → 封顶
浏览器「+」菜单:
node test/menu.probe.mjs http://127.0.0.1:3098 # 需要 playwright
e2e.test.mjs 会起一个没有可用凭证的隔离 DSH 主机,让每次模型请求都真实失败,
然后断言:失败回合 → 插件真的发了「继续」→ 连续 maxStreak 次后真的停手。
许可
MIT