DeepSeek Harness Hub
← 返回列表

Dis2017/dsh-run-guard

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
⚠ 装前注意

🛡️ dsh-run-guard

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/7 · 已提供中文文档
综合分
31.7
GitHub 分
31.7
用户评分
★ Stars
4
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Dis2017/dsh-run-guard
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-run-guard(未发布到 npm,仅可源码安装)
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 01:13:16

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/dsh-llm@deepseek-ai/dsh-settings@deepseek-ai/cordis
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

🛡️ dsh-run-guard

DeepSeek Harness 插件 · Agent 运行节奏守护 — 一体两面,让 LLM 在长任务中既不会「推理死循环停不下来」,也不会「想完就停不干活」。

GitHub stars
dsh-plugin
License

✨ 功能特性

| 能力 | 方向 | 说明 |
|------|------|------|
| guard(刹车) | 拦截推理死循环 | 监听 llm/stream 流,滑动窗口重复率检测 + 硬性上限双保险,死循环在 1~2 秒内被中断(而非空转数分钟);中断后自动重试(默认每 turn 2 次,可配),仍失败才停止并给出中文原因提示 |
| recovery(恢复) | 上游请求失败自动重试 | PI_AI_ERROR 等瞬时上游失败(不在 llm-retry 默认集合的)也自动重试(白名单可扩展),与 guard 共用每 turn 上限 |
| continue(油门) | 防止提前停摆 | turn 正常结束后自动续跑:有未完成 todo 时注入状态续跑;无 todo 但模型「想完就停」(最后只有推理、无正文无工具调用)时注入简洁提示续跑 |
| pause_work 暂停 | 人工控制 | 模型可随时调用 pause_work 工具主动暂停,两路都不会再自动继续 |

核心设计:刹车与油门共用一套状态感知,互不干扰——guard 中断的 turn 以 error 结束,continue 天然不会误推;continue 推进的新 turn 若再次死循环,guard 立刻拦截。闭环自洽。

🎯 为什么需要它

DeepSeek V4 Flash 配合 reasoningEffort: max 在长任务中会出现两种典型异常:

1. 想完就停:模型输出完整思考后直接正常结束 turn,没有正文、没有工具调用,留下未完成的任务——表现为「不干活」。
2. 推理死循环:模型推理进入重复空转(实测单步可输出 10.9 万块、132 万字符垃圾推理),持续数分钟不停——表现为「停不下来」。

DeepSeek Harness 的 agent loop 本身对这两种异常都没有调控机制。本插件在两端补齐:guard 保证它不会无限干活,continue 保证它不会不干活。

🧠 工作原理

模型推理流 ──► llm/stream (waterfall) ──► [guard] 滑动窗口重复率 + 硬闸
│ 触发:注入 REASONING_GUARD 错误中断
▼
agent/request-error 恢复扩展点
│ 错误码 ∈ {REASONING_GUARD} ∪ autoRetryErrors 且
│ 该 turn 重试
确认 node_modules/@deepseek-ai/ 已清空
ls node_modules/@deepseek-ai/
重启 dsh web

历史会话打开卡死

根因:死循环推理被全量落盘(单 step 可达 132 万字符),GUI 打开时前端处理巨型事件。

修复:本插件的 guard 保证之后不会再产生;存量会话需清理数据(结构保留、清空死循环文本)或归档。

🤝 开发

仓库结构

dsh-run-guard/
├── lib/
│   ├── index.js      # 合并入口:嵌套配置 + 按子开关挂载
│   ├── guard.js      # 刹车 half:检测器 + llm/stream 拦截 + 中断文案
│   └── continue.js   # 油门 half:自动继续 + pause_work
├── test/             # 54 个测试(guard / stream / continue / index / integration)
├── cordis.patch.yml  # bundle patch(dsh plugin add 自动挂载)
└── scripts/

迭代流程

git commit -m "fix: ..."
git push origin main
git tag v0.1.18 && git push origin v0.1.18
dsh plugin --profile web add "github:Dis2017/dsh-run-guard#v0.1.18"   # 或 remove + add 升级

依赖约定(重要)

- @deepseek-ai/* → peerDependencies(宿主提供单例),绝不能放 dependencies
- 业务依赖(裸 schemastery 等)→ dependencies
- 测试用的 dsh 依赖 → devDependencies(镜像 peer 版本,不随安装)

违反此约定会导致上述 prepare 错误。

📄 许可证

MIT © 2026 Dis2017

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群