akira399/dsh-stall-guard

akira399★ 3JavaScript最后同步: 2026-08-14

在 GitHub 打开

DeepSeek Harness watchdog plugin: detects truly stalled agent turns (never killing in-progress tasks — in-flight operations are exempt), nudges/terminates only on real silence, records every event to JSONL with a loopback status route

README 摘要

dsh-stall-guard DeepSeek Harness(DSH) 任务看门狗插件 :监控任务执行状态,判断是否真正卡死,并通过"排查→修复→换方向"的阶梯式引导帮助任务恢复—— 全程不终止任何任务 。 核心流程(监控 → 判断 → 继续 / 修复 / 换方向) 关键承诺:插件永不终止任务。 它只通过注入消息引导 Agent 自己排查、修复、换方向;没有 terminate 选项,也没有任何终止指令。 安装 安装后重启 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 级+:换方向指令 示例: 修改后 热生效 (无需重启)。 防误杀:什么才算"卡住" 任务情况 判定 行为 持续有事件(步骤/工具/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/…

在 GitHub 查看完整 README →
Agent/智能体automationdeepseek-harnessdsh-pluginreliabilitytimeoutwatchdogagent

分类