Skip to content
dsh.fish
Bundle

dsh-turn-watchdog

Turn watchdog for DSH: detects live sessions whose turn looks stuck (no turn/end within a threshold), injects a quiet warning into the prompt context and exposes a status tool. Zero runtime deps, no custom events.

Source
Equinox7379
License
MIT
Updated
Updated 3 days ago

Readme

# dsh-turn-watchdog

DeepSeek Harness 插件:定期扫描 live 会话,报告长时间未产生 `turn/end` 的疑似卡住会话。

## 用途

回合生成中途挂起(模型卡住、外部调用超时等)时,用户常处于空等状态。本插件每 60 秒扫描一次,将疑似卡住的会话注入提示词警示(供 AI 与用户参考),并提供查询工具。

## 用法

- 工具:`turn_watchdog_status`(参数 `refresh` 默认 true,立即重扫)
- 判定规则:最后事件不是 `turn/end` / `session/end-seed`,且空闲超过 `thresholdMinutes`(默认 10,可在 profile patch 的 config 里配置)
- 排除 subagent 会话

示例(问「哪些会话卡住了」):

```json
{ "thresholdMinutes": 10,
  "stuck": [ { "sessionId": "…", "cwd": "E:\\surdet", "lastEventType": "step/start", "idleMinutes": 12 } ] }
```

## 可靠性

- 只读:不改写会话事件、不打断回合、不重启服务;
- 警示文本为同步纯文本拼接(不含模板变量),空结果时不注入;
- 已知边界:合法长回合可能被列入,需结合 `lastEventType` 判断;
- 零依赖、无自定义会话事件、无 HTTP 路由。

## 安装

```sh
dsh plugin --profile web add link:/path/to/dsh-turn-watchdog
# 重启 dsh web
```

## License

MIT

Install

dsh plugin --profile web add github:Equinox7379/dsh-turn-watchdog

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source