🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

任务看门狗 akira399/dsh-stall-guard

DeepSeek Harness
akira39981 天前有提交已提供中文文档扫描:含敏感能力

监控任务卡顿并阶梯引导恢复,绝不终止

28.1/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add akira399/dsh-stall-guard
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/26·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 81 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
  • 写入本地文件
    lib/index.js:190
    mkdirSync(LOG_DIR, { recursive: true });
  • 写入本地文件
    lib/index.js:191
    appendFileSync(LOG_FILE, JSON.stringify(line) + "\n", "utf8");
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 检测卡住的智能体回合
  • 阶梯引导恢复
  • 记录事件到JSONL

DeepSeek Harness 看门狗插件:检测真正卡住的智能体回合(绝不误杀进行中的任务——执行中的操作一律豁免),只在真正静默时才催促或终止,把每个事件记进 JSONL,并提供回环状态路由

README

由 DeepSeek 最新模型翻译生成
dsh-stall-guard DeepSeek Harness(DSH)任务看门狗插件:监控任务执行状态,判断是否真正卡死,并通过“排查→修复→换方向”的阶梯式引导帮助任务恢复——全程不终止任何任务。 核心流程(监控 → 判断 → 继续 / 修复 / 换方向) agent/status (running/idle) ─┐ session/event (turn/step/tool/llm) ─┼─→ 追踪每个会话的“最后活动时间”与“在飞操作” │ 周期扫描(checkIntervalMs)──→ 运行中且 静默 > stallThresholdMs ? │ ├─ 有在飞操作(busy>0)或持续有事件 → 判定“推进中” → 继续执行,不干预 │ (超 busyTimeoutMs 仅记一条 LONG_RUNNING 日志) │ └─ 真静默(无事件 + 无在飞)→ 阶梯式引导(注入提示消息):第1级 诊断(DIAGNOSED) :请 Agent 排查当前状态、说明卡住原因(附看门狗诊断现场)第2级 修复(FIXING) :请 Agent 针对卡点重试/完成/修复后继续第3级+ 换方向(REDIRECTING):请 Agent 放弃当前方法、改用替代方案持续推进(每级按冷却间隔推进,第3级后循环;任何活动事件都会重置回第1级) │ 事件写入 $DSH_HOME/stall-
展开完整文档(README 剩余 1 节)
dsh-stall-guard

DeepSeek Harness(DSH)任务看门狗插件:监控任务执行状态,判断是否真正卡死,并通过“排查→修复→换方向”的阶梯式引导帮助任务恢复——全程不终止任何任务。

核心流程(监控 → 判断 → 继续 / 修复 / 换方向)

agent/status (running/idle) ─┐
session/event (turn/step/tool/llm) ─┼─→ 追踪每个会话的“最后活动时间”与“在飞操作”
│
周期扫描(checkIntervalMs)──→ 运行中且 静默 > stallThresholdMs ?
│
├─ 有在飞操作(busy>0)或持续有事件 → 判定“推进中” → 继续执行,不干预 │ (超 busyTimeoutMs 仅记一条 LONG_RUNNING 日志) │ └─ 真静默(无事件 + 无在飞)→ 阶梯式引导(注入提示消息):第1级 诊断(DIAGNOSED) :请 Agent 排查当前状态、说明卡住原因(附看门狗诊断现场)第2级 修复(FIXING) :请 Agent 针对卡点重试/完成/修复后继续第3级+ 换方向(REDIRECTING):请 Agent 放弃当前方法、改用替代方案持续推进(每级按冷却间隔推进,第3级后循环;任何活动事件都会重置回第1级) │ 事件写入 $DSH_HOME/stall-guard/events.jsonl 状态查询 GET /api/dsh-stall-guard/status

关键承诺:插件永不终止任务。 它只通过注入消息引导 Agent 自己排查、修复、换方向;没有 terminate 选项,也没有任何终止指令。

安装

npx -p @deepseek-ai/dsh dsh plugin --profile web add github:akira399/dsh-stall-guard

安装后重启 DSH。插件默认启用。

配置(settings.yaml 的 stall-guard 命名空间)

| 键 | 默认值 | 说明 |
| enabled | true | 总开关 |
| stallThresholdMs | 120000 | 真静默阈值(毫秒):运行中、无任何事件、且无在飞操作时,静默超过该值判定卡顿 |
| checkIntervalMs | 5000 | 扫描间隔(毫秒) |
| busyTimeoutMs | 600000 | 在飞操作观察窗口(毫秒):有工具调用 / LLM 请求在飞 = 任务在推进,永不引导;仅静默超过该值后记录一条 LONG_RUNNING;0 关闭该记录 |
| stallRecordIntervalMs | 60000 | STALL 记录节流间隔(毫秒),防止持续卡顿时日志刷屏 |
| policy | "auto" | auto(诊断→修复→换方向阶梯)/ report(仅记录不引导) |
| nudgeCooldownMs | 30000 | 阶梯消息的冷却间隔(毫秒) |
| diagnoseMessage | 内置默认 | 第 1 级:排查指令(自动附加诊断现场:最后活动、位置、静默时长) |
| fixMessage | 内置默认 | 第 2 级:修复指令 |
| redirectMessage | 内置默认 | 第 3 级+:换方向指令 |

示例:

stall-guard:
stallThresholdMs: 60000
checkIntervalMs: 3000
policy: auto

修改后热生效(无需重启)。

防误杀:什么才算“卡住”

| 任务情况 | 判定 | 行为 |
| 持续有事件(步骤/工具/LLM 流在动) | 推进中 | 不动(计时持续刷新,任何活动都会把阶梯重置回第 1 级) |
| 单个长操作在飞(如 10 分钟构建、长文本生成) | 推进中(busy > 0) | 不引导、不干预;超过 busyTimeoutMs 仅记一条 LONG_RUNNING |
| 无任何事件 + 无在飞操作,静默超 stallThresholdMs | 真卡死 | 阶梯式引导(诊断 → 修复 → 换方向循环) |

“任务执行时间长”≠“卡住”:只要项目有推进(事件或在飞操作),看门狗就不会碰它。

查看状态

- 事件日志:~/.dsh/stall-guard/events.jsonl(每行一个 JSON 事件:STALL / LONG_RUNNING / DIAGNOSED / FIXING / REDIRECTING;永远没有终止类事件)
- 实时状态:GET http://127.0.0.1:3080/api/dsh-stall-guard/status(当前配置、各会话看门状态含 ladderStage、最近 50 条事件)

设计边界(重要)

- 检测:基于“运行中 + 无活动事件 + 无在飞操作”判定卡顿,覆盖:LLM 调用挂起、工具调用挂起、循环空转等无进展场景。turn/start/turn/end 驱动运行状态,插件从 turn 打开即开始监视(即使错过 agent/status 事件)。
- 在飞豁免:tool/call→tool/result、request/header→assistant/message、tool-workflow/run-* 维护在飞计数;有操作在飞 = 推进中,绝不引导。
- 引导方式:通过注入 user/message 事件生效(这是外部向 Agent 输入消息的合法通道);若 Agent 卡死在一个永不返回的 await 上,注入消息会排队到该步骤结束后才被处理——此时继续等待下一级引导,永不终止。
- 诊断信息:每条阶梯消息都附带看门狗自己的诊断(最后活动事件、turn/step 位置、静默时长),帮助 Agent 快速定位卡点。
- 上报:事件落盘 + 状态路由 + 插件日志。GUI 通知可作为后续增强。

验证

pnpm verify

覆盖:语法、默认配置、活动追踪、在飞豁免(长工具不引导、在飞 LLM 永不引导)、真静默检测、诊断→修复→换方向阶梯、换方向循环不终止、活动重置阶梯、STALL 节流防刷屏、turn/start 独立触发监视、无任何终止事件、事件落盘、状态路由、隐私扫描。

许可

MIT © 2026 dsh-stall-guard contributors
预览分享卡片长什么样 ↓akira399/dsh-stall-guard
分享 · DeepSeek Harness Hub
akira399/dsh-stall-guard

监控任务卡顿并阶梯引导恢复,绝不终止

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部